探索式测试:测试自动化

发表于:2011-2-24 11:24

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Liang Shi    来源:51Testing软件测试网采编

分享:

  分析他们的描述,可知探索式测试自动化的要点。

  1、探索式测试自动化强调计算机辅助(computer-assisted),而不是自动化测试(automated testing)。它的目标是人尽其才(自由发挥测试者的智能),物尽其用(充分利用计算机的性能)。

  2、探索式测试自动化的一个重要目标是学习。我在“探索式测试:探索是为了学习”中提到,软件测试是一个持续学习并实践的过程,而探索式测试支持更有效的学习和实践。测试自动化也应该坚持这一方向。

  3、学习的目的是获得新知。测试专家Rex Black 在《Pragmatic Software Testing》提到了一条测试设计原则,很有启发性:“你应该设计测试用例以便你能从每个测试用例中学习到一些你还不知道的东西。当你从测试中学到了什么时,你应该感到高兴”。

  下图是一个探索式测试自动化的实例。它是我开发的测试工具,以图形化的方式来展示指定时间段中所有任务(Job)的耗时:横轴是时间轴,每一个矩形对应一个任务,矩形越宽说明任务耗时越长,相同颜色的矩形对应同一种任务。

  通过该工具,我可以立即理解被测试系统在产品环境或测试环境的工作负载。在特定时间窗口中,执行了哪些任务,哪些任务耗时最长,哪些任务数目最多,哪类任务在并发执行,哪类任务在串行执行,哪些时段系统繁忙,哪些时段系统空闲——这些信息界皆一目了然。虽然该工具不执行任何测试,但是它可以帮助我分析被测试系统,发掘可能的性能风险,为测试策略选择提供信息。

  著名的Web调试工具Fiddler也体现了探索式测试自动化的思想。其作者Eric Lawrence在IEBlog上描述了它的诞生:

  在我加入Internet Explorer团队之前,我工作于Microsoft Office Online网站。当处理大规模流量时,我们面临一些性能挑战,它们迫使我深入挖掘HTTP性能的深入细节。我的努力最终产生两个成果:Microsoft Fiddler和网络性能优化的最佳实践的文档。

  Before I joined the Internet Explorer team, I worked on the Microsoft Office Online website. Handling massive amounts of traffic, we faced some performance challenges that forced me to dig into the guts of HTTP performance. The output of that effort was twofold: Microsoft Fiddler, and documentation of some best practices for web performance optimization.

  可见Fiddler的原始需求是性能测试的结果分析和问题调试。为了更好地理解系统(包括服务器、客户端、网络、HTTP协议),更快速地定位问题,Eric用Fiddler捕获网络通讯的细节,并以友好的方式显示。当工具完成了枯燥、琐碎、繁杂、海量的任务,开发者能够利用他们的头脑去解决来自现实世界的难题。

  在结束本文之前,我想再回顾一下我的观点。

  1、情景(context)是非常重要的。要依据当前情景,选择合适的测试任务。要根据测试任务,思考合适的测试自动化方法。

  2、测试自动化不但包括自动执行测试用例,还包括计算机辅助的测试分析、手工测试、错误调试等活动。

  3、学习是软件测试的核心活动之一。测试自动化应该更好地支持测试学习。

相关链接:

什么是探索式测试?

探索式测试:探索是为了学习

22/2<12
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号