

在这个快速发展的科技时代,软件测试人员的角色变得越来越重要。
随着技术的不断演进,软件测试人员在保障软件质量和用户体验方面将面临着越来越多的挑战和机遇。
通过对行业发展趋势的研判,积极勇敢面对、持续思考学习、不断成长和进步的测试人员,就将在这个充满挑战和机遇的领域中,有无限的发展空间。
软件测试行业正处于快速发展阶段,随着软件开发的加速和需求的增长,软件的复杂性和规模也随之增加,测试范围也变得更广泛。
测试人员要关注功能测试、性能测试、安全性测试、兼容性测试等各个方面,确保软件在各个层面都具备高质量。
软件测试行业正朝着更高效、智能化和全方位的方向发展。测试人员需要不断学习和适应新的技术和方法,以满足不断变化的软件开发需求。
12.1.1 从IT行业发展看测试技术发展趋势
随着互联网、物联网以及ABC(AI+Big Data+Cloud)等技术的高速发展以及向各行业的不断渗透,被测对象本身变得更加复杂多样,这给测试技术和质量保障能力提出了更大的挑战,对测试人员的知识面、测试架构设计能力、测试平台抽象能力等也提出了更高的要求。
由此,笔者大胆预测,测试技术发展的智能化、服务化、精准化“三化”趋势将越来越明显。测试技术发展趋势“三化”如图13-1所示。

图12-1测试技术发展趋势“三化”
01

智能化
自动化测试在软件质量工程中的地位将发生质的变化,从原本的“以自动化测试为辅”变成“以自动化测试为主”。
并且基于AI技术在图像识别、算法推荐、语义分析、大数据处理等方面的强大能力,AI技术在软件测试中也将发挥越来越重要的作用。
在某些领域,AI技术将改变软件测试的既有方式,并将大概率改变产品设计、使用、测试的逻辑。
我们可以将软件测试自动化成熟度等级分为6级,并对每一级成熟度定义了测试的主体,测试脚本开发、异常情况干预的主体以及各等级对应的应用范围。自动化测试成熟度等级如表12-1所示。
表12-1自动化测试成熟度等级

对表12-1中的自动化测试等级解释如下。
● Level 0:未开展任何形式的自动化测试或未利用任何形式的工具、脚本、程序代码(工具、脚本、程序代码,本章均统一简称为“程序”,下同),替代人工测试的工作,完全依靠测试人员的手动测试。
● Level 1:自动化辅助测试,测试数据生成、数据校验、批处理任务等部分场景,可使用程序完成,但仍需由测试人员主导触发执行测试。
● Level 2:部分自动化测试,可实现功能、性能、安全性、兼容性等部分质量特性的自动化回归测试,但需要人工定期维护自动化测试脚本,此时测试的执行可由流水线、定时任务、特定事件等自动触发。
● Level 3:有条件自动化测试,该等级下测试主体已完全变更为自动化测试程序,在特定应用场景下无须人工介入,即可完成测试任务,但对一些异常的分析、结果的判断等仍需要人工参与。该等级是自动化测试的里程碑,如自动遍历测试、App应用性能自动检测、基于流量回放的性能压力测试和接口测试等均可归为此等级。
● Level 4:高度自动化测试,取代人工测试,特定场景下,测试结果可直接作为产品上线的依据,但部分异常情况,需人工介入。
● Level 5:完全自动化测试,具备高级AI,可完全理解产品功能、性能、安全、兼容性等质量特性需求,可完全自主实现测试以取代人工测试。
目前,国内大部分自动化测试均处于L2级,部分达到L3级,而以谷歌等为代表的公司,因其成熟的CI/CD流水线、监控报警、自动化原子能力以及优秀的质量文化和工程师文化,可达到L3甚至L4级别的成熟度。
本书作者:孔令云
... ...
点击阅读原文,查看独家连载






