自动化测试的神话和现实(一)
作者:网络转载 发布时间:[ 2013/11/19 11:24:15 ] 推荐标签:
自动化测试能增强软件测试的规范化和标准化,如果实施方法得当,它可以:
减少浪费在重复性手工测试工作上的时间
创建优良可靠的测试过程,减少人为错误
增强测试的覆盖率以及产品质量
但是,测试自动化不能:
完全代替手工测试
立即降低测试投入,提高测试效率
保证100%的测试覆盖率
补偿劣质的测试过程
要对自动化测试形成正确的认识,切不可好高骛远,脱离实际的以为企业实施了测试自动化,可以克服从前的一切问题。实际上,软件测试自动化在企业内部的推广,也是一个与时俱进的持续性过程。
自动化测试工具
自动化测试定义为通过测试自动化工具开发和执行测试脚本,以评估软件的需求。测试工具分为两类:
找错工具(fault-finding):根据既定的测试标准寻找被测程序中的缺陷,包括静态分析工具(一些白盒测试工具例如PerformanceRunner的jtest含有该功能)、动态测试工具(市面众多的测试工具robot、autorunner、qarun等)
测试支持工具:测试管理工具(如testcenter,testdirecter等)、其他支持工具(如clearquest、clearcase等)
自动化测试成功的关键要素
企业购买了自动化测试工具,下一步是要在公司内部推广自动化测试。那么,自动化工具能够给企业的测试流程带来多少变更呢?如何在测试工作中使用自动化测试工具呢?RUP提出这样的自动化测试关键要素:
自动化测试必须看成一个软件开发项目,因为测试脚本是代码,而测试代码是自动化测试的根本;有效的开发并维护良好的测试脚本,是自动化测试的重中之重。
自动化测试同样需要经历计划、设计、开发、维护、版本控制过程,具体而言,包括四个关键过程:
清晰的定义和可持续的实现过程
获得企业组织管理上的支持
审思成熟的项目计划
稳定的结构设计
以下逐一讲解每个关键过程。
定义测试过程
一)定义测试过程的重要性
所谓过程,是为了构建某目标而设计的一系列分步执行的动作;软件工程里,目标是构建软件系统或增强现有软件系统;软件测试里,目标是高效的测试软件程序,发现软件缺陷并确认软件需求。
一个定义良好并严格根据其实施的测试过程,是自动化测试成功的关键。所谓凡事预则立,不预则废,在一个随机或非系统性的测试环境里,很难实施测试自动化;缺乏稳定的测试过程,拿起工具开始录制脚本等,这样的方式是愚蠢的,所做的投入也必将导致失败。
二)RUP简介
RUP(RationalUnifiedProcess)是IBMRationalsoftware提出的软件工程实施过程,在业界经历了数千个软件项目的实践,是当前为成功的软件工程方法论之一!RUP是一种迭代的、以架构为中心的、用例驱动的软件开发方法;RUP是一种具有明确定义和结构的软件工程过程,它明确规定了人员的职责、如何完成各项工作以及何时完成各项工作,以及软件开发生命周期的结构,定义了主要里程碑和决策的关系;RUP也是一个过程产品,提供了可定制的软件工程的过程框架,支持过程定制、过程创作和多种类型的开发过程,可通过装配过程产品得到过程配置。RUP配置可以用于不同规模的开发团队和规范程度不同的开发方法,RUP产品包含过程配置和过程视图,以指导项目经理、开发人员、测试人员等角协作开发软件。
RUP的核心包含几个基本原理,它们支持应用迭代方法进行软件开发:
尽早并且不断的化解重大风险
确保满足客户的需求
把注意力集中放到可执行的软件上
尽早在项目中适应变化
在早期确定一个可执行架构
使用构件构造软件系统
建立高效团结的开发团队
始终重视质量
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11