软件测试,是一个容易被遗忘的过程。人们都看到了软件开发的美好,却忽视了软件测试的重要性。
软件测试目的:发现程序中的错误。
为了发现程序的错误,测试用例的制定也是非常重要的。只有尽可能用较少的测试用例,检测出程序的错误。
软件测试计划的制定:
之前学习软件工程的时候,白盒测试中的覆盖不太清楚。在复习软考的过程中,又重新看了一遍软工。终于明白各种覆盖,究竟是什么意思了。接下来请看详解。
对于软件的测试,是在软件开发的全部生命过程中。只是不同阶段,测试的重心和测试方法不同而已。
计划何时制定:
计划何时执行:
而测试计划的执行,正好与制定计划相反。
在详细阶段:编码的时候伴随着单元测试。
完成之后,进行集成测试。
确认完成,交工的时候,进行一次确认测试。(确认测试,即检测系统
是否与需求相匹配)
本节,主要讲解白盒测试逻辑覆盖标准。
白盒测试
用于单元测试。
白盒,就是要了解程序的内部结构进行的测试。相对黑盒来说,要求测试人员的水平较高。
首先看一下白盒逻辑覆盖标准:
1、语句覆盖
2、判定覆盖
3、条件覆盖
4、判定-条件覆盖
5、条件组合覆盖
6、路径覆盖
覆盖程度依次增强。
看到上面6类方法,是不是很头疼。
首先,对于以上概念,首先要区分一下,什么是条件,什么是判定。区分开这两种,上面的6种方法,也就迎刃而解了。
判定:
决定逻辑的分支
条件:
进行决定逻辑分支的一个子条件
还是看一个例子吧
例子中存在的判定:
1、T1:A>=80 and B>=80
2、T2:A+B>=140 and(A>=90 or B>=90)
例子中存在的条件
1、T11:A>=80
2、T12:B>=80
3、T21:A+B>=140
4、T22:A>=90
5、T23:B>=90
例子中的路径
三条:①②③
语句覆盖:
从头执行到尾。只需要一个测试用例就可以。
判定覆盖:
在测试用例中,被测试程序,每个判定的可能取值至少执行一次。
4个判定,只需要全部包含在测试用例中就可以了。
可以设置2个测试用例
例:
如上的可能的用例结果中。
可以实现判定覆盖的组合:
1、①②
2、③④
3、①②③
……
n、①②③④
只要满足,所有的判定,在用例中至少存在一次的。就是判定覆盖。
条件覆盖
在若干个测试用例中,运行被测程序,使得程序中每个判定的每个条件的可能取之至少执行一次。
如上10个条件,每个必须至少执行一次。
条件覆盖,与判定覆盖做法一致,只是判定的数目有变化。
只要所选取的测试用例中,每列中都存在两个判定,这样的测试用例组。就称之为条件覆盖。
判定条件覆盖:既是判定覆盖,又是条件覆盖。
条件组合覆盖:
判定的重点,在与T11与
T12 的组合。
对于以上例题,条件组合覆盖测试用例最少为:
路径覆盖
顾名思义,就是对于所有的分支至少经过一次。
通过流程图很容易看出来。三条路径,分别需要三条测试用例。
通过以上的例子,白盒测试,就是追求以较少的测试用例,来找出更多的错误。
总结
白盒测试标准。也就分三方面进行测试:判定、条件、路径。
白盒测试,比起黑盒测试来说,对测试人员的要求比较高。因为是要测试程序内部的结构。所以,制定合理的测试用例,也是一件很不容易的事情啊。测试的工作也同样很重要。有不正确的地方,望斧正。