开放性敏捷自动化测试架构介绍(3)

发表于:2014-12-16来源:uml.org.cn作者:benwu点击数: 标签:
BOSS是指为电信运营商提供的营帐支撑系统,因为移动电信的业务的特点是业务非常复杂,有成千上万的价格计划套餐,计费也比较复杂,后台的支持网元

  BOSS是指为电信运营商提供的营帐支撑系统,因为移动电信的业务的特点是业务非常复杂,有成千上万的价格计划套餐,计费也比较复杂,后台的支持网元有上百个,我们现在整套BOSS系统能支撑软交换,GSM,IPTV等等多业务,现在的BOSS相关网元已经超过300个,所以接口是非常多的,因为这种特点,所以接口协议和后台数据的测试就是主要方面

  UT ROBOT的主要成绩体现在我们通过ROBOT回归的部分网元,在现场实施之后几乎没有再报回归方面的遗漏问题。BUG下降了85%,因为有了这个数据说话,所以坚定了我们在这个架构上的信心

  UT Robot强调的是框架,也就是可以适用在多个应用,多业务的测试中,即使不是我们公司的产品也可以应用

  自动化测试需要考虑以下方面:

  1.CASE执行前的环境准备:这是为了保证批量测试的时候不影响其它CASE的执行

  2.CASE执行后的环境清理:这也是为了保证批量测试的时候不影响其它CASE的执行

  3.结果检查点:非常重要,这是测试准确性的根本

  4.参数的组合关系:只有可以自由组合CASE,才能覆盖各种场景

  5.核心思想:CASE的生成,执行,结果记录,以及回归要分离

  6.协议无关:具体完成协议发送的功能与框架想分离

  7.业务无关

  现在Robot已经应用到我们BOSS的部分网元的测试中,并且做到了与协议和业务无关,我们现在的效率是,一周之内就可以支持新的简单网元的自动化测试。

  举例:对于WebService的SOAP接口测试,通过CASE的生成,执行,结果记录,以及回归要分离,可以实现数据库基本的所有字段的测试。可以在短时间内完成40个接口,超过5000个CASE的生成,生成的CASE中包括:枚举值、边界值、异常值、各种自定义组合的CASE,这个测试效果非常好,不仅发现了大量的功能问题,同时也发现了大量的版本变更过程中回归业务的问题。因为ROBOT在实现功能测试的同时也要支持自动化回归测试,当然,这是要求测试人员按照规范来写的。

  因为采用的是模板定制测试数据的方式,测试人员不需要编写任何代码,只需要关注业务层面,即使webservice发生了变化,也只需要进行数据的变更就可以了,同时数据的版本管理可以很好的适应不同版本的变化情况。

  为了更好的说明,我把测试环境中的数据拿出来说明一下,下面是SOAPSERVER几个CASE的返回结果,如第1个 case,caseid=InsertAddress_2 从WEBSERVICE返回的值是1,可能有些人认为这个CASE就算PASS了,实际,这还远远不够,我们需要关注的是数据级别的变化,因此,我们需要另外的手段去记录所有数据库变化的情况,一个CASE,所涉及到的结果检查点就达到几十甚至上百个。

  说到这里,大家应该明白了,UT ROBOT的特点是将结果检查点与CASE的回归执行时相分离的,否则在一个CASE中同时包含了上百个结果检查点的检查,得写多少脚本才能完成,维护代价得多大?

  在这里,还得提到我们的数据库变化追踪技术(就是一次接口的请求带来的后台数据库的所有表所有字段的变化情况),这个技术保障了所有结果检查点的完整性。

  CASESET CASEID CASETYPE VERSIONID TYPE PARATYPE RESULT

  1 SAMSOAPSERVER InsertAddress_1.1_0_0 IMPORT 1 -1600

  2 SAMSOAPSERVER InsertAddress_2.1_0_0 IMPORT 1 1

  3 SAMSOAPSERVER InsertAddress_2.1_1_0 IMPORT 1 1

  4 SAMSOAPSERVER InsertAddress_1 IMPORT 1 1

  5 SAMSOAPSERVER InsertAddress_2 IMPORT 1 1 -1 -1555

  6 SAMSOAPSERVER UpdateAddress_1.1_0_0 IMPORT 1 1

  下面是对CASEID=InsertAccount_1的具体表的具体数据的结果,只有到了字段级别的检查才是有效的结果检查

  CASESET CASEID CASETYPE VERSIONID TABLE_NAME FIELD_NAME VALUETYPE UNITE_KEY_VAL LAST_VALUE LAST_VALUE2

  SAMSOAPSERVER InsertAccount_1 1 ACCOUNT CONTACTPERSON 2 ACCOUNTNUM=114 sdf

  SAMSOAPSERVER InsertAccount_1 1 ACCOUNT CANCELDATE 3 ACCOUNTNUM=114

  SAMSOAPSERVER InsertAccount_1 1 ACCOUNT BILLINGMONTH 2 ACCOUNTNUM=114

  SAMSOAPSERVER InsertAccount_1 1 ACCOUNT CREATEDATE 3 ACCOUNTNUM=114 2008-05-29 00:00:00

  SAMSOAPSERVER InsertAccount_1 1 ACCOUNT CREDITLIMIT 1 ACCOUNTNUM=114 30

  SAMSOAPSERVER InsertAccount_1 1 ACCOUNT CREDITEXPIREDATE 2 ACCOUNTNUM=114 2008-05-29

  SAMSOAPSERVER InsertAccount_1 1 ACCOUNT CREDITCARDNUMBER 2 ACCOUNTNUM=114 2323

  SAMSOAPSERVER InsertAccount_1 1 ACCOUNT ACCOUNTNAME 2 ACCOUNTNUM=114 UTStar_SST_Rain

原文转自:http://www.uml.org.cn/Test/2008090410.asp