自动化测试概述-day1

  • 前言
  • 一、什么叫自动化?
  • 二、测试金字塔
  • 1.UI层自动化测试
  • 2.Service层自动化测试
  • 3.Unit层自动化测试
  • 自动化测试适用的范围?
  • 常见的自动化测试工具
  • 1.Selenium


前言

本文要记录的大概内容:
什么是自动化?
测试金字塔?
自动化测试的分类?
自动化测试的工具有哪些?


一、什么叫自动化?

自动化:是使用一些工具(或程序)的方式来代替或辅助手工测试的行为

二、测试金字塔

Mike Cohn对测试金字塔的详细描述,测试分为三层:

1.UI层

2.Service层

3.Unit层

并倡导应该进行更多的Unit测试。

传统的自动化架构 自动化形式_自动化测试


金字塔从上到下,体积越来越大,代表应该投入的测试工作量。

1.UI层自动化测试

UI层是软件产品交互的界面,需求变动多;为了减轻测试人力成本,诞生了相关工具,例如 QTP,Selenium,RobotFramework等

UI层测试交互功能,还需要测试前端代码!
Qunit是测试JS的一个强大单元测试框架。

2.Service层自动化测试

Service层重点是接口测试:
1.模块之间的接口:该类接口的测试主要是对类或者函数的调用,然后去验证返回的结果
2.服务接口:前后端之间的接口调用,对其返回的结果进行验证。

接口测试工具:Postman,Jmeter,SoupUI等

3.Unit层自动化测试

就是批量的单元测试;
单元测试需要懂相关代码,分析局部数据结构,查看代码的编写规范;
单元测试框架:Junit,pytest,unittest等

自动化测试适用的范围?

1.需求变动小的项目,稳定的项目
2.需要大量的回归测试
3.UI层变化频率低

常见的自动化测试工具

1.Selenium

体积小:只有几百KB

多语言:支持Java,C#,Python等

兼容性强:支持chrome,IE,Firefox等常用浏览器;

原理:来自白月黑羽博客的图片

传统的自动化架构 自动化形式_自动化测试_02


当我们使用selenium编写操作步骤,当执行这些操作时,实际上是以一个HTTP请求发送给浏览器的驱动,浏览器驱动包含一个用来接受这些的请求的HTTP Server,然后将HTTP请求规范化,然后根据规范化的内容去操作对应的浏览器,再将执行结果返回。