软件测试不再黑盒--threadingtest带来第二代白盒覆盖率技术

软件测试不再黑盒--threadingtest带来第二代白盒覆盖率技术

ID:20675077

大小:805.70 KB

页数:9页

时间:2018-10-14

软件测试不再黑盒--threadingtest带来第二代白盒覆盖率技术_第1页
软件测试不再黑盒--threadingtest带来第二代白盒覆盖率技术_第2页
软件测试不再黑盒--threadingtest带来第二代白盒覆盖率技术_第3页
软件测试不再黑盒--threadingtest带来第二代白盒覆盖率技术_第4页
软件测试不再黑盒--threadingtest带来第二代白盒覆盖率技术_第5页
资源描述:

《软件测试不再黑盒--threadingtest带来第二代白盒覆盖率技术》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、软件测试不再黑盒—threadingtest带来第二代白盒覆盖率技术穿线测试对于测试界的一个重大创新在于,在白盒测试理论出现数十年以后,上海零一拼装信息技术有限公司结合在测试理论方面十余年的潜心研究,率先提出了第二代覆盖率技术,这绝对不是一个口号,而是ZOA真正对于白盒测试的理解以及对于标准第三方测试服务的深度理解经过数年的基础研究以及2年有余的研发而推出的达到商用标准的技术。现在先让我们温习下经典的测试理论:1、测试方法论黑盒功能测试法黑盒功能测试法,是把要测试的软件看成一个“黑盒子”,不管其内部结构如何以及以什么算法实现所要求提供的功能,而是按照需求的功

2、能化要求,设计相应的测试用例(包括测试的输入数据与条件设置和所预期的软件运行输出结果),通过软件运行后所给出的输出(包括字符形式的输出与图象输出)与所预期的结果进行人工或者自动化比较,来验证被测试软件是否能给出正确的结果,从而判断该软件是否满足需求,是否与该软件系统的规格说明书和用户手册相关部分一致。这一方法的优点为:(A)能最直观和直接地反映出所设计的软件是否满足需求;(B)即使没有任何测试工具支援,也能靠人工测试的方法完成;其不足之处是:(A)这种测试方法难以找出某些特殊类型的错误。例如:当对应于某组输入该被测软件并不提供任何输出信息时–可能只是改变了某

3、种工作状态,如果其中的源代码处理部分有错误,就比较难找出来;(B)无法确定哪些测试用例有效或者无效(所谓无效,并不是说单独使用某个测试用例时不能收到任何测试效果,而是在于它和前面已经使用过的测试用例一起使用时,毫无贡献,只是重复了前面的测试用例已经完成的测试);(C)具有无可避免的盲目性:当软件被修改后,由于不知道哪些测试用例能测试到被直接修改过的模块或者受修改过的模块影响的模块,于是只好将所有测试用例再从头运行一遍,而且是动态运行,非常费时费力。白盒结构测试法白盒结构测试法则与黑盒子功能测试方法相反:它不管所被测试的软件是否满足需求,是否实现了所设计的功能

4、,而只注重该软件内部的结构,以便设计足够多的测试用例,使得百分百或者尽可能多的程序组成要素能被测试到最少一次,从而尽可能地将其中的软件错误暴露出来。白盒子结构测试方法的优点:(A)能够找出许多用功能测试方法找不出来的软件错误;(B)可以在整个软件系统还未完成之前就分别对各个单元进行测试;(C)可以通过测试用例的有效性分析而实现测试用例的最小化,以便大大地缩短软件修改后的回复测试时间和费用;(D)可以同时进行内存泄漏分析;(E)可以同时进行分支执行频度分析;(F)可以同时进行软件复杂度分析;(G)可以同时进行数据和变量分析;(H)可以同时进行性能分析;(I)可

5、以同时进行动态运行错误定位与执行路径追溯等。白盒子结构测试方法的缺点:(1)必须通过专门的测试工具来进行,需要在用户的软件的拷贝上进行插桩(插入纪录点)记录各分支/条件是否被执行过或者执行过多少次的信息;(2)会使被测试的软件的运行速度减慢;(3)需要增加被测试软件运行时的资源开销等。关于软件质量的误区有不少软件开发组织和应用软件开发部门的管理者错误地认为,他们已经对他们所开发的软件做了充分的功能测试(又称"黑盒测试")了,认为"我们的软件质量没问题!"——但是,专家们分析了大量"经过充分的功能测试"的软件后发现,这些软件中还有大约一半的程序分支从未被执行过

6、!为什么会这样?原来,软件的功能描述相对来说非常容易、非常简单、也非常粗糙,无法详细到用软件内部的具体实现逻辑结构来说明;而要达到同样的功能,软件可以有许许多多等效的实现方法;特别是,软件功能的实现,与所使用的编写程序的语言、所运行的操作系统环境、所用到的数据库以及某些第三方的软件都有关系。事实上,一个软件中的许许多多程序分支跟该软件本身的功能并没有直接的联系,而是用来处理各种可能出现的运行情况的。例如,所开发的软件在运行中突然被终止时(系统断电或者用户打断)如何保护已经打开的文档;在系统资源用尽之前如何提出警告;在所要用到的某些文件被意外地删除了时如何应付

7、等等。这些程序分支在编写中同样存在着可能的错误,必须加于测试。而这通常都需要通过程序的结构测试(又称"白盒测试")来完成,而白盒结构测试是必须借助于软件测试工具才能进行的。ThreadingTest针对上诉的质量误区情况在测试过程中对于一组输入,既判断其输出(如果有)是否与预期值一致,又判断其执行路径是否与预期值一致。这样一来,即使测试输出结果与预期值一致,也可能有错误被找出来-如果所预期的执行路径与实际的执行路径不一致。例如,当测试一个计算器程序时,如果输入是2+2,测到的结果是4,也可能是个错误-如果它的执行路径与预期值不一致:其最终的结果可能是2×2的

8、路径的输出结果。由于TT可以测试有输入而无输出的场合

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。