京东零售测试之白盒测试实践

2015-10-19   出处: 京东零售测试  作/译者: 京东零售测试


白盒测试之应用

京东零售测试采购平台测试组开展白盒测试工作已将近一年,测试了多个销量预测项目,因销量预测系统主要是针对预测模型的测试,黑盒测试无法覆盖,引入白盒测试,语句覆盖率和分支覆盖率均达到90%以上,得到研发同事的认可及好评。下面就如何开始白盒测试进行了总结,希望能够和大家共同探讨并学习。


什么是白盒测试? 

白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试,其测试对象是软件源代码。 


白盒测试是一种测试设计方法,是相对“黑盒”而言,黑盒意思是将被测软件当做完全不知内部结构内容情况的整体对待,白盒指的是被测软件内部逻辑结构、数据结构完全可知,可将被测软件拆解为更细粒度的软件代码对象。"白盒"测试设计方法可全面了解程序内部逻辑结构、对所有逻辑路径进行测试。在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。


白盒测试原理? 

检查软件代码的语句、分支、数据、接口、架构的各种实现细节,将软件代码具体实现对照所应完成的功能、性能等指标进行验证,查找软件代码实现的缺陷。


白盒测试方法? 

白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、路径覆盖和程序变异。


设计测试用例的思路主要分为逻辑覆盖和数据域覆盖。其中逻辑覆盖包括语句覆盖、分支覆盖、条件覆盖、MC/DC 覆盖和路径覆盖。五种覆盖要求呈由弱到强的变化:

1.语句覆盖每条语句至少执行一次。 
2.分支覆盖每个分支至少执行一次。 
3.条件覆盖每个判断条件应取到各种可能的值。 
4.MCDC 覆盖每个判断条件需独立影响分支结果至少一次。 

5.路径覆盖使程序中每一条可能的路径至少执行一次。


如何开始白盒测试?

1、了解需求——可以先把软件的用户需求说明书,概要设计说明书,详细设计说明书等相关的文档拿过来,先好好的看懂,明白系统要实现什么样的逻辑功能,了解掌握程序实现的组织结构及细节;

2、测试用例设计——可以选择一种覆盖类型为线索来设计测试用例; 
3、测试数据准备——了解测试用例要用到哪些输入数据,输出要求是什么; 
4、编写测试代码——将测试用例转换成可执行的代码; 

5、测试用例执行——针对java 语言的白盒测试,可以用白盒测试工具如junit执行测试;

6、测试结果分析——如果执行测试用例的过程中遇到实际结果和预期结果不符合,则需要深入分析测试结果,找到并解决错误; 

7、回归测试——针对已经修复bug 后的源码,进行整体的回归测试;

8、发布测试报告。


声明:本文为本站编辑转载,文章版权归原作者所有。文章内容为作者个人观点,本站只提供转载参考(依行业惯例严格标明出处和作译者),目的在于传递更多专业信息,普惠测试相关从业者,开源分享,推动行业交流和进步。 如涉及作品内容、版权和其它问题,请原作者及时与本站联系(QQ:1017718740),我们将第一时间进行处理。本站拥有对此声明的最终解释权!欢迎大家通过新浪微博(@测试窝)或微信公众号(测试窝)关注我们,与我们的编辑和其他窝友交流。
313° /3135 人阅读/0 条评论 发表评论

登录 后发表评论