构建SilkTest脚本无人守值解决方案

发表于:2010-10-26 11:48

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

 作者:蓝天伟    来源:51Testing软件测试网原创

摘要:在我们的自动化测试项目中,经常遇到的一个困扰是脚本通过率无法令人满意,本文将以SilkTest为例讲解如何构造高质量的自动化测试方案。

关键词:SilkTest,无人守值,自动化测试

  问题的提出:

  曾经在做一个SilkTest(以下简称ST)项目过程中,遇到这样的问题:由于产品和ST开启Extension后偶尔会起冲突,导致产品不可预期的Crash(手工无法重现),从而导致ST就在那Hang住了,从而导致后续的脚本无法得到运行,这里出现第一个问题:如何保证脚本可持续运行?而当我们解决了单次脚本可持续运行的问题,同时又出现了另一个问题,因为产品和ST的冲突导致产品偶然性的Crash,而当我们再次运行时,又会发现脚本又是可以通过的。那么当脚本运行完后,我们得到的结果其实并不能真正反应产品的Defect情况,而且跑完脚本后,我们还需要再次运行那些Fail掉的脚本,而且往往很多是非Defect造成的,可能源于脚本的不稳定(对于这个问题,我建议大家还是最大程度增强脚本的稳定性),工具的不稳定,网络的不稳定等等原因引起,这些问题导致我们需要花非常多的时间去手动的运行或检查这些Fail掉的Case,出现的第二个问题是:如果保证我们得到最最接近产品真实Defect的测试结果?我相信这个问题也同样出现在其他的自动化工具中。

  解决方案

  一、解决思路

  对于以上问题,我们引入无人值守解决方案,对于无人守值,我们的定义是:自动处理脚本运行过程中遇到的错误和异常;消除非产品问题导致脚本失败的用例(即提高脚本的通过率)。对于第一个解决办法是自动处理错误和异常,一般的做法是a. 尽量减少用例之间的关联;b. 对用例脚本在运行前进行清理,而对运行后进行恢复 c. 少数情况下可以编写小型的监控工具来处理一些非预期窗口的弹出(该方法在以往的项目中被证实是非常高效的)。对于第二个提高脚本的通过率,我们的解决办法是利用RE-RUN机制,这也是本文介绍的重点。

  二、Re-Run机制流程图

  三、Re-Run机制核心代码

  该代码主要包括2部分:在执行用例前检查是否运行当前用例CheckIfRun和在执行完用例后更新当前用例的状态到状态表UpdateTCStatus,如下图:

  ……………………

  查看全文请点击下载:http://www.51testing.com/html/07/n-221707.html

  五、其他扩展

  为了更好地利用该解决方案,我们开发了一ST的管理工具—Multi Auto Test Manager,如下图:

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号