《探索式软件测试》学习笔记(一)

缺陷预防

缺陷预防技术一般是从开发人员的角度来说的,包括编写更好的设计规范,实施代码审核制度(code review),运行代码静态分析工具(static analysis tool),运行单元测试(unit testing)。

 

缺陷检测

测试人员一般使用两种形式的动态测试:自动化测试和手工测试。

 

手工测试

如果想发现与应用程序业务逻辑相关的缺陷,手工测试是最理想的选择。

 

探索式测试

测试脚本可以规定的很细,也可以只含有一些粗线条的描述。当测试脚本比较笼统时,测试人员需要学习随机应变的本领,掌握面对各种选择时如何可以进行合理的判断,这些就是探索性测试所要阐述的问题之一。

使用探索性测试并不是说不写文档。测试结果、测试实例和测试文档都会在运行测试时创建。这和普通测试在测试计划里预先编写好截然不同。

探索式测试的缺点在于测试人员有可能在测试中没有重点,从而漫无目的地尝试各种情况来试图发现软件缺陷,这会浪费大量的时间。如果不充分准备,没有条理,缺乏方针就盲目测试,就会对某些功能重复测试多次,导致测试效率低下。这就要强调指导方法的重要性。探索式测试如果没有一个好的指导方法,就像游客新到一座城市,然后盲目彷徨想碰巧找到景点一样。但是有个导游就不同了,他可以帮你弄清自己的目的地到底是哪里(对于我们而言,就是软件本身要测什么)。从测试策略的角度来说,明确到底要测什么和怎么测试同等重要。

探索式测试有两种指导方法,一种称为局部探索式测试法,它辅助测试人员在测试过程中即时作出决定;另一种称为全局探索式测试法,它用于帮助测试人员设计整体测试计划和测试策略。如果把探索式测试的实质和使用脚本的手工测试合并起来,就会得到第三种探索式测试法——“混合探索式测试技术”。

使用正式脚本可以为探索式测试设立一个明确的框架范围,探索式测试则可以提高脚本测试的有效性,为脚本中的测试用例提供更多种多样的变化。

探索式测试有下面几个目标:

    (1)理解应用程序如何工作,它的接口看起来怎样,它实现了哪些功能;

    (2)强迫软件展示其全部能力;

    (3)找到缺陷。

 

局部探索式测试法

使用局部探索式测试法所做的决定基本上是针对局部小范围的。当测试人员面对一个网页、一个对话框或正在查看程序中某个类的一个方法时,往往需要一些很明确的建议指导他如何处理这些情况。由于这个决策过程比较短,影响范围比较小,所以测试人员在运行一个测试用例中会多达几十次的重复该过程。

如果测试人员看见一个空泛的通用出错信息,建议接着反复测试同一段函数,继续使用刚才引发异常的输入数据,或是稍微修改一下,看看会不会导致出错。尝试运行其他一些要调用该函数的测试用例,看看会发生什么情况。接连不断的引发异常很可能会让程序彻底失效。

 

全局探索式测试法

对测试而言,不仅仅是必须对所有这些细节作出正确的抉择,还有更多的东西。在所有的细节问题都解决之后,有可能会发现我们还缺乏一个综合的测试集。该测试集用来确定软件是否已经满足正式发布所需达到的质量标准。在同一时刻,完整运行这个综合的集中测试的所有测试所带来的价值,比单独运行它们大得多。因为各个测试用例之间是相互有联系的,每个测试用例都是测试集的一个有机组成部分。

 

 

 

 

你可能感兴趣的:(学习笔记)