本文将首先讨论冲刺测试和开发中的一些长期障碍,然后寻找一种可行的方法在短时间内交付经过严格测试的系统.这种方法的两个重要组成部分是数据和自动化,它们共同作用将关于需要测试的内容的见解转化为严格的自动化测试。但首先,让我们想想为什么在冲刺中设计、开发和测试仍然如此具有挑战性。二十年后,独立组织仍然是软件交付的挑战。尽管AgileManifesto已经发布了20年,但软件交付生命周期仍然充满了独立的组织。这些独立的组织不仅会造成耗时的沟通不畅,还会增加手动工作量。每次信息从一个移动组织传输到另一个移动组织时,都需要将其从一种格式转换为另一种格式:这些“信息跳跃”会延迟发布并引入缺陷,因为在每个阶段都会出现误解。现在,让我们更详细地了解每个组织。设计在基于文本的文档和不同的图表中收集需求从测试和开发的角度来看根本不适合使用。书面用户故事和文档的片段与需要开发的确切逻辑相去甚远。同时,基于文本的格式和静态关系图之间通常很少或没有正式的依赖关系映射。开发因此,软件设计在翻译成源代码时会引入错误,这反过来又会造成耗时的返工。事实上,多项研究估计需求导致了所有缺陷的一半以上,并且进一步的研究估计开发人员花费了一半的时间来修复错误。因此,设计缺陷会占用大量时间来开发新功能。测试需求的静态特性进一步增加了测试中的手动工作量。“平面”文档和图表还没有为自动化做好准备,测试人员经常被迫手动将设计转化为测试用例、数据和脚本。除了浪费时间之外,这些手动流程还会降低质量。如今,一个简单的系统在发布之前可能需要进行数千次测试。面对非正式和不完整的需求,测试人员无法系统地或自动地识别和创建需要在发布前执行的测试。相比之下,手动测试设计几乎完全专注于“快乐路径”场景,以最有可能导致错误的场景为代价过度测试这些场景。与此同时,过时和无效的测试堆积起来,导致测试失败,将测试进一步推迟到发布之后。自动化可以提供帮助——但前提是它超出了测试执行范围。当然,自动化可以加快许多手动流程。然而,直到现在,“测试自动化”几乎只专注于一项任务,即执行测试。在这样做的过程中,它引入了大量手动流程,同时忽略了关键的质量问题。在许多情况下,测试自动化引入了一个新的独立组织,以及与之相关的所有时间和精力。测试自动化引入的手动过程包括大量的测试脚本以及大量的脚本维护。同时,测试执行的速度和数量会增加数据供应瓶颈,而过时或不一致的数据会导致耗时的测试失败。进一步自动化测试执行对提高测试质量或识别要运行的测试没有任何帮助。测试设计师和自动化工程师仍然面临着拥有比冲刺中执行的更多系统逻辑的挑战。优先考虑错误测试不仅会在测试脚本中浪费额外的时间,还会使关键系统面临毁灭性的生产缺陷。因此,测试执行自动化是冲刺测试的关键组成部分,但它本身并不是一个解决方案。“数据驱动”测试,但并非如您所知。幸运的是,解决方案正在出现。它在数据中,以及将自动化应用于当今广泛可用的数据的方式。这为在冲刺中准确自动地确定测试优先级打开了大门,在下一次发布之前生成所需的测试。DevOps工具链中(自动化)技术的激增导致了相关数据的爆炸式增长。此外,此数据现在以可以捕获和分析的格式输出。如果您将此数据与自动分析和测试生成相结合,您就可以开始将最新的测试工件填充到收集数据的相同工具中。然后创建一个封闭的反馈循环,收集和分析更多数据以推动冲刺中的严格测试。现在让我们看看这种“数据驱动”冲刺测试方法的组成部分。连接此方法的第一个先决条件是跨应用程序交付生命周期的技术之间的连接。如果不同的工具不能在彼此之间传递信息,独立的组织将继续存在。这将没有足够的数据用于分析,也不可能跨工具填充测试套件。因此,技术之间的连通性至关重要,在冲刺中,技术必须建立在开放技术之上。幸运的是,机器人过程自动化和DevOps编排工具可以帮助快速集成不同的技术。基线数据此外,必须收集这些不同工具生成的数据,以提供收集数据的基线。然后可以应用工具从这个单一的事实来源中汲取见解,告知测试人员在冲刺中需要测试的内容。分析工具包括但不限于基于人工智能和机器学习的技术。Sprint测试和数据生成此时,已经收集并分析了数据,表明在sprint期间需要测试的内容。但是您如何构建和执行根据这些信息采取行动所需的测试呢?第一部分是自动测试生成,将这一代与基线数据分析联系起来。第二部分包括根据生成的测试自动生成和分发数据。这是通过在测试运行时查找和生成数据的工具实现的,为每个测试提供丰富且兼容的数据。开放式测试台如果您拥有所有这些组件,那么您就拥有了所谓的开放式测试台。开放式测试平台可以管理整个应用程序开发生态系统中的数据,准确识别需要在冲刺中测试的内容。它还构建测试和运行这些测试所需的数据,使用数据驱动的洞察力来自动化冲刺测试。开放式测试平台不是从系统需求和一组独立组织开始,而是分析整个开发生态系统中的数据。因此,它会根据要求或情况的变化通知和更新测试,而不是不断进行追赶游戏。简而言之,开放测试平台支持冲刺测试自动化。
