不稳定的测试是自动化测试的主要挑战之一(Part II)

| 2022-04-09

这是关于「测试脆弱性」系列文章的第二部分。

第一篇文章讨论了运行测试用例所需的四个组件,以及测试脆弱的可能原因。

本文将针对这些可能的原因讨论的测试脆弱的分类技巧和诊断方法。

四个组件是什么?

回顾一下,可能出现脆弱性的四个组成部分包括:

  • 测试本身
  • 测试运行框架
  • 被测应用程序或系统(SUT)以及SUT和测试框架所依赖的服务和库
  • SUT和测试框架所依赖的操作系统、硬件和网络

下面的图表捕捉并总结了这一点。

下面按组成部分,分别讨论不稳定的原因、分类提示和应对方法。

测试用例本身

测试本身可能会带来不稳定。这可能包括测试数据、测试执行流、测试先决条件的初始设置,以及其他依赖项的初始状态。

test

执行测试的框架

不可靠的测试执行框架可能会引入脆弱性。

test

应用程序或 SUT,以及 SUT 和测试框架依赖的服务或库文件

当然,应用程序本身(或SUT)可能是脆弱性的来源。

一个应用程序也可能对其他服务有许多依赖关系,而这些服务中的每一个都可以有自己的依赖关系。在这条链中,每项服务都可能引入脆弱性。

test

SUT 和测试框架依赖的操作系统和硬件

最后,底层硬件和操作系统可能是测试脆弱性的来源。

test

结论

从各种各样的失败中可以看出,在自动化测试的脆弱性是一个相当大的挑战。本文概述了运行测试的组件和可能出现的脆弱性类型,因此可以作为测试和修复脆弱测试用例时的备忘单。

参考文章

-不稳定的测试,是自动化测试的主要挑战之一


原文作者: George Pirocanac

原文链接Test Flakiness - One of the main challenges of automated testing (Part II)

发表时间:March 24, 2021