其三是软件自动化测试切入方式的风险。正如前面所言,一定要记住将自动化测试与手工测试结合起来使用,不合理的规划会造成工作事倍功半。首先,对于自动化测试率的目标是 10/90 (10% 的自动化测试和 90% 的手工测试)。当这些目标都实现了,可以将自动化测试的使用率提高。对于何种测试情况下引入自动化测试,何时依然采用手工测试,我们分开阐述。
一般这样的测试条件下使用自动化测试:
· 项目没有严格的时间压力
· 具有良好定义的测试策略和测试计划(知道要测试什么 ,知道什么时候测试 )
· 对于自动化测试你拥有一个能够被识别的测试框架和候选者
· 能够确保多个测试运行的构建策略
· 多平台环境需要被测试
· 拥有运行测试的硬件
· 拥有关注在自动化过程上的资源
· 被测试系统是可自动化测试的
如下条件是宜采用手工测试:
· 没有标准的测试过程
· 没有一个测试什么、什么时候测试的清晰的蓝图
· 在一个项目中,你是一个新人,并且还不是完全的理解方案的功能性和或者设计
· 你或者整个项目在时间的压力下
· 在团队中没有资源或者具有自动化测试技能的人· 没有硬件
其四是企业软件的开发语言风险。当前业界流行的测试工具有几十种,相同功能的测试工具所支持的环境和语言各不相同,这里笔者总结了当前国际上流行的几个软件测试工具生产厂商及一些主要IDE产品,读者可根据参考网址去了解列举工具和更多工具的详细资料。
生产厂商 | 工具名称 | 测试功能简述 | 网址链接 |
Mercury |
Winruner |
http://www.Mercury.com/ | |
Loadrunner |
|||
QuickTest Pro |
功能测试 | ||
Astra LoadTest |
性能测试 | ||
IBM Rational |
Rational root |
功能测试和性能测试 |
http://www.900.ibm.com |
Rational XDE tester |
功能测试 | ||
Rational testmanager |
测试管理 | ||
Rational purifyplus |
|||
Compuware |
功能测试 |
http://www.compuware.com/products | |
QALoad | 性能测试 | ||
QADirector | 测试管理 | ||
DevPartner Studio Professional |
白盒测试 | ||
Seque software | Silk Test | 功能测试 | http://www.Seque.com/products/index.asp |
Silk | 性能测试 | ||
SilkCentral Test /Issue Manager |
测试管理 | ||
Empirix | e-Tester | 功能测试 | http://www.Empirix.com/Empirix/ /Web+Test+Monitoring/Testing+Solutions/ Integrated+Web+Testing.html |
e-Load | 性能测试 | ||
e-Monitor | 测试管理 | ||
parasoft | Jtest | Java白盒测试 | http://www.parasoft.com/jsp/ products.jsp?itemID=12 |
C++test | C/C++白盒测试 | ||
.NETtest | .NET白盒测试 | ||
RadView | WebLOAD | 性能测试 | http://www.radview.com/products |
WebFT | 性能测试 | ||
MicroSoft | Web Application Stress Tool |
性能测试 | http://www.microsoft.com/technet/archive/ itsolutions/downloads/webtutor.mspx |
Quest Software | benchmark Factory | 性能测试 | http://www.quest.com/benchmark_factory |
Minq Software | Pure | 功能测试 | http://www.minq.com/products/ |
Pure | 性能测试 | ||
Pure | 测试监控 | ||
Seapine Software | QA Wizard | 功能测试工具 | http://www.seapine.com/products |
TestTrack Pro | 缺陷管理工具 |
(点击查看表格图片-test tool summary.jpg)
其五还要做时间估算。在评估完前面几项指标后,需要估算实施测试自动化的时间周期,以防止浪费不必要的时间,减少在人员、资金、资源投入上的无端消耗。虽然到测试自动化步入正轨以后,会起到事半功倍的效果,但前期的投入巨大,要全面考虑各种因素,明确实施计划并按计划严格执行,才能最大限度降低风险。
其六是工作流程变更风险。测试团队乃至整个开发组织实施测试自动化,或多或少会因为适应测试工具的工作流程,带来团队的测试流程、开发流程的相应变更,而且,如果变更不善,会引起团队成员的诸多抱怨情绪;所以应该尽量减少这种变更,并克服变更中可能存在的困难。
其七是人员培训与变更风险。简单而言,就是测试团队人员的培训具有风险性,例如每个角色的定位是否准确,各角色人员对培训技能的掌握程度是否满意,尤其实施途中如果发生人员变更等风险,都要事先做出预测和相应的处理方案。
一个企业或软件团队实施测试自动化,会有来自方方面面的压力和风险,但是凭借团队成员的聪明才智和公司高层的大力支持,事先做好评估,做好风险预测,那么可以告诉你一个激动人心的消息:你的团队成功引入了测试自动化!有了测试自动化,我们即可享受它带来的超凡价值和无穷魅力:我们的测试工作变得更简单、更有效,我们工作在一个专家级的团队里,因此我们每天都在享受这种成功的喜悦!
关于本文:本文主要分析当前国内软件企业的测试团队现状,并从管理角度分析测试团队实施软件测试自动化时所应考虑的问题,并从几个角度分析实施的风险,最终才可以成功引入自动化测试。在后续文章里,会结合实例讲述如何具体实施测试工作的自动化。感谢我的好朋友pcl 和王威的大力支持,并在百忙中无怨无悔的为文章批点、建议;作者本人才疏学浅,文中难免有欠深刻、全面的地方,望大家批评指正,也希望同行朋友们多多补充、交流。
文章来源于领测软件测试网 https://www.ltesting.net/