关闭

软件功能自动化测试之我见

发表于:2009-7-09 15:05

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

 作者:唐昌文    来源:e-works

  1、前言

  软件测试对软件质量的保证起着致关重要的作用。虽然国内软件企业越来越注重软件测试工作,但仍然存在这样一个不争的现实:除了部分大中型软件企业外,相当多的软件企业的软件测试工作还完全处于手工测试状态,甚至还没有稳定的测试团队。在这样的企业环境下,软件测试工作变成了一项枯燥繁重的"苦差事"。大型软件项目的新增业务需求和变更需求比较多,且各类业务比较复杂,如ERP、CRM、SCM等等。软件开发往往采取模块化设计和增量集成的方式,加上某些系统对流程和权限的控制比较严格,从而导致单据从受理到进入归档状态是一个非常漫长的过程。测试人员准备测试数据比较困难,经常需要花很多时间去创建一张单并执行到预定的状态。此外还有大量的变更问题需要验证,软件测试中的许多BUG还需要进行回归测试。这些工作都存在大量的重复性劳动,有必要引入和运用功能自动化测试方法。

  2、自动化测试的适用性

  自动化测试的切入时机以基本完成软件的程序界面开发、页面控件相对稳定为宜。如果项目还处在界面开发阶段,对页面的配置尚存在较多争议或处于频繁更改的状态时,不宜进行自动化测试。因为这样既达不到保证软件质量、提高测试效率的目标,反而浪费人力物力维护测试脚本。

  当界面稳定后,自动化测试即可开始。但最好在以下几种情况下引入自动化测试,以便达到真正的测试效果。

  * 测试时间相对长,且存在大量重复性、机械性手工测试的项目

  * 产品型软件,每发布一个新的版本或打补丁都需要对其他模块执行相同的测试

  * 项目型软件,需求变更频繁,每变更一次,需要对原有的无争议的功能做测试

  * 经常需要更换应用程序部署站点的软件,每更换一次需要对所有功能做验证测试

  * 测试时间相对长,且存在大量需要执行回归测试的软件项目

  * 系统界面稳定,需要对业务流程进行验证测试的软件

  * 采用增量开发持续集成的项目,需要对频繁更新的程序执行验证测试

  * 软件项目采用主流开发平台技术,且不存在物理交互的测试,如刷卡测试

  * 项目工期紧、测试周期短的项目不应采取自动化测试

  * 界面的美观、声音的体验和易用性的测试不应采取自动化测试

  3、自动化测试的工具集

  自动化测试的工具很多,按照用途可以划分为测试管理工具、功能自动化测试工具、性能自动化测试工具、单元测试工具、测试用例设计工具。按照收费方式,又可以分为商业测试工具、开源测试工具、免费测试工具。

  当前主流的自动化测试工具有Mercury Interactive Corporation、IBM Rational、Compuware Corporation、Segue Software等公司的系列产品。美科林公司的系列产品简介如下:

  4、自动化测试的方法集

  自动化测试的脚本开发有多种参考方法,简要介绍如下:

  从上表可见,关键字驱动脚本的维护成本最低,但编程技能、设计和管理的要求是最高的。在自动化测试时,应根据实际的测试需求和条件选取适当的脚本开发方法。一般都会综合好几种开发方法。

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

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号