正文
问:文章中提到的7个特性,它们本身就有优先级吗?还是说所谓的优先级是需要测试者衡量?
答:
文章中提到的7个特性,是特性的“分类”。为什么要进行分类呢,是因为探索式测试下还是有很多测试方法,每种方法都有些适用范围。我们把被测对象分类后,就可以根据分类,来为被测对象选择最合适的测试方法。所以并没有优先级这种说法。
例如,我现在想测试一个网页的收藏夹这个功能,我们首先可以分析,这个功能目前是一个噱头特性?一个销售特性?还是一个老特性?判断出来后,我们就可以根据分类来选择合适的测试方法来启发我们进行探索。有时候,被测对象可能会属于多个分类,这也没有关系,把这些分类里面的方法都过一遍来进行测试就可以了。
问:文章中讲述了测试特性以及测试方法,那么与传统手段相比,例如安全测试、性能测试、接口测试、单元测试、功能测试等,是划分为哪一类?测试方法和它们的关系是什么?是否在选择搜索测试这种方法后,传统的这些就去掉?
答:
我们一定要理解这样一个概念,就是探索式测试是一种测试思想。探索式测试并不是一种新的测试方法,和我们提到的那些功能测试、单元测试等不是对等的。我们可以以“传统的测试方式“来进行功能测试,也可以以”探索式测试“的方式来进行功能测试。这点非常重要。并不存在问题中提到的“传统的要去掉”的问题。
问:那么最后做的事情是不是一样的?比如说最后还是要做接口测试或者功能测试?
答:
我们该做什么事情,还是就做什么事情。比如测试分层,用例设计,接口测试,功能测试,性能测试等。只是做事情的方式、思路有所不同。
问:传统的测试方法其实就是常规的方法,对吗?
答:
不是的,其实没有常规测试方法和非常规方法之说。所有的传统测试方法,都适用于探索式测试。事实上,不管现在团队有没有提探索式测试,大多数测试者都已经做着探索式测试的事情了。
我举例来说明一下。让我们来想想现在我们熟悉的测试活动是怎么进行的。
例如,我们测试一个功能,通过沟通和分析,小张设计了10个用例,并通过了评审。然后测试经理说,小张你的任务就是在这个版本,把这些用例执行了。小张在执行测试用例时,很可能发现这些用例中,有几个是冗余的,并发现一些在用例设计时没有考虑到的测试点。这时,通常情况下,小张还是会把这10个用例执行完。当然小张此时可能会有些心理活动,例如心里觉得不爽,觉得自己干了很多无用功之类。然后在有时间的情况下,小张可能会再去测试一下,那几个在用例设计时没有考虑到的地方。没时间可能就算了,反正也没人知道。
在探索式测试下,小张可以不执行他认为冗余的用例,然后新添加那些他认为漏掉的更需要测试的内容。当然,小张甚至不用一来就设计10个用例,他完全可以设计他认为优先级最高的几个用例,然后再根据测试情况补充测试用例。
相信看到这里,大家已经可以理解探索式测试和传统测试的差别了吧:在探索式测试思想指导下,测试者需要根据上下文(即被测对象当前的状况)来展开测试,然后还要在测试过程中,根据探索的结果再来实时调整测试的内容。