|
|
|
|
移动端

2.3.1 缺陷定位

《软件测试基础教程》第2章基于需求的测试生成,本章主要介绍从非形式化或形式化定义的软件需求生成测试集的技术。这些技术,有的可以自动地执行,而大部分则需测试人员付出艰辛的劳动,特别是在测试大型软件时。本章所介绍的大部分测试技术属于黑盒测试,因为生成测试集时不需参考被测软件的源代码。本节为大家介绍缺陷定位。

作者:王峰/郭长国/陈振华 等译来源:机械工业出版社|2011-09-17 21:23

技术沙龙 | 6月30日与多位专家探讨技术高速发展下如何应对运维新挑战!


2.3.1 缺陷定位

一个软件的全部输入的集合可以至少分为这样两个子集:其中一个包含所有正常和合法的输入,用E表示;另一个包含所有异常和非法的输入,用U表示。这两个集合,即E和U,又分别可进一步划分为若干子集,以便软件针对不同的子集,其运行结果不一样。等价类划分方法就是要从这两个集合或其子集中选择适当的输入作为测试用例,以便发现软件中存在的导致其运行异常的缺陷。图2-3是对一个软件所有输入进行划分的样例。

 
图2-3 输入集合被划分为两个区域:
其中一个包含所有正常和合法的输入,用E表示;
另一个包含所有异常和非法的输入,用U表示。
E和U又依据被测软件的期望运行结果进一步
划分为若干个子区域。从每个子区
域中选择一个输入作为测试用例,可
以发现导致软件运行异常的缺陷

举例说明,假设软件A以一个表示人员年龄的整数作为输入。假设年龄的合法值应该在[1,120]范围内,因此,输入集合可以被划分为正常输入集合E,其取值范围为[1,120];异常输入集合U,其取值范围为除[1,120]外的其余所有整数。

更进一步,假设该软件依据需求R1处理所有取值在[1,61]之间的输入,依据R2处理所有取值在[62,120]之间的输入。因此,根据软件的预期行为,可将集合E进一步划分为两个子集。同样,对于非法集合U,软件以一种方式处理所有小于1的输入,而以另一种方式处理所有大于120的输入,进而U也划分为两个子集。

这样,软件A就有了两个包含正常输入和两个包含异常输入的4个输入区域,等价类划分方法就是通过从这4个输入区域中选择测试用例,力图发现软件A的缺陷。可以认为,在区间[1,61]中任意选取一个输入作?馐杂美湍芄环⑾秩砑嗀中针对R1的缺陷。同样,在区间[62,120]中任意选取一个输入作?馐杂美材芄环⑾秩砑嗀中针对R2的缺陷。对于包含异常输入的那两个区间也是如此。

对软件A采用等价类划分方法生成的测试用例的效率,由测试发现缺陷与软件A中所有隐藏缺陷的比率来决定。正如软件测试中的任何测试设计技术一样,采用等价类划分选择出的测试用例的效率对大多数软件来说都小于1。当然,通过后续章节的内容可以知道,清晰完整的需求规范以及细致严谨的测试用例选择策略,将有效提高等价类划分方法的效率。

【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

网络渗透测试——保护网络安全的技术、工具和过程

网络和计算机安全问题已经成为政府、企业必须面对的现实问题。应对安全威胁的途径之一就是采用渗透测试的方法模拟黑客的攻击,找出网络和计...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊