写点什么

测试基础之:自动化测试

作者:甜甜的白桃
  • 2022 年 6 月 14 日
  • 本文字数:1176 字

    阅读完需:约 4 分钟

测试基础之:自动化测试

一、定义

自动化测试,是指把以人为驱动的测试行为转化为机器执行的一种过程。一般更适用于需求稳定、研发和维护周期长、需要频繁执行回归测试或手工测试无法实现或实现成本过高的项目。




特别说明:

1. 一般有效执行 >= 5 次,才能收回自动化测试成本;

2. 一些用例的自动化,必须要求开发人员在产品中预留可测试性接口,否则后续的自动化很难开展。

二、常用方法

1、单元测试的自动化技术

自动化执行测试用例;

自动化生成用例框架代码;

自动化生成部分测试输入数据;

自动化生成桩代码;

自动化静态分析被测代码,常用 Sonar、Coverity 等工具;

测试覆盖率的自动统计与分析

2、集成测试的自动化技术

与单元测试的自动化技术不同的是,被测函数内部调用的函数必须真实,不允许使用桩代码。对测试框架要求极高,追求系统复杂性的解耦,会尽量避免“大单体”应用,采用 Web Service 或 RPC 调用的方式来协作完成功能的实现。尤其是互联网企业,通常不会去做代码级集成测试。

3、Web Service 测试的自动化技术

主要是 SOAP API 和 REST API 这两类 API 测试,使用 SoapUI、Postman 等工具。由界面操作手动发起 Request 并验证 Response。因为难以和 CI/CD 集成,所以出现了 API 自动化测试框架。


自动化执行 API 测试用例;

  • REST Assured:API 开源自动测试框架,可以方便地发起 Restful API 调用并验证返回结果。

自动化生成测试脚手架代码;

  • 生成的测试脚手架代码,通常包含被测 API 的调用、测试数据与脚本的分离等。

自动化验证 Response;

  • 自动比较两次相同 API 调用的返回结果,并识别出有差异的字段值,比较过程可以通过规则配置去掉例如时间戳、会话 ID 等动态值。

基于 SoapUI 或 Postmand;

  • 开发一个自动化代码转换生成工具,输入 SoapUI 或 Postman 测试用例元数据,即测试用例的 JSON 元文件,输出符合 API 测试框架规范的基于代码实现的测试用例。这样原本的测试用例积累可以直接转换成在 CI/CD 直接接入的自动化测试用例。

4、GUI 测试的自动化技术

识别页面元素,对其进行自动化操作,模拟终端用户的行为验证软件功能的正确性。是大众最熟悉、发展时间最长、应用最广的自动化测试技术。


Web 浏览器;

  • 业内主流的开源方案采用 Selenium;

  • 商业方案采用 Micro Focus 的 UFT,前身是 HP 的 QTP;

移动端原生应用 GUI 自动化(Native App);

  • 采用主流的 Appium,对 iOS 环境集成了 XCUITest,对 Android 环境集成了 UIAutomator 和 Espresso;


虽然采用的具体技术差别很大,但是用例设计的思路非常相似。除了上述这些外,还有比较新的 Katalon Studio,结合了 Selenium 和 Appium,提供了简单易用的 IDE 环境,支持录制和 object spy,有点像 UFT 的感觉。


特别说明:

齐涛-道长,他们采用 robot framework+requestslibrary 的方式来做 API 自动化测试,认为比较适合团队编程能力相对较弱的团队。


👉如果在阅读过程中有任何疑问,欢迎在评论区留言参与讨论!

发布于: 刚刚阅读数: 7
用户头像

👩‍🦰 深耕测试开发 2021.02.23 加入

⭐ 坚信做好每个当下,美好一定会不期而遇! 2018年至今 坐标大连,负责移动端SDK开发 2015年 入职腾讯,负责手机QQ iOS开发 软件评测师认证 高中和中职信息技术教师资格证

评论

发布
暂无评论
测试基础之:自动化测试_软件测试_甜甜的白桃_InfoQ写作社区