在本文中,我们(作者)探讨了如何利用人工智能的力量,在软件测试领域实现左移。
用AI驱动的创新变革测试领域
测试在确保应用程序质量和可靠性方面发挥着至关重要的作用。然而,随着测试要求变得越来越复杂,人工测试变得既耗时又容易出错。许多组织依赖于自动化脚本,但维护这些脚本可能是一项艰巨的任务,导致投资回报率(ROI)较低,这一挑战在全球企业中普遍存在。
如上图中总结:
-
准备工作
传统上,由于自动化工具至今仍缺乏上下文和场景意识,因此这一阶段从未实现自动化。
-
执行
市场上的许多工具都允许记录和重新运行脚本。这一阶段已大量实现自动化。
-
报告
测试报告与执行相结合。市场上有许多用于测试报告的 00B 和 be spoke 解决方案。
我所在的公司,认识到人工智能工具和服务的激增,抓住机遇,开发出了人工智能测试 BOT。
这款先进的机器人利用机器学习和自动化的力量来优化测试流程、提高效率并提升整体软件质量。
左移测试效率
左移是测试领域的一个术语,指在软件开发生命周期(SDLC)中提前进行测试。
机器人快速生成测试用例的能力使其更接近于在开发人员完成工作时就绪。这是我们向 "左 "移动测试的第一步。
让我们来看看人工智能测试机器人是如何将测试流程左移的。
1. 与服务无缝集成:人工智能机器人简化了测试流程。测试人员只需提供服务的卷曲,无需复杂的配置或设置。
2. 内部测试生成模型:机器人结合内部测试生成模型,自动生成特征文件和测试脚本。通过利用机器学习算法和以往的测试模式,该模型可生成可靠、有效的测试方案。这样就无需手动创建测试脚本,为测试人员节省了宝贵的时间和精力。
3. 即时执行测试脚本:测试脚本生成后,我们的机器人执行引擎可立即执行。测试人员可以毫不费力地触发执行过程,迅速验证服务的功能。这种实时执行能力缩短了软件发布的上市时间。
4. 动态提示管理:在内部测试生成模型难以生成所需测试脚本的情况下,我们的机器人集成了提示管理器。具有挑战性的卷曲会被发送到提示管理器,提示管理器会将它们以合适的格式准备好,供GPT3.5使用。
5. 用GPT生成测试脚本:利用GPT3.5先进的自然语言处理能力,机器人与模型互动,生成缺失的测试脚本。
6. 持续学习和改进:我们的智能测试机器人拥有从执行结果中学习的独特能力。成功执行后,机器人会捕捉响应并将其反馈给内部测试生成模型。这种反馈循环可实现持续改进,提高模型的准确性,并随着时间的推移生成更精确的测试脚本。机器人的自学机制可在每次迭代中增强测试能力。
技术爱好者的解决方案:
下面是人工智能机器人内部运作的详细示意图,随后是工作流程的逐步说明。
人工智能测试 BOT 解决方案图
a. 合约配置:API测试机器人首先要配置API合约,指定端点、请求方法、标头、参数和预期响应。
b. 提示生成:根据配置的API契约,机器人会生成提示,捕捉所需测试用例的本质。这些提示包含 API 端点、请求方法和预期响应等重要信息。
c. GPT集成:生成的提示信息将传递给生成式预训练转换器(GPT)等语言模型。GPT 利用自然语言处理技术生成行为驱动开发(BDD)特征文件。
d. BDD特征生成:使用提示信息,API 测试机器人动态创建 BDD 特征文件,描述 API 的预期行为。这些文件包括场景、步骤和断言。
e. 测试执行:生成 BDD 特征文件后,可使用 BDD 测试框架(如 Cucumber)执行这些文件。功能文件可作为测试规范,实现自动测试执行。
释放自动化测试用例生成的力量
虽然API测试机器人在生成测试用例方面提供了重要帮助,但验证和审查生成的 BDD 特征文件的准确性和有效性至关重要。人工验证可确保生成的文件符合预期的测试范围和业务需求。
然而,每一次迭代,API测试机器人都会变得更智能、更能干。随着我们更频繁地使用机器人,上述注意事项将变得多余。