今年,越来越多的商业工具提供无代码和低代码测试自动化解决方案,使测试从业者们能够专注于测试过程的其他方面。随着测试业务的不断发展,新的想法和技术不断涌现,测试人员必须不断提高自己的能力,以便更彻底地测试他们的产品。
生产中的测试
随着互联网规模的日益增长,产品功能愈发繁杂,但人们还是希望享有更多更好的功能。因此,软件工程团队如何在保证产品顺利上线的基础上提高质量,成为了产品能否成功的核心问题。这给测试团队带来了极大的压力。
产品需要在开发、QA等非prod环境中进行测试,以便在让客户使用之前解决更多缺陷。然而,进行测试需要消耗大量的时间和精力,这对产品交付来说是一项抉择,是为了产品质量延后上线时间;还是保上线,轻质量。
AI与测试自动化
这十年,AI成为测试领域的一个重要话题。特别是ChatGPT爆火后,几乎所有的技术人员都在研究如何与之结合,测试也莫不例外,但是比较遗憾的是,目前测试和AI的结合依旧围绕编写测试用例方面进行的探索。当然,我们相信AI一定能在测试领域发挥重要作用,帮助测试人员更欢、更好的进行测试,最终减少产品bug的产生。
产品化思维导向测试
考虑到用户体验至关重要,产品化思维强调从用户视角设计测试用例。这需要测试人员利用用户调研、数据分析等更了解用户需求,以指导性测试设计和优先级。同时,快速反馈和持续迭代也是这个思维的关键。
整体质量保障理念
传统的分阶段测试已不再适应快速迭代开发,企业需要建立端到端的测试体系,贯穿需求分析、开发、部署全流程。除功能测试外,非功能测试、安全测试也需要持续进行。总体来说,测试需要成为产品生命周期中的各阶段共同关注的质量保障体系。
非功能测试
为了更快地提供解决方案,非功能测试(包括性能测试、可访问性测试和安全测试)变得越来越重要。然而,NFT始终是一个单独的过程,发生在发布周期结束时。在回归周期结束时发现的缺陷在到达最终用户之前可能无法纠正,并且必须添加到待办事项中。
在进行非功能测试时,在周期结束之前发现故障更加困难。这就是为什么我们必须将 NFT 纳入持续测试(CT)周期。例如,可以在CT中执行适当选择的性能测试用例来确定被测应用程序是否能够良好地执行。同样,我们可以向左移动并进行可访问性测试作为冲刺用户叙述的一部分,这使得开发人员能够立即解决问题,而不是等到最后。
探索性测试
由于市场需要更快的产品交付,测试人员没有时间构建正式的测试用例,这需要花费大量时间。探索性测试是唯一一种促使我们从新的角度进行测试以发现意外风险和故障的测试。
探索性测试可以利用领域知识和测试人员的心态来进行,以更自然地探索产品。由于探索性测试是在没有任何预定义测试用例的情况下完成的,因此测试人员可以更好地控制测试,这有助于从最终用户的角度探索应用程序。探索性测试仍然是越来越多的组织将其纳入其战略中的一种方法,以发现未知的风险。
这些或老或新的软件测试趋势都强调效率、质量和用户价值。测试团队可以根据企业实际,选择适合自身的最佳实践,来帮助企业创造高质量软件产品。