过去研发团队习惯于瀑布方法,只有在开发阶段完成后,测试人员才能获得产品,导致发现的缺陷时,需要进行大量的重新设计和返工才能修复,不管在时间还是成本上都是极大的浪费。
目前,大多数公司都在遵从敏捷流程,快速发现缺陷,快速修复并更快地发布软件。在DevOps中,测试始于开发周期的开端,这种开发模式有利于保证持续集成和持续交付。同时,它使得测试者能够通过持续测试和持续监测,来验证开发者所研发出的应用程序的正确性。为了更好的实现这一目标,通过自动化测试来补充现有的手动测试过程,是十分必要的。
已经有很多工具和框架帮助自动化测试更好的运行,比如AI。 AI已渗透了技术领域,从作为客户服务代表的聊天机器人到搜索结果和流量预测,AI就在我们身边。AI正在以各种方式影响自动化测试,在提升设计和执行测试效率的同时,降低测试成本。通过AI技术,软件测试团队超越传统的手动测试模型,逐步向自动化和精确的连续测试过程迈进。
《2019-2020年世界质量报告》显示,在企业面临的挑战不断升级的情况下,测试数据和测试环境管理的发展仍然有待提高。在覆盖了8个行业、32个国家及地区的1725名企业首席信息官和其他高级技术专业人士中,有60%受访者称,高昂的成本就是他们的测试环境面临的最大障碍。而两年前的这一数据仅为39%。未来的质量保证和测试将采用更为智能互联的测试方法,并辅以智能分析、测试自动化平台和增强的技术。
测试自动化是近年来逐渐增长的趋势,帮助测试团队将他们的时间和努力专注到测试用例上,可以更好地检测出缺陷,缩短生产周期,确保高质量的软件交付。
Testin云测陈冠诚指出,企业实现自动化测试的最大障碍通常是,使用所选工具或框架创建、执行测试需要付出的时间和精力,以及完成任务所需的技能资源。云测测试通过应用机器学习和深度学习算法实现自动化脚本的智能化,用自然语言脚本降低脚本录制的难度,提升产品易用性,让非技术人员也可以参与到测试自动化中,增加团队内的协作。另外,通过实现测试脚本跨平台复用,提高了测试效率和可维护性。以一个券商的测试脚本实测为例,比现在业界的自动化测试脚本编写和调试时间缩短40%。
自动化测试核心目标是让重复性测试工作由机器去做,且自动化测试可以24小时不间断执行测试,释放重复工作的人力,有效提高测试执行的效率,保证开发与测试间的同步进行,满足敏捷迭代开发的节奏。
将AI技术与自动化测试相结合,通过使用自然语言处理、文本识别、图标识别等技术,大大节省了脚本的录制和维护时间,达到测试的低投入、高产出。将频繁的动作由自动化测试来执行,既可以减少人为错误的发生,也可以帮助测试工程师从低效重复的手工测试中解放出来,让他们有更多精力去理解业务,提升自己的测试能力,为企业提供更有价值的测试。
目前,越来越多的测试人员会结合使用手动和自动化测试方法,来相互补足短板,并达到相得益彰的效果。自动化测试已经给很多测试流程带来了显著的效率提升。
使用自动化脚本技术可以只需要做较少的,甚至完全不做修改,就可以实现在不同的测试过程中的复用。此外,通过开放的API,可以丰富开发和测试人员对自动化测试平台的使用方式,提高各个岗位IT工程师对测试资产的使用率,进一步提升生产效率。
陈冠诚表示,“沉淀下来的测试数据可以用来不断训练测试的AI算法,让我们的AI测试技术变的更加智能,执行测试的效率更高,发现问题更加的快速而准确。用更少的精力实现更多的测试覆盖,让测试更可靠,实现更快的软件发布周期。”
写在最后:
测试已经从一个组织内部的独立领域进入对企业运营和业务结果更为重要的领域。为了保持领先,企业应采用新方法,包括使用互联的整体方法进行测试,提高整个企业组织对测试的理解和认识。