利用测试环境和数据标准化提升软件测试和开发效率
作者:丁志义
摘要:本文是一次用测试环境和数据标准化来提高测试和开发效率的探索和实践总结,是从标准化的目的出发,进行标准环境和数据制定,再到数据培训和标准化执行的一套较完整过程。实践效果表明:测试环境标准化和标准数据的使用能提高测试人员编写用例、日常测试等工作效率;同时能增强开发人员主动性,提高单元测试质量,并能更快速处理缺陷。
关键词:软件测试 标准化 效率
一、 前言:
规范的测试流程和测试工作制度是我们顺利开展工作的基础,是测试员和开发人员甚至和需求人员共同遵守的法则,这个是工作制度的标准化。
而测试环境的标准搭配(如谁的机器IP地址是多少),和测试数据的标准化,会降低测试同开发人员信息交流成本。例如一个规范的基础档案命名,让所有的测试人员和开发人员都知道该档案的主要属性,这样在使用该数据和分析该档案在后续计算错误中就不需要再去查看该档案属性,开发登陆到谁的机器看到的数据都一样,不再需要信息的二次转换,对开发处理问题和日常沟通等都是很好的促进作用。
为此我们可在测试数据标准化上下工夫,制定一个数据标准和一套大家都使用的标准数据就如同标准件螺栓螺母一样,让数据具有互换性和易用性。通过使用标准数据来提高开发和测试工作效率。
二、 测试标准环境搭建和部署
在测试组内,将测试人员用机器IP地址设置为固定IP,并和计算机名称捆绑;将各机器数据库SA用户密码设置为对计算机名称(也可为其他规则,禁止为空);操作系统环境进行分工,这样在日常测试中可覆盖环境测试这一项目。这是测试环境的固化和标准化。例如我们测试组内常用测试机器环境如下:
机器名
| IP
| 操作系统
| 数据库
| SA密码
| ddzzyy
| 10.24.80.200
| W2003
| Sql2005
| ddzzyy
| njzgl
| 10.24.80.201
| W7
| 2005Express
| njzgl
| njzt
| 10.24.80.202
| VISTA
| 2005Express
| njzt
| sw
| 10.24.80.203
| W2003
| Sql2000S
| sw
| YXP
| 10.24.80.204
| XP
| 2000P
| YXP
|
三、 标准数据制定
由测试经理发起,全体测试人员和开发经理、开发代表、需求人员共同参与,制定易识别易理解的数据规则,做到一看到某个代号便知道它有哪些属性。并在U890上市盘基础上录入这些标准数据。
标准数据应比较全面避免简单。例如代号和名称不要相同;代号组合应包含全字符、全数字、字符和数字混合等、存货档案应包含主要和常用的属性物料如自制、采购、委外、检验、选配、LP、MPS、重复计划属性、单据表体应不少于两行等。
标准数据是围绕我们开发部门负责的制造业务和相关接口使用的数据为主,包括部分共用的平台基础数据,如部门、员工、厂商信息等,以及制造基本数据,如资源、工艺路线、物料清单、MPS、MRP计划资料等、也准备了生产订单等。总之包括了制造可以通过EAI功能导出/导入的数据和平台基础数据以及供应链部分数据。由1名测试人员完成录入,其他测试人员进行审查通过,并将U890系统中的上述数据通过EAI功能导出形成文件,便于其他测试和开发人员使用。导出的文件根据业务顺序+资料名命名,例如“01部门档案_2010.01.05_13.33.20.xml”这个文件名中“01”表示第一个要导入导出的资料,资料是“部门档案”,这样可以和EAI中的先后顺序对应,方便导入。同时将基础数据输出编辑为Excel文档,加入助记信息,以备核对和培训学习使用(数据略)。
标准数据和环境应随产品版本的变化和功能的变化不断调整。
四、 标准数据解释培训
任何标准都应经过有效培训解释,才能被正确理解和主动自觉地实施,因此培训非常必要。
通过培训让所有使用标准数据的人(包括所有开发人员和测试人员等)都熟知建立和使用标准数据目的、数据编排的规则、各数据意义,便于在后续开发和测试中熟练使用对应的数据。我们采取了集中上课讲解的培训方式,培训中通过助记释义和备注等,加深印象,加强理解。
五、 标准化执行,标准数据使用
导出的标准数据(包括xml文件和Excel文件)统一放置在服务器上共享,并设置为只读进行保护,专人管理。数据在同一软件产品版本下使用。
1,测试人员按照环境分工,准备好自己的环境,并做系统备份(ghost);再安装统一的产品版本U890上市盘,将标准数据通过EAI功能引入,并交叉检查核实数据一致性,再做系统备份(U890装在系统盘),完成测试组内各测试环境的标准化。在新的测试用例(例如U890V10.0的用例编写)中引用标准数据作为准备资料,在测试过程中直接使用标准数据做相应的业务资料,在填写缺陷中也可省去部分信息描述(例如只要告诉他哪个物料代号也许就足够了)。
2,开发人员根据培训,按照数据步骤可自行导入到各自的开发环境数据库中,当然也可直接连接测试人员环境使用数据(机器名密码什么的不都告诉你了?)。在代码开发阶段直接用真实数据调试,不再为大量的(不熟悉的)前置业务数据烦恼,也不再需要等待测试人员准备数据,也不在需要测试员喊1…2…3…再进行数据跟踪……;对于缺陷中描述的错误,直接用提到的资料自己做同样的操作去模拟,哇,原来错在这儿!
当然可以先准备一套标准帐套,其他人通过账套输出、输入操作来完成标准数据环境的准备。
六、 效果分析
测试用例编写中,直接引用标准数据,减少了数据准备工作,只需要补充不足部分即可,提高用例编写速度。测试中做业务单据时减少数据准备工作,测试缺陷的描述变的简单,填写缺陷更快了,提高了测试效率。
对开发人员而言,由于对业务不熟悉,在单元代码阶段经常使用虚拟数据调试,且调试程序跟踪问题经常需要测试人员及时配合为其做资料,对测试人员依赖很强,导致调试不到位,单元提交代码质量欠佳。过去我们部门12位开发人员准备的数据环境大概2套为开发公用,而通过引入标准化,增加到8套,另有几位开发直接连接测试人员数据环境调试,也就是说几乎每位开发人员都有自己独立的调试环境了。现在也不常能听到“你为我做点资料、你的IP是多少、SA密码是多少”之类的声音了,开发人员可自己做大部分业务操作了。通过走访调查开发人员对数据的使用情况得悉:标准数据引入容易,很好用,对测试人员依赖明显减弱。这样相互独立又统一的数据环境,没有互相干扰、没有等待、没有过多的信息转换、没有多余的沟通,开发效率能不高吗?相信提交的代码质量也一定会大幅度提升,而对发现的缺陷也会被快速消灭。
七、 结束语:
软件测试标准化是一项任重而道远的工作。标准测试数据和环境应作为软件测试标准化的一项基本要素,它将为软件自动化测试框架的搭建提供基础性保证。如果能将测试中更多的场景和使用数据标准化和固化,对企业开展自动化测试从而提高测试效率和质量一定大有益处。
------
|