敏捷测试中的挑战和自动化风险

简介: 敏捷测试中的挑战和自动化风险

大家好,我是阿萨。前2期我们说了敏捷测试计划,敏捷测试策略以及敏捷测试四象限。 这一期我们就讲挑战和风险,什么挑战呢? 那就是敏捷开发流程中我们这些QA 的痛点,也称为挑战。 另外不同于传统的自动化,我们看看敏捷开发流程中的自动化测试的风险。


一. 敏捷开发流程中QA的挑战


  1. 敏捷宣言中说,工作的软件 胜于详尽的文档。 因为文档优先级很低,所以敏捷开发中出错概率更高。 最终给QA团队带来更多压力。
  2. 快速开发,所以测试分析新需求的时间更短了。测试设计以及分析特性满足需求的时间更少了。
  3. 测试在敏捷要扮演半个开发人员的角色去分析需求场景和组件测试。
  4. 测试执行时间被高度压缩。
  5. 准备测试计划时间更少
  6. 回归测试,就更加少了。
  7. 从质量守门员的角色要变成为质量的合作伙伴
  8. 要面对更多的需求更新和需求变更。

看完是不是觉得这就是我们敏捷下测试人员的最紧迫的痛点?


二. 敏捷过程中的自动化风险


UI 自动化 让我们对端到端验证更有信息。但是UI自动化执行时间长,维护成本高,甚至写UI 自动化耗费人力更多。所以UI 自动化在很长一段时间都很难产生正向收益。UI 自动化稳定性较差,对环境依赖程度高。同时失败用例的维护以及产品更新后导致UI 自动化 需要更新所需要花费的人力更多。同时 排查误报用例更是难上加难了。


如果UI 自动化没有CI、CD启动,完全靠人工去启动运行的话,很容易因为版本更新,环境配置等因素影响而失败。UI 自动化是为 回归测试 准备的,所以探索性测试和其他测试类型仍然需要继续做。许多商业上可用的自动化工具提供了简单的特性,比如自动捕获和重放手动测试用例。


这种工具鼓励通过UI进行测试,并导致测试本身的脆弱和难以维护。同样,将测试用例存储在版本控制系统之外会产生不必要的复杂性。为了节省时间,很多时候自动化测试计划没有计划好或没有计划,这导致测试失败。


在测试自动化过程中,测试配置和删除测试数据来恢复环境通常被忽略,而执行手动测试时,测试配置和恢复环境听起来是无缝的,无需做额外的事情。甚至无需做什么。生产力指标,例如每天创建或执行的测试用例的数量,可能会产生严重的误导,并可能导致在运行无用的测试上进行大量的投资。


投入产出比太低敏捷自动化团队的成员必须是有效的顾问:平易近人、合作、足智多谋,否则这个系统很快就会失败。因为会有各种各样的问题。自动化可能提出并交付测试解决方案,相对于所提供的价值,这些解决方案需要进行太多的持续维护。


自动化测试可能缺乏构思和交付有效解决方案的专业知识。它仅仅是实现某个测试用例的自动化而已。业务需求和客户需求可能并不涉及。从上面的描述中我们可以看出,自动化的高维护性,低健壮性和稳定性。 以及对测试自动化配置和恢复环境初始状态都会是阻拦UI 自动化进程的大老虎。


三 . 结论


结合前几期的内容,我们得出的结论有:敏捷测试包括在软件开发生命周期中尽可能早地进行测试。它要求客户高度参与。代码应该足够稳定,可以进行系统测试。可以进行广泛的回归测试,以确保bug得到修复和测试。最重要的是,团队之间的沟通使敏捷测试成功。

如果内容让你有收获,欢迎点赞关注



相关文章
|
2月前
|
人工智能 搜索推荐 数据管理
探索软件测试中的自动化测试框架选择与优化策略
本文深入探讨了在现代软件开发流程中,如何根据项目特性、团队技能和长期维护需求,精准选择合适的自动化测试框架。
127 8
|
2月前
|
Java 测试技术 数据安全/隐私保护
软件测试中的自动化策略与工具应用
在软件开发的快速迭代中,自动化测试以其高效、稳定的特点成为了质量保证的重要手段。本文将深入探讨自动化测试的核心概念、常见工具的应用,以及如何设计有效的自动化测试策略,旨在为读者提供一套完整的自动化测试解决方案,帮助团队提升测试效率和软件质量。
|
2月前
|
测试技术 持续交付
探索软件测试中的自动化测试策略
随着软件开发周期的加速和市场需求的不断增长,传统的手动软件测试方法已难以满足现代软件开发的高效性和准确性要求。本文旨在探讨自动化测试在软件测试中的重要性、实施策略及其对提高软件质量的影响。通过分析自动化测试的优势与挑战,以及提供实用的自动化测试工具和框架选择指南,旨在帮助读者理解并应用自动化测试以提升软件开发效率和产品质量。
|
2月前
|
机器学习/深度学习 人工智能 监控
软件测试中的自动化测试策略与最佳实践##
在当今快速发展的软件行业中,自动化测试已成为确保软件质量和加速产品上市的关键工具。本文将探讨自动化测试的重要性,分析不同类型的自动化测试工具和框架,并深入讨论实施自动化测试的最佳实践。通过案例研究和数据分析,我们将揭示如何有效整合自动化测试到软件开发生命周期中,以及它如何帮助团队提高测试效率和覆盖率。 ##
78 1
|
28天前
|
机器学习/深度学习 人工智能 自然语言处理
MarS:微软开源金融市场模拟预测引擎,支持策略测试、风险管理和市场分析
MarS 是微软亚洲研究院推出的金融市场模拟预测引擎,基于生成型基础模型 LMM,支持无风险环境下的交易策略测试、风险管理和市场分析。
61 8
MarS:微软开源金融市场模拟预测引擎,支持策略测试、风险管理和市场分析
|
28天前
|
存储 测试技术 API
pytest接口自动化测试框架搭建
通过上述步骤,我们成功搭建了一个基于 `pytest`的接口自动化测试框架。这个框架具备良好的扩展性和可维护性,能够高效地管理和执行API测试。通过封装HTTP请求逻辑、使用 `conftest.py`定义共享资源和前置条件,并利用 `pytest.ini`进行配置管理,可以大幅提高测试的自动化程度和执行效率。希望本文能为您的测试工作提供实用的指导和帮助。
89 15
|
2月前
|
数据采集 人工智能 自然语言处理
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
Midscene.js 是一款基于 AI 技术的 UI 自动化测试框架,通过自然语言交互简化测试流程,支持动作执行、数据查询和页面断言,提供可视化报告,适用于多种应用场景。
304 1
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
|
3月前
|
Java 测试技术 API
探索软件测试中的自动化框架选择####
在当今快节奏的软件开发周期中,自动化测试已成为确保产品质量与加速产品迭代的关键策略。本文深入剖析了自动化测试的核心价值,对比分析了市场上主流的自动化测试框架,旨在为项目团队提供选型时的考量因素及实践指南,助力高效构建适应未来变化的自动化测试体系。 ####
101 40
|
2月前
|
机器学习/深度学习 人工智能 jenkins
探索软件测试中的自动化与持续集成
【10月更文挑战第21天】 在软件开发的生命周期中,软件测试扮演着至关重要的角色。随着技术的进步和开发模式的转变,自动化测试和持续集成已经成为提高软件质量和效率的关键手段。本文将深入探讨自动化测试和持续集成的概念、实施策略以及它们如何相互配合以优化软件开发流程。我们将通过分析实际案例,展示这些技术如何在实际项目中发挥作用,以及面临的挑战和解决方案。此外,文章还将讨论未来趋势,包括人工智能在测试领域的应用前景。
89 17
|
2月前
|
Java 测试技术 API
探索软件测试中的自动化测试框架
本文深入探讨了自动化测试在软件开发中的重要性,并详细介绍了几种流行的自动化测试框架。通过比较它们的优缺点和适用场景,旨在为读者提供选择合适自动化测试工具的参考依据。