随着数字化技术应用的广泛普及,业界对于软件测试的要求也在持续迭代与增加。当前,越来越多的企业和组织都相继采用了Agile和DevOps之类的软件开发方法,以鼓励和促进测试团队和开发团队之间的紧密协作。根据Gartner的预测:到2020年,IT行业的开发总成本将从3.76亿美元增长至3.87万亿美元。而到了2023年,全球相应的软件测试市场,预计将出现14%的综合年度增长率。可见,无论您是否在这个行业,由软件技术开发出的各种应用正在渗透和影响着我们的日常生活。而软件质量的保证离不开完善可靠的测试实践。下面让我们基于当前的技术和测试趋势,来大胆地预测该领域在2020年的五大重要发展趋势吧。
1.机器学习和人工智能等技术的指数级使用
机器学习(ML)可谓下一个指数级的技术应用趋势,它正在敲开自动化测试的大门,并会引发开发效率与应用过程的革命性变革。有机构预计:到2022年,机器学习的市场占有率将从14.1亿美元增长到88.1亿美元。这就意味着:将有更多的测试解决方案会通过人工智能的方式,为开发者执行各种重复性的任务。
通过机器学习,人们将能够做到、或已经能够执行的软件测试任务包括:
· 优化测试套件:实现唯一性的代码检查。
· 预测:实现对于主要测试配置的各项预测。
· 日志分析:能够识别并自动执行多种检查。
· 缺陷分析:既能够发现应用程序中存在的高风险点,又能够根据优先级安排回归测试。
相对应地,人工智能的市场也正在快速地增长中。预计到了2025年,AI的整体市场价值将达到1906亿美元。这些都清晰地表明:与IT相关的业务都正在逐步转向具有机器学习能力的智能类型。
2.数字化转型
根据世界经济论坛所提供的数据:到2025年,数字化转型对于整个社会与行业的价值,可能达到100万亿美元。面对强烈的数字化转型需求,大多数企业会越来越依赖于各种新兴的技术。而这反过来又会对软件质量的稳定性和可靠性,提出了更高的要求。
自2015年以来,企业用于软件质量保障方面的IT预算份额,已经相对于上一个年度提高了35%,而且这种增加预计还会一直延续到2020年。由于数字化转型通常是以体现数据功能与服务为前提,因此这就要求开发人员在不断迭代的情况下,具有开发的敏捷性和灵活性,从而控制好软件质量的检查流程。也就是说,面对交付产品中的灵活性和稳定性这一对矛盾体的挑战,质量保障经理应当继续寻求那些可以同时满足两方面需求的特殊测试方法,来精心设计与不断优化产品质量的检查流程。
3.迈向云端,并广泛采用物联网
凭借着高稳定性这一优势,如今越来越多的企业都将自己业务数据的存储,以及处理方式转移到了云端(https://dzone.com/articles/cloud-adoption-101-the-drivers-barriers-amp-keys-t)。根据Sogeti(译者注:数字化转型方案提供商)的最新研究显示:在目前用户常用的各类应用程序中,有75-76%是基于云服务的。同时,我们也能看到各大软件开发与服务提供企业都在进行物联网(IoT)的布局。凭借着此类技术,它们不但可以访问到以前无法获取的客户使用数据,而且可以据此做出各种明智的业务决策。在同一份研究报告中,Sogeti也指出:有95-97%的受访企业正在计划或已经实施了IoT的解决方案。
通常,要实现对于物联网、以及基于云端的应用程序的质量控制,质检工程师及其所在团队,应当具备各种专业且前沿的技能,以便更好地理解正在开发的应用程序,及其对于本公司的业务流程将会产生何种影响。
通过物联网技术,人们将能够做到、或已经能够执行的软件测试任务包括:
- 可扩展的测试。
- 测试不同设备版本的兼容性。
- 监控连接过程中出现的延迟。
- 采取安全性分析,包括:设备的真实性、可用性和授权的准确性。
- 针对数据的完整性进行评估。
虽然物联网的作用日益增长,但是根据《世界质量报告(World Quality Report)》显示:目前仍然有34%的企业物联网产品,并未经历严格且充分的软件测试。
4.从性能测试到性能工程
对于中小型企业,甚至是一些大型企业而言,它们的交付产品将继续受益于深入的性能测试。不过,我们预计到了2020年,性能工程(performance engineering)有望逐渐取代现有的性能测试方法。性能工程不但能够评估客户真实的使用体验,而且能够从根源上提高业务的可行性。通过重点关注和评估产品的性能,我们将能够确保开发出的产品,即使在极端条件下(如出现软件内部严重错误、或缺少依赖项)也能够保持其自身的鲁棒性。虽说产品性能是软件测试的首要任务,但是我们也应当充分地考虑到客户价值等其他方面的要素,以保障产品在使用过程中的可配置性、便利性、以及实用性。
5.大数据测试
当前,由于各类企业都会参考、并根据与业务相关的大数据,来制定适合于自身情况的最佳营销策略。因此针对大数据的软件测试将越来越重要,我在此预测此类测试的需求将在2020年达到一个新的高度。在大数据测试中,软件测试人员主要验证的是:在使用各类商用集群服务,以及调用其他支持元素时,目标应用是否能够有效地处理了TB级的数据。此类测试一般侧重于功能与性能方面。当然,数据质量也是大数据测试环节中的一项关键因素。我们需要根据不同的特征(包括:一致性、有效性、准确性、完整性、重复性等),来检查数据的质量。
如您所见,手动测试已经逐渐被自动化测试所取代。不过,由于目前尚无足够优秀的自动化工具,来完全实现数据的精细处理与监视,因此在2020年,我们将看到这两种方法的混合使用。当然,我也会乐观地期待若干年后,自动化测试最终能完全取代手动测试。
原文标题:Top 5 Software Testing Trends to Look For in 2020,作者:Shormistha Chatterjee