如今,软件交付的迭代速度越来越快,我们拥有为数不少的技术框架、开发工具、Web 服务、自动化工作流等,为了推动更加收用户青睐的软件和服务。
自动化测试或者说测试自动化被认为是DevOps的主要瓶颈之一。如果没有先进的测试自动化设置,敏捷开发模式下的软件质量问题就有可能会被放大而不是减少。
本文将详细聊一聊无脚本测试,将其与常规自动化测试区分开来,并讨论如何使用无脚本测试工具来克服软件质量的瓶颈。
什么是无脚本测试
顾名思义,无脚本或无代码测试是一种使用工具而不是编写测试脚本来自动执行测试的方法。这些工具通常基于诸如Selenium、httpclient、request、robot framework之类的测试自动化框架。
无脚本测试工具可以在测试者浏览功能时,记录在屏幕上显示的信息和操作行为。通常为录制测试脚本即为测试用例的编写测试步骤,该工具将通过记录这些操作来生成相同的测试步骤。
因此,无脚本测试的范围仅限于与UI元素进行交互。但是,测试人员可以验证端到端测试方案,并确保关键组件没有任何使用障碍,参考敏捷中的端到端测试。
无脚本测试受到与其使用的测试框架相同的限制。这意味着它很难测试验证码、图形验证等功能。尽管该工具通常不需要脚本测试,但为测试用例添加脚本支持的确可以让测试用例更加灵活和有效。由于无脚本测试大部分是使用工具完成的,不同的工具具有独特的功能同时会收到某些限制,这一点需要使用者提前了解。
无脚本测试如何工作?
用于无脚本测试工具中最流行技术是通过使用记录和回放来完成的。这意味着在屏幕上记录动作并作为测试用例回放将是测试工程师工作的主要内容。
记录和回放
正如上面中提到的那样,当测试人员与Web 网页交互时,将同时生成测试步骤。这些测试步骤可以稍后在浏览器上执行重放。
如果需要,测试工程师可以自动化多个数据输入(数据驱动),或将字段留空以测试此关键功能。一旦创建了一个测试用例,就可以使用不同的数据输入来完成各种功能点的验证。
如果开发团队更新了用户使用中的任何功能或者流程,则对应的测试用例也可以更加快速跟进和维护自动化测试。
以这个简单购物场景流程为例:
登录 > 浏览商品 > 添加购物车 > 添加快递信息 > 付款 > 生成订单
这种端到端方案具有多种功能,可能涉及到的数据输入和第三方功能集成。在改流程或者功能发生改变时时,自动化测试用例就会出错,测试工程师可以像用户一样轻松地操作一遍,记录调试录制结果,完成之后便可使其自动化。
无脚本测试的优势
与基于脚本的测试相比,无脚本测试具有明显的优势。
这里有几个:
基于脚本的测试 | 无脚本测试 |
---|---|
测试人员偏重自动化专业知识 | 测试人员偏重业务知识 |
测试用例重用缺少普适性 | 重用测试用例更有灵活性 |
仪表板、报告、测试计划不容易获得 | 仪表板、报告、测试计划触手可得 |
需要大量自定义 | 通常开箱即用 |
需要建立维护测试架构 | 简单的置和轻松入门 |
如何从无脚本测试中受益
尽管无脚本测试的好处取决于具体选择哪种工具,这里有一些普遍性的收获:
- 由于良好的拓展性,因此可以更快地交付
- 操作成本低,因此具有良好的投资回报
- 协作更加容易,因此可以提高参与度
- 快速构建测试用例,因此可以迅速响应需求的变更
结论
对于目前难以推行自动化测试的团队,无脚本测试可能是一个很好的解决方案。参考:基于代码的自动化和无代码自动化。