随着软件项目的复杂化,软件测试工作量不断增加,项目周期却大大缩减,那么如何在有限的时间内发现更多的缺陷,提高软件质量,成为迫切需要解决的问题。对某些项目而言测试自动化无疑是一种有效的途径,“工欲善其事必先利其器”,如何去选择适合的测试工具,是一个需要多方考量的结果。本文章将以QTP为例,探讨自动化工具如何评估。
首先,探讨一下,哪些项目适合自动化,哪些不适合。
1、适合自动化的项目类型:
1)产品型项目。产品型项目,一旦项目初步成型,只需要进行少量改进,但每个项目又必须反复测试那些没有变动的功能。这部分测试可以使用自动化实现,新的功能也能逐步实现自动化;
2)持续集成项目。持续集成项目对于旧功能同样需要测试,理由与上一点相同;
3)回归测试。自动化测试的强项就是回归测试,某种程度上将自动化工具就是回归测试工具。使用自动化工具能够快速的验证问题是否解决,有没有引入新的缺陷;
4)重复性、机械性动作;
5)需要频繁运行。据统计,一个自动化测试脚本被执行8次以上才能收回成本。
2、不适合自动化测试的类型:
1)定制性项目(一次性)。为客户定制的,产品维护也由客户负责,甚至采用的开发语言、运行环境也是客户要求的,即公司在这方面的测试积累很少,这样的项目不适合采用自动化;
2)项目周期短。自动化测试是要花费很多人力、物力去实现的,若自动化刚实现,项目就结束了,那自动化就没有意义了;
3)业务复杂的项目。有很多的逻辑关系、运算关系,工具很难测试;
4)易用性测试。感官方面的东西:美观、声音、花屏、卡屏、易用性等,只能手工测试;
5)测试运行次数少;
6)项目不稳定。软件不稳定会直接导致自动化失败,只有当界面没有严重错误、中断错误才能开始自动化(如网页错误,页面不能操作;界面卡死);
7)物理交互项目。自动化工具很难完成与物理设备交互的操作,如刷卡等。
其次,简单介绍一下QTP。
QTP简介
Mercury QuickTest企业级自动化测试工具!
目前已经被惠普收购,正式名字为HP QuickTest Professional software,最新的版本为HP QuickTest Professional 11.5。
通过QTP可以测试标准的Windows应用程序、Web对象、ActiveX空间和Visual Basic应用程序,还可以获得其他的加载项以便测试许多特殊环境(例如Java、Oracle、SAP解决方案、.NET以及Web Forms、Siebel等)。
QTP采用关键字驱动的理念简化测试用例的创建和维护。它让用户可以直接录制屏幕上的操作流程,自动生成功能测试或者回归测试用例。专家级测试人员也可以通过提供的内置脚本和调试环境完全控制测试和对象属性。