自动化测试案例是自动化测试工作积累的最重要资产,其生成和维护往往消耗IT企业较多的人力和物力成本。当企业的自动化测试案例数量比较庞大时,长期保持案例的活性使其不失效成为各大IT企业测试团队的迫切需求。
本文详细介绍一种保持自动化测试案例活性的方法,依托农业银行自主研发的“手自一体”的自动化测试平台--擎云平台,采取多项应对技术和措施,形成了“保鲜执行、案例打分”的管理流程,并在擎云平台上获得了最佳实践。
一、保鲜执行
由于批量执行自动化测试案例是一个很繁杂且机械的体力活,可以交由自动化测试平台的执行机每天在空闲的时间段根据事先定义的执行策略自动执行,实现由“自动化”执行自动化测试案例代替人工执行自动化测试案例。
(1)为测试案例打标签
用户在自动化测试平台上积累并建设自动化测试案例,并将其认为质量较高的案例进行入库操作。自动化测试平台提供为案例打标签的功能,用户可根据案例的重要程度将案例分别标记为生死案例、核心案例,其中生死案例是检验一个系统能否正常运行的最重要的案例。其余未进行标记的案例为普通案例。以平台内的界面案例为例,将界面案例标记为生死案例后的,可在界面案例管理视图里统一筛选查看。
图 1 界面案例管理
同样,用户也可将自动化案例标记为核心案例,为案例打标签实现了按照重要程度对自动化测试案例进行分类。
(2)定义执行策略
在早期的自动化测试平台建设过程中,自动化测试案例总数只有数千条,自动化测试平台平台具备相对较强的执行能力,可在每天晚上9点至次日早上7点的空闲时间段内,自动运行系统内已入库的全量案例。随着平台内的自动化测试案例呈指数型增长,目前已积累数万条自动化测试案例,每日保鲜执行全量案例已经超越现有执行机的能力,此时对执行策略做了适应型的调整:
1、每天晚上9点至次日早上7点,自动运行全量的生死案例和核心案例。
2、每周五晚上9点至次周一早上7点,自动运行全量入库案例。
自动化测试平台中案例的执行,分如下几种类型,且事先定义了各类执行的优先级:
表 1 自动化测试平台平台中的案例执行方式及优先级
由表可见,保鲜执行只占用自动化测试平台平台执行机的空闲时间段,实现了与手工发起执行、TFS调起执行的分时复用,使执行机资源得到有效利用。
另外,自动化测试平台的保鲜执行策略可根据平台内自动化测试案例的数量和执行机的资源数量灵活调整,保证即能在一个周期内覆盖平台内全量入库案例的执行,又能实现执行机资源利用的最大化。保鲜执行的流程图如下:
图 2 保鲜执行流程图
(3)邮件提醒
最后,自动化测试平台将案例保鲜执行的结果以邮件的方式发送给用户,邮件内容截图如下:
图 3 保鲜执行邮件内容截图(部分内容已做模糊处理)
用户通过点击图中的链接即可一键跳转至测试结果查看页面,如下图,用户查看各案例的执行结果,根据结果对执行失败的案例进行原因排查,在较短的时间内,就可实现自动化测试案例的及时维护。
图 4 案例执行结果查看页面(部分内容已做模糊处理)
二、案例打分
由于自动化测试平台可以每周将全量已入库案例保鲜执行一次,所以设置每周为一个计分周期,时间范围为:每周周一0:00-周日23:59:59。考察每个计分周期内每条入库状态案例的执行情况,按如下规则进行案例打分,并评定星级:
(1)基本规则
所有评级范围内的案例,初始分值为0分。案例分值最低0分,最高100分。
(2)评级周期
自评级启动日期起,每周对所有案例执行1次核算。
(3)核算规则
当次核算周期内,符合自动化测试案例基本要求(接口级:至少包含1支交易;界面级:检查点数≥1且对象数≥5且组合步骤数≥1)的案例纳入核算范围,否则不纳入核算范围;当次核算周期内,纳入核算范围的案例执行成功次数≥1的,加10分,执行成功次数=0的,扣10分。
表 2 自动化测试平台案例打分规则
注:表中的“交易、检查点、对象、组合步骤”等属于自动化测试平台中接口或者界面自动化测试案例组成的关键要素。
为了鼓励用户设计高质量的自动化测试案例,自动化测试平台设计了额外的加分项。当次核算周期内,由一条自动化测试案例发现的缺陷已被开发人员接受,且与自动化测试平台完成关联的,该案例的得分额外加100分。(一条缺陷计分一次,不重复计算;此加分项可累计,且无视100分分值上限。)
至此,每条自动化测试案例的积分规则如下:
计算公式:案例分值=∑每周核算得分=∑(是否纳入核算范围)*(是否执行成功)+案例缺陷额外加分。
(4)评级结果
按照案例分值,将案例评级结果分为五个区间:0≤案例分值<20分,案例评级结果为1星;20≤案例分值<40分,案例评级结果为2星;40≤案例分值<60分,案例评级结果为3星;60≤案例分值<80分,案例评级结果为4星;案例分值≥80分,案例评级结果为5星。下图展示自评级启动日期以来,案例星级状况:
图 5 案例星级查看页面
例如,一条100分五星案例代表此案例的活性极高,可以用于大规模的回归测试。通过查看每条案例的得分,用户可直观看出自己积累的自动化测试资产质量高低。通过对每条案例进行打分,自动化测试平台可以激励用户及时维护自动化测试案例。
(5)评分动态变化
案例的评分和星级不是固定不变的,自动化测试平台的案例打分设计理念使得这种情况时常发生,一个五星级的案例经过多次执行失败后可能会降为一星案例,反之,一个一星案例在用户持续维护较好的情况下,可以很快成为五星案例。根据每个考核周期内案例执行成功或失败的状况,动态调整案例的得分和星级的方式,可激励用户持续不断地维护其自动化测试案例。
三、总结
保鲜执行实现了由“自动化”地执行自动化测试案例代替人工执行自动化测试案例,节约手工发起的人力成本,且在本方案中保鲜执行与手工发起执行、流水线调起执行是分时复用,实现了平台执行机资源利用的最大化。
对自动化测试案例打分和评级,大大调动了用户维护其自动化测试案例地积极性,使前期投入大量人力和物力成本建设的自动化案例可以反复运行,以成为组织级的优质资产。
根据自动化测试案例在一个周期内的执行结果动态调整案例评分结果,激励用户持续维护和优化其积累的案例,不断提高自动化测试平台内自动化测试案例的活性和质量。
作者:胡莉莉 曹祯
来源:51Testing软件测试网原创