- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
白盒测试的技术
白盒测试 吴鸿韬 cshongtaowu@ 白盒测试 白盒测试概念 白盒测试的发展 测试覆盖标准 逻辑驱动测试 基本路径测试 白盒测试概念 白盒测试也称结构测试或逻辑驱动测试,是一种测试用例设计方法,它从程序的控制结构导出测试用例。 白盒测试使用被测单元内部如何工作的信息,允许测试人员对程序内部逻辑结构及有关信息来设计和选择测试用例,对程序的逻辑路径进行测试。基于一个应用代码的内部逻辑知识,测试是基于覆盖全部代码、分支、路径、条件。 白盒测试的主要目的: 保证一个模块中的所有独立路径至少被执行一次; 对所有的逻辑值均需要测试真、假两个分支; 对程序进行边界检查(常见的如数据结构越界检查); 检查内部数据结构以确保其有效性。 白盒测试的发展 白盒测试的发展 “是否评估测试效果”指是否有覆盖率或其它评估测试效果的指标, “是否自动测试”指是否形式化描述测试操作并将它用于再次测试, “是否持续测试”指是否以按持续集成的模式开展测试, “是否调测一体”指是否将测试设计高效的融入产品编码与调试的日常实践之中。 白盒测试的发展 第1代白盒测试 在测试发展初期,测试工具很不成熟,人们通常以单步调试代替测试,或采用assert断言、print 语句等简单方式的组织测试体系,即我们所谓的第1代白盒测试,这一时期的测试是半手工的,没实现自动化,测试 效果也严重依赖测试者(或者调试者)的个人能力,缺少统一规范的评判标准。 白盒测试的发展 第1 代白盒测试方法存在严重缺陷,主要有:测试过程难以重用,成功经验无法拷贝,测试结果也难以评估并用于改进,这些对于团队运作是非常致命的 白盒测试的发展 第2代白盒测试,将测试操作改用一种形式化语言(通常称为测试脚本)来表述,脚本可以组合成用例,用例可组合成测试集,用例与测试集再统一到测试工程中管理,把测试脚本保存到文件,重用问题解决了。另外,代码覆盖率功能使测试结果可以评估,能直观的看到哪些代码或分支未被覆盖,然后有针对性的增加测试设计。 白盒测试的发展 目前市面上有大量商用工具,如RTRT、CodeTest、Visual Tester、C++ Tester 等都属于这第2代白盒测试工具。 白盒测试的发展 第2 代白盒测试解决了重复测试问题,但没解决持续测试问题。简单来说,重复测试使测试操作能以规范格式记录,当被测对象没变化(或变化很少)时,测试用例是可重用的,但如果源码大幅调整(甚至重构),或者按迭代模式不停追加新功能时,如何维持用例同步增长,并与源码一起同步更新,已经不是简单的增强用例复用能力就能解决的。因为代码更新与用例更新交织进行,测试用例与被测源码一样对等的成为日常工作对象,必然促使原有工作模式与测试方法产生变革,概括而言,白盒测试过程要从一次测试模式过渡到持续测试模式。 白盒测试的发展 某通信产品在V1版本编码完成时,进行过规范的单元测试活动,之后V2、V3要不断增加功能、修改功能,就放弃单元测试了,当V3最后市场交付时统计发现,相对V1版本,代码修改量已达到40%。QA 从其中两个模块随机抽取100 个问题单做缺陷分析,结果发现:第一个模块有50%的问题是在V1版本单元测试结束后引入的,而另一模块也有30%问题是单元测试后引入的。 白盒测试的发展 第3 代白盒测试工具以xUnit 为代表,包括JUnit、DUnit、CppUnit 等 区别第2 代方法与第3 代方法,主要是测试理念上差别 白盒测试的发展 第4 代白盒测试尝试解决软件测试的深层次矛盾:测试的投入产出比问题。 白盒测试的发展 研发资源总是有限的,你可以把测试人员与开发人员的比例配到1:1,也可以配到2:1,甚至5:1,但你做不到10:1、100:1, 如果你有钱,也有人,完全可以按100:1或更高比例配置,这时所有测试瓶颈都没了,你可以让测试人员边喝咖啡边干活,因为每新写1行代码总有人编出100行脚本测试它,还怕产品不稳定吗? 白盒测试的发展 第4 代白盒测试方法相对第3代方法,增加了将测试过程(包括测试设计、执行与改进)高效的融入开发全过程 4GWM在3个关键领域的9项关键特征 A. 第一关键域:在线测试 1、 在线测试驱动 2、 在线脚本桩 3、 在线测试用例设计、运行,及评估改进 4GWM在3个关键领域的9 项关键特征 B. 第二关键域:灰盒调测 4、 基于调用接口 5、 调试即测试 6、 集编码、调试、测试于一体 4GWM在3个关键领域的9项关键特征 C. 第三关键域:持续测试 7、 测试设计先行 8、 持续保障信心 9、 重构测试设计 参考资料 wayne chan,第4代白盒测试方法介绍—理论篇 /wayne_chan/ / 领测科技 VcSmithVcTester 白盒测试的发展 所
文档评论(0)