这个例子基本上保证了每条路径至少被执行了一次,代码中没有循环,只有三个if语句,它就是代码中的多路径源,共形成了6条路径,如表1所示。
表1 三个if语句形成的6条路径
条件 |
If |
If |
If |
结果 |
x>y x<y x< >z x<z y>z y<z |
x< >y |
x<y |
y< >z |
x<y x>z x<z x<z x<y<z x<y<z |
为了测试这些数据,必须组织6组数据,每组数据测一条路径。请看表2的测试套和期望结果。
表2 6组数据的测试套和期望结果
输入 |
第一步 |
第二步 |
第三步 |
期望结果 |
5,4,6 4,5,6 6,5,4 5,6,4 4,6,5 6,4,5 |
4,5,6 4,5,6 5,6,4 5,6,4 4,6,5 4,6,5 |
4,5,6 4,5,6 4,6,5 4,6,5 4,6,5 4,6,5 |
4,5,6 4,5,6 4,5,6 4,5,6 4,5,6 4,5,6 |
4,5,6 4,5,6 4,5,6 4,5,6 4,5,6 4,5,6 |
4、妥善保留全部测试用例
软件测试开发过程中,一定要做好测试用例的保存工作,这样在测试人员发生变动或者开展回归测试时会减少许多工作。我们在在程序改良或者Bug改正后需要重新测试时,就避免大量的枯燥乏味的重复工作,从而在提高测试效果的同时也相应的节省了软件开发成本。
5、测试用例设计的误区
在确定测试用例设计目标时,一些项目管理人员强调测试用例“越详细越好”。这种做法和观点最大的危害就是耗费了很多的测试用例设计时间和资源,可能等到测试用例设计、评审完成后,留给实际执行测试的时间所剩无几了。因为当前软件公司的项目团队在规划测试阶段,分配给测试的时间和人力资源是有限的,而软件项目的成功要坚持“质量、时间、成本”的最佳平衡,没有足够多的测试执行时间,就无法发现更多的软件缺陷,测试质量更无从谈起了。