本文由Yoyo翻译自DZone网站。
以下为原文链接:
https://dzone.com/articles/top-5-software-testing-trends-to-rewind-over-2019
下面为译文,意译
2019马上就要过去,在这一年中,一大波新的方法和创新来到软件测试领域。
在进入2020年之前,让我们一起回顾一下,在过去一年中,最突出的软件测试趋势有哪些。
本篇文章将引导您浏览2019年最具影响力的五个软件测试趋势,让我们一起看一下:
持续测试(continuous testing)最早可以追溯到2010年,在过去的十年中,持续测试已慢慢的变成了主流,到现在已成为2019年最常用的软件测试方法之一。
持续测试使得软件产品能够尽早和频繁的进行测试,从而使得团队在整个持续交付过程中能够立即收到反馈。
持续测试方法意味着用一种更快、更高效的方式来消除不同部门之间的瓶颈。但是要使持续测试发挥终极作用,团队必须达到至少85%的自动化比例。
随着采用Agile和 DevOps 实践公司的数量不断增加,持续测试变得更加普遍。这种方法使"快速质量:quality at speed"的概念在当今的软件交付中不再是新鲜事物。
Yoyo注:
持续测试其实就是为了适应敏捷和DevOps模式中,频繁迭代发布而产生的测试模式或方法。通俗的说就是频繁的测试和不断的测试,以实现快速质量的目标要求。
实现持续测试的一个重要手段就是自动化,这个自动化不光是指测试人员所做的自动化,也包括开发人员应该做的自动化,比如单元测试自动化。
在2019年,我们见到更多人工智能和机器学习应用在了质量保证领域,比如质量预测、智能确定测试用例优先级、缺陷分类、计算机视觉等。
组织在尽最大的努力来开发先进的技术,以便能够满足快节奏的发布和频繁变更,大规模的操作环境,以及其他处于不断变化状态下的运行环境。因此,必须创建更多的测试用例,必须包含更多的测试脚本,必须收集更多的测试数据,以及必须评估更多的测试报告。
鉴于有这些大量的工作及信息要处理,组织必须找到优化流程、处理数据、提供快速与精确反馈的最佳方式或途径。
人工智能和机器学习被认为是很有前途的解决方案之一。
这些技术在生成更好的测试用例方面已经有了不少突破。
预测模型可以帮助我们决定测试哪里,测试什么和什么时候测试。
此外,智能分析和可视化将帮助团队了解测试整体情况,并更快更好的做出决策。
然而,这些技术仍然以缓慢和微不足道的速度在增长。相比于2018年,2019对AI项目的预算还出现了下滑,不过机器学习在2019看到了较积极的效果。
我们现在处于人工智能和机器学习兴起的时代。这两个概念广泛应用于我们生活的方方面面,软件测试也不例外。
越来越多的可用数据和技术进步为人工智能和机器学习在测试中开辟了更多的机会。
Yoyo注:
智能分析、智能预测、智能缺陷分类、可视化等听起来不错,期待这些智能工具的出现及应用。
下一个趋势是应用智能的自动化框架、工具和技术。
在2019年初,我们预测应用自动化的组织数量将显著增加。这主要是因为敏捷和DevOps的采用,快速质量要求激励组织将日常活动自动化,以便他们可以更专注于两个重要的任务:战略规划和决策评估。
如果应用得当,自动化可以使软件团队增加测试覆盖率、提高测试效率、即刻收到反馈、重复使用测试用例、及早发现缺陷等。因此,组织可以同时满足对产品高质量和快速交付的要求。
根据一份自动化测试趋势研究,约44%的组织,期望在2019年达到50%以上的自动化比率。当他们能够达到这种自动化水平时,他们将获得许多好处和竞争优势。
我们可以看到采用自动化的比率在2018年就在上升,2019年继续保持了这种上升的趋势。
自动化测试面临的挑战:
在采用自动化时,组织也面临着一些挑战。
在这份调查研究中约有2/3的受访者组织表示由于他们的应用在每次发布中都有很多变化,导致自动化应用比较困难。
另外缺少掌握自动化测试技术的人力资源也是应用自动化的一大阻碍。
Yoyo注:
很显然,自动化已成为当前软件开发模式中必备的一项技能,虽然面临着一些挑战,虽然国内与国外仍有一定的差距,但这个趋势很明显,国内会向国外靠拢,一起走向成熟。
还不会自动化的工程师要好好思考一下这个趋势对自己职业发展的影响。
物联网(Internet of Things: IoT)在过去几年一直在不断扩展。
根据Gartner的一项研究,2019年连接到物联网的设备数量已增加到142亿件,预计到2020年将达到204亿件,到2021年将增至250亿件。
更多的IoT设备意味着更多的在线连接和数据暴露,以及更多的风险。
随着IoT技术的不断发展,测试IoT设备和系统也变得非常必要。
IoT测试类型主要包括以下几种:
易用性测试:测试IoT系统的易用性。
性能测试:测试连接在IoT网络中设备的性能
兼容性测试:测试设备在IoT系统和网络中的兼容性
安全性测试:验证用户授权过程和数据隐私控制等
数据完整性测试:验证数据的完整性
可靠性和可扩展性测试:使用虚拟化工具进行传感器仿真。
Yoyo注:
随着5G的推广和应用,物联网必将迎来更快速的发展,大家如果想选择一个行业稳定下来做测试的话,物联网相关的企业、系统或项目将是一个很好、很有前景的选择。
最后一个趋势是行为驱动开发(Behavior-driven development:BDD),这种模式已经在2019年达到了下一个成熟度。
2018年的敏捷年度报告中曾指出仅有16%的组织使用了BDD模式,但是我们看到在2019年这个比例在增加,越来越多的组织期望使用BDD成熟度模型。
此模型涉及五个成熟度级别:
拥抱BDD协作模式
实施 BDD 工具和框架
连接开发和自动化的系统
标准化持续集成和系统协作
BDD成功报告
这是软件测试中的五大最新趋势。希望这次回顾能帮助您更好的了解这一年来软件测试的趋势发展,并为今后的测试策略提供参考。
********************************************************************************************************
近期我会在博客中系统的更新一些关于Selenium的文章,也请大家多多关注下我的视频课程:
*********************************************************************************************************
阅读更多精彩文章,请大家关注我的测试公众号:火烈鸟测试