作者:Test Ninja
来源:软件质量报道(ID:QualityReport)
前不久,Gartner立足于“以人为本的智慧空间”,发布了2020年十大战略性技术趋势,分为两类:
其中多重体验是指计算机从单一交互UI演变成为包括可穿戴设备和传感器之类的多感觉多接触点界面,专注于使用:
多渠道人机界面和感知技术的沉浸式体验。而技术普惠化意味着让人们可以轻松获得技术或业务专长,着重于四个关键领域:
——常常被称为“平民享用”(citizen access)。
人类增强是指利用技术增强人的认知和身体体验,主要指:
回到主题,“超级自动化”排在第一的位置,指运用包括AI和机器学习在内的先进技术,不仅包括一系列的自动化工具,还涉及自动化过程(即发现、分析、设计、自动化、测量、监控和重新评估)的成熟度(sophistication)。如今,借助AI技术实现超级自动化比较成功的案例是机器人流程自动化(RPA)、智能业务管理软件(iBPMS)。
▲ 机器学习、AI、数据和流程共同驱动价值
▲ 基于超级自动化可以节省大量的人力
“超级自动化”对软件开发和测试有什么启发呢?
过去,我们也一直关注软件测试自动化,虽然更多人停留在“测试工具”的使用之上。我也在多种场合说,目前被大众称为的“自动化测试”只能称为“半自动化测试”——只是测试执行是自动化的,甚至执行都不能真正自动化,因为执行时不稳定,需要人工干涉,执行的结果还需要人工分析,而且人们要开发自动化测试的脚本,脚本不能自动生成。
真正的软件测试自动化,不局限于工具,更应该涵盖测试目标发现、测试分析、测试设计、测试执行、质量度量、测试过程监控和测试结果重新评估、测试过程重新评估的全流程的成熟度,这就是一个系统的、逐步积累和完善的过程。借助AI、数据和流程等共同驱动,能否将软件测试自动化带入“超级自动化呢”?
这就是我们明年乃至未来要努力实现的事情,虽然“将产品需求或测试需求输入进去,就自动得到测试结果”的理想状态也许永远都不会出现,但是,能否在人机交互情况下自动生成测试模型,然后基于测试模型生成测试数据、测试脚本,还是完全有可能的。