关注开源优测不迷路
作为测试人员的我们已经习惯了在严格的项目截止日期内平衡测试覆盖范围。
是这样吧?
事实上,绝大部分测试管理者在测试管理方面存在困难,而其他许多人则觉得在测试质量和速度之间取得平衡颇具挑战性。
目录
创建测试用例时的瓶颈
人工智能在测试用例生成方面日益凸显的作用
将设计与测试场景相联系
发现边缘情况和覆盖漏洞
弥合开发与质量保证之间的差距
人工智能生成的测试值得吗?
探寻最佳平衡点
人工智能生成的测试用例的优缺点
优点
缺点
亲自尝试使用人工智能生成测试用例(终极测试)
创建测试用例时的瓶颈
说实话。
创建测试用例真的会耗费大量时间!
我在测试自动化领域已经有超过16年+的经验,我亲眼目睹了我们在这项任务上可能投入的大量时间。
例如:
检查产品规格以确定可以测试的功能。
设计涵盖所有情况的测试场景。
随着应用程序的推进,及时更新这些测试用例非常重要。
确保所有必要的测试都能彻底进行,且不会有任何重复。
对于我们测试从业者来说——确切地说,40%的人——这个挑战是真实存在的。
我们仅在测试开发和实施任务上就花费了一半的时间!
此外,大部人认为跟上新技术的步伐是一个重大挑战,这凸显了对更简化的方法和策略的需求。
人工智能登场了……
人工智能在测试用例生成方面日益凸显的作用
我也知道你们很多人已经听腻了关于人工智能测试的各种喧嚣。但在接受调查的人中,有相当比例(33%)的人表示有兴趣,想进一步了解人工智能技术。
而且我认为这并不全是营销炒作或骗人的把戏。
在我对人工智能驱动的测试工具的探索中,我遇到了一些真正实用的应用,它们确实为测试人员带来了价值。
例如,最近我研究了一个名为DevAssure的解决方案,它关注很多问题。
其中一个就是利用你的产品文档和设计材料自动生成测试用例。
以下是这个人工智能驱动的方法中引起我注意的地方。
将设计与测试场景相联系
有一个功能真的让我眼前一亮,那就是可以直接导入Figma的原型设计,并结合产品需求文档对其进行审查。
这在设计师的构想和测试人员必须验证的需求之间建立了一种联系。
当团队使用Figma(开发团队中常用的一种工具)时,就无需手动将视觉设计转化为实际的测试场景,因为人工智能会评估设计组件,并识别可能的用户交互和验证标准。
现在就试试DevAssure
发现边缘情况和覆盖漏洞
在我评估的过程中,人工智能能够发现那些我们在创建测试用例时可能会忽略的情况,这给我留下了深刻的印象。
这个系统会仔细检查你的产品需求(PR)文档,不放过任何细节。甚至还会提出问题,以确保我们的测试覆盖了所有应该覆盖的内容。
这种方法有助于弥补人类质量保证知识中的一个要素。
即识别用户行为和边缘情况。
同时,还能腾出更多时间来进行调查性测试。
弥合开发与质量保证之间的差距
在自动化测试编码过程中,VS Code扩展功能中的一个特点非常突出,它会检查开发人员正在编写的代码中存在的差距和测试覆盖问题。
对于78%负责维护框架完整性和功能的社区成员来说,这个工具会提供实时警报。
它有助于尽早发现问题。
这减少了在开发过程后期才发现问题的可能性。
我认为这个工具可以促进开发人员和测试人员之间的协作,而这在我们的社区互动中常常被视为一个障碍。通过将测试问题置于开发人员任务的首位,它有可能加强双方的沟通。
自愈式自动化测试
人工智能生成的测试值得吗?
每次我试用一个测试工具时,我总是把结果看得比那些花哨的功能更重要。
以下是我在一个项目中对它进行测试后的观察结果:
在我进行一项功能实现任务的过程中,我发现创建测试用例所需的时间减少了大约40%。这让我能够把更多时间投入到测试环节中,而我通常能在这个环节中发现最关键的问题。
我大概只花了30分钟就上手并开始使用这个工具了;不过,要完全掌握它的功能大概花了我一天的时间。对于这样一个复杂的工具来说,这似乎是相当合理的。
在使用这些工具时,要将其融入现有系统是一个需要考虑的因素——与该领域的其他软件解决方案相比,它也需要进行一些调整,以便能无缝集成到特定的持续集成/持续交付(CI/CD)管道中。
在某些情况下,人工智能很难理解我所在领域的业务规则,这凸显了使用这些工具来辅助而不是替代人类知识和技能的重要性。
机器人混乱
探寻最佳平衡点
我知道每个团队及其测试环境都是不同的。
但是,对于那些在大规模测试覆盖方面存在困难,或者在质量保证和开发之间的职责转移方面存在问题的团队来说,考虑利用人工智能来支持测试创建可能是有益的。
然而,保持合理的期望至关重要:
这些自动化工具无法替代经验丰富的测试人员所具备的知识和分析技能。
它们只有在人类的监督下才能有效地发挥作用。
其真正的价值在于管理测试任务,从而为开展战略性工作腾出空间。
而且,在测试中使用人工智能也并非总是一帆风顺的。
以下是一些优点和缺点。
人工智能生成的测试用例的优缺点
优点:
- 速度
:人工智能生成测试用例所需的时间只是手动生成的一小部分。
- 覆盖范围更广
:人工智能可以分析大量的数据集和用户行为,从而识别出人类测试人员可能忽略的边缘情况,显著提高测试覆盖范围。
- 适应性强
:像那些与DevAssure等工具集成的生成式人工智能模型,可以适应应用程序的变化,减少测试脚本的维护工作量。
- 预测性洞察
:人工智能可以对测试进行优先级排序、优化测试套件,甚至预测缺陷,帮助团队专注于高风险领域。
缺点:
- 非确定性行为
:人工智能有时可能会产生概率性或不一致的结果,这可能与确定性的验证逻辑不相符。
- 质量问题
:人工智能生成的测试用例可能缺乏上下文信息,或者会遗漏关键的业务逻辑,需要人类进行监督以确保其相关性和准确性。
- 维护挑战
:过度依赖人工智能生成的脚本可能会导致可维护性问题,特别是如果底层的人工智能模型没有经过良好的调试,或者生成的代码过于复杂。
- 初始设置和成本
:实施人工智能驱动的解决方案通常需要在工具、培训以及将其集成到现有工作流程方面进行前期投资。
再一次,跟我重复一遍,人工智能是一个强大的助手,但它不能替代技术娴熟的测试人员。
关键是要将其用作对人类专业知识的补充。
亲自尝试使用人工智能生成测试用例(终极测试)
我一直认为,最好是你自己亲自尝试一些东西,然后再做出明智的决定。
为什么不用你自己的概念验证来测试一下DevAssure呢?
DevAssure提供45天的免费试用,这给了你足够的时间去探索。