软件测试中自动化测试工具介绍与比较

发表于:2011-01-12来源:作者:点击数: 标签:软件测试工作流硬件时间
软件测试 中自动化 测试工具 介绍与比较 自动化测试 是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了 测试用例 并通过评审之后,由 测试人员 根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节

软件测试中自动化测试工具介绍与比较

自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。在此过程中,为了节省人力、时间或硬件资源,提高测试效率,便引入了自动化测试的概念。

针对本文探讨的软件自动化测试项目,挑选工具的重要评判标准有如下几点:

  1.工具成熟性,复杂工作流软件白动化测试方法的研究第二章软件测试理论与技术基础成熟性指工具是否有着足够广泛的使用度,是否经历过足够的时间考验,是否经过足够实践的检验。

  由于WOA软件自动化测试项目并非一个短期的、试验性的项目,而是一个需要长期进行并推广的项目。因此,冷门或是新颖的工具并不合适此项目。此类工具的稳定性以及未来的发展性没有保障。对于长期的软件自动化测试项目,风险过大。

  2.资料全面性,由于在软件自动化测试项目的进行过程中,必然会遇到各类问题。若工具的资料不够全面,没有足够好的产品服务,没有强大的社区交互支持,那么,每次问题的解决过程都将变得非常艰苦,容易造成时间的大量浪费。项目进度难以评估,成本难以控制。

  3.工具对象识别能力,虽然自动化工具未必是基于Gu一 (Graphieuser,s一nterfaee,用户图形界面)进行的,但基于GUI进行的自动化测试有其明显的好处—能够更好的模拟真实的用户操作。不但可以测试到底层的问题,还能测到表层问题,如页面的巧错误等。

  因此,一个自动化测试工具的识别对象能力非常重要。一个优秀的自动化测试工具应当拥有良好的控件识别机制,并有快速准确的识别能力。自动化测试工具不但应该能够良好识别页面上的各种常见对象:如文字、超链接、图片、文本框、密码框、单选框、下拉框、页面弹出框等等。对于一些系统自定义控件,也应该支持自定义描述,提供对象映射功能等。由于对象在页面上的表现不同,并不是所有的工具和框架都能处理好各种情况,因此控件识别方面需要进行仔细的评估。

  4.脚本语言支持能力,不同的自动化工具使用的编程语言不尽相同,常见的有vBseriPt、Javaseript、Java、e#、Rubv等。

  对于脚本语合首先应考虑其功能是否可以满足需求,是否足够强大。Java、c#之类的高级语言功能上优势明显,vBscriPt、」avascriPt等脚本语言则需进行仔细评估。

  5.工具的集成开发环境,(Integratedoeve一oping〔nvironment,集成开发环境)对于脚本开发非常重要,一个良好的旧〔对于生产效率的提升是巨大的。旧〔应提供智能提示、自动完成、快速编译查错、方便而又强大的调试等基本功能。

  6.团队协作与版本控制,复杂工作流软件自动化测试方法的研究第二章软件测试理论与技术纂础在软件自动化测试过程中,需要团队协作。因此,一个良好的版本控制环境非常重要。能够使用迁出、迁入机制将自动化内容管理起来。保存每个迁入的版本,在需要回退的时候能够方便的找到历史版本并进行回退。这样能避免误操作带来的损失,才能让工作中的协作更为出色。

  7.执行控制与执行报告,自动化测试与功能测试一样,需要进行多次的“执行”,测试执行能力对于自动化测试工具而言非常重要。由于自动化测试的优势之一便是可以进行无人值守的“自动”执行。因此,工具提供的执行方式应当多种多样,不但需要能够方便的进行手动驱动,还需提供自动驱动,定时驱动等功能。此外,自动化工具还应一记录每次运行的详情,能够自动生成内容详细的,可以定制的测试报告。

  8.工具容错处理能力,自动化脚本运行中,会有多种不确定的因素的干扰,如常见的网络服务器稳定性问题等。工具应提供恢复机制,能够让测试人员对于意外情况进行自定义配置,关联特定的恢复清理脚本。测试用例的编写与自动化工具的选择都是决定软件自动化项目成败的重要环节,下一章将结合本文着重介绍的WOA项目,具体阐述该项目的需求、工具选择、设计与具体实现。

原文转自:http://www.ltesting.net