关注我,每天分享软件测试技术的干货和面试经验。想获取测试资料,进入软件测试学习交流群的可以直接私信我~ ~
随着科学技术的发展和进步,自动化测试的应用越来越广泛。自动化测试作为软件质量控制的一种重要手段,是将人类驱动的测试行为转变为机器执行的过程。在替代大量重复性工作,提高回归测试效率方面发挥了很大的优势。

目前自动化测试还不能完全取代人工测试,自动化测试能否有效进行取决于系统的稳定性。对于生产周期短、需求变化频繁、版本更新频率高,甚至有系统架构重构可能的系统,使用自动化测试工具记录的案例在系统迭代更新后需要频繁修改和调试自动化脚本,成本较高,因此这类系统不适合自动化测试;对于一些优化升级后的系统,系统架构趋于稳定,程序版本稳定。尤其是生产周期长,测试用例需要频繁重复执行。使用自动化测试工具可以提高效率。本文所描述的架构优化项目就属于这类项目。
一、项目背景
本项目是对已经投产的系统A的架构进行优化升级。本次改造主要涉及以下内容:一是日志子库的改造,修改了记录事务的方式,按照分片规则划分日志;第二,交易路由方式的改变;三是接入监控平台;四是优化日志配置,增加运维日志输出。
通过对改造需求的分析,本项目的优化升级较少涉及交易层面的优化改造,主要优化系统配置、运维参数和数据架构。系统架构趋于稳定,涉及多个生产窗口,需要频繁重复执行测试用例,因此适合引入自动化测试。
第二,自动化测试工具
本次自动化测试选择了自主研发的自动化测试工具,该工具是一个集成了自动化测试用例管理、测试数据管理、测试执行管理和结果分析的软件平台,支持自动化测试。该工具支持接口测试和界面测试,实现了测试用例设计、测试执行和结果分析呈现的一体化。这个回归测试属于基于接口的自动化测试的应用范畴。
三。资产库的自动化测试

要执行自动化回归测试,需要提前准备一个高度可用的自动化测试用例库。在A系统投产时,建立了基于新的分布式架构的自动化测试用例数据库,实现了系统级的自动化回归测试资产数据库,全面覆盖了A系统的主要事务。同时,根据系统数据源子数据库的架构,设计了针对不同数据源的自动化用例,可以方便事务对不同子数据库数据的验证。自动化回归测试用例库前期已应用于部分测试项目,并根据事务接口和需求的变化适时进行维护和调试。目前,共为A系统建立了221个对应180笔交易的自动化案例,交易自动化案例覆盖率100%,执行通过率约90%。
四。自动化测试策略分析
本项目根据改造需求的测试和分析,针对不同的改造内容制定了不同的自动化测试方案:采用全卷事务回归测试、高频事务回归测试和自动代理测试进行测试。
总回归测试主要验证第二阶段投产的原108笔交易在子数据库数据结构下,交易函数正确。对于那些没有通过总回归测试的案例,增加了手动测试来进一步验证。
高频交易的自动回归测试主要是针对日志记录模式优化改革的需要。根据交易复杂程度、重要程度和日均交易量,筛选出35笔高频交易。对日志子库中不同查询事务的四种日志记录配置模式进行四轮回归测试,并在日志记录查询环节手动查询自动执行的事务日志,以验证改造后的日志查询模式的正确性。
应用自动化来验证日志分段数据源的正确性。通过对改造需求的分析,发现系统日志数据库改造采用机构号作为分段键值,对数据库进行编号,机构号的前两位省市号作为数据库分段的算法依据。因此,在交易自动化情况下,参数化该机构柜员的输入值,设置数据资源池,迭代执行交易。每次调用资源池中不同机构的柜员数据,交易日志都会按照数据库划分规则正确记录在不同的碎片化数据源中。

动词 (verb的缩写)自动化测试实践
这个架构优化项目有六个生产批次,基于全卷事务的回归测试进行了三次,涉及108个事务,进行了300多个自动化用例,测试通过率约为95%。高频事务回归测试共四轮,涉及35个事务约150个自动化案例,执行通过率100%。迭代测试中约有50个自动化用例,通过率为100%。通过自动化测试在本项目中的应用,提高了工作效率,在单个调试窗口测试周期短、测试人力资源少的情况下,按要求完成了调试测试任务。
六。摘要
本次架构优化项目在每个调试周期调试轮次多、测试时间紧、人力资源不足的情况下,根据优化改造需求分析,引入了合适的自动化测试工具。通过实施自动化测试,大大解放了人力,节约了成本,按时完成了各个调试窗口的测试任务。
同时,通过在本项目中使用自动化回归测试,测试人员进一步熟悉了自动化测试工具的使用流程和方法,提高了自动化测试中分析和解决脚本调试中常见问题的能力,为今后在类似项目中更好地使用自动化测试工具打下了坚实的基础。


