这里所指的对VT100的测试,主要是指对银行柜员业务系统进行测试,目标是要尽可能多地测试银行业务分支,对一些比较重要的字段的数据覆盖(比如金额等),找出隐藏在系统中的缺陷,确保银行帐务的准确。
为了达到以上目标,我们主要引入了自动化测试,来代替传统业务人员的手工测试,本文主要针对银行终端功能测试-自动化,不涉及性能测试以及手工测试。
自动化测试的利弊
自动化测试优点,可维护性高,适应于大批量回归测试,有效减少测试总体成本,测试覆盖率以及测试效率较高,不易受人员以及环境等外部因素限制
不足之处,前期投入较大,不适合测试需求变化较大的系统,对自动化工程师自身要求较高。
1 银行终端简介
银行终端前置机,也是银行柜员业务系统GUI,提供银行柜员操作帐务,查询,日常管理等功能。
2 自动化环境构建
在对终端进行自动化之前,我们需要提供一些必要的环境。首先自然是一款自动化测试工具,目前使用我公司的Terminal AutoRunner(以下简称Tar)。再次是一个相对稳定的被测系统,这里所指的相对稳定的系统,主要是指系统的主要核心功能已经基本完成,并已经通过了单元测试以及集成测试,基本达到了进入自动化的标准。接下来,是一些比较的银行系统自动化工程师,测试从某种意义上说,对业务知识的了解比测试技术更加重要。还有一些硬件上的支持,比如测试环境好有2个以上,DBA的支持,可以实时备份还原测试环境,以及一些文档,例如需求说明书,开发概要设计,usecase等。
3 脚本生成及调试
一个自动化脚本相对于一个业务交易,比如对公开户,活期存款等。
我们知道,自动化测试投入大的是前期编写调试脚本,一个好框架能够使编写自动化脚本的效率大大提高,我们采用的一套测试脚本生成程序,以快的速度生成脚本,自动化工程师,只需要根据实际情况调试脚本,可以完成这个阶段的任务。
4 自动化测试场景设计
测试场景相当于一个业务流,是指实际业务中,经常串联在一起的交易,来完成某个业务或者管理工作,比如上级凭证调拨--凭证入库--凭证分配柜员--柜员领用。
测试用例设计也是目前测试过程中的一个难题,好的测试用例可以使得测试更容易发现缺陷。这部分的工作由我公司的TestCase Designer完成(以下简称Tcd)。Tcd通过业务流程visio图和脚本的结合,完成每一个测试场景,再对不同的数据进行约束设计,使得测试用例更加符合实际生产环境,后由Tcd自动生成测试用例,并导入我们公司另外一款测试管理工具TestCenter。
5 测试运行
对于自动化测试来说,完成了脚本以及设计之后,执行变得相当容易了。我们可以打开TestCenter,选择之前导入的测试集,运行即可。TestCenter可以在多台PC机上同步运行脚本,更加逼真的模拟实际生产环境。
6 结果分析
测试分析也是测试过程中重要的一步,TestCenter完成运行后,会自动生成测试报告,显示运行明细情况,对运行失败的测试用例进行截图,并分析出测试需求的覆盖率等数据,让用户更好的了解目前系统中所存在问题。