自动化测试基础概述

1. 自动化介绍

什么是自动化?自动化测试的概念有广义和狭义之分:广义上讲:所有借助工具来辅助进行软件测试的方式都可以称为自动化测试;狭义上讲:主要是指基于UI层的功能自动化测试。

对于自动化要抓住关键:

模拟人工、提升效率、脚本复用、减少重复工作

相对手工而言:使用工具或代码

验证功能业务满足需求

本质上提升测试效率

适用于回归测试

2.自动化的适用范围

什么项目适合自动化测试呢?

项目需求稳定:软件系统界面稳定,UI界面变化不频繁

项目周期长:软件维护周期长,一般在半年以上的项目,且存在版本迭代

项目进度压力不太大:项目中进度比较稳定,不存在太大的压力,需要比较频繁的进行回归测试;

测试人员具备较强的编程能力:如掌握Python、Java语言

系统开发规范:被测软件系统开发较为规范,能够保证系统的可测试性

任务测试明确,不会频繁变动。

3.自动化的工具

自动化测试工具有很多,这里介绍几种常用的:

UFT(QTP) :企业级自动化测试工具,提供强大、易用的录制回放功能,同时兼容对象和图像两种识别模式,支持B/S和C/S两种架构的软件测试,属于付费工具 ;

Selenium :用于web应用程序测试工具,支持多平台,多浏览器,多语言(当下主流的语言Java,Python)去实现自动化测试,属于开源工具;

Robot Framework(RF) :基于Python语言编写的自动化测试框架,具备良好的可扩展性,支持关键字驱动,同时可测试多种类型的客户端或接口,可进行移动端测试,开源的;

Appium: 用于移动端App测试工具,支持多平台(Android ,IOS、H5),多语言(Java,Python)进行自动化测试,属于开源工具;

4.自动化框架

那么主流的自动化测试框架有哪些呢?

一般自动化测试框架都要由编程语言+单元测试框架+扫描编译工具+持续集成工具+测试结果平台+数据库+项目管理工具组合而来,每部分的作用如下:

编程语言:负责编写测试脚本、日志记录和输出,主流的编程语言是Java和Python;

单元测试框架:负责进行测试脚本用例的组织和执行,如Java的Junit/TestNg,Python的unittest/Pytest;

扫描编译工具:测试文件扫描编译,一般配合持续集成工具使用效果更佳,如Maven;

项目代码管理库:负责对自动化代码项目进行管理,比如Git或者SVN;

持续集成工具:负责对自动化进行持续集成,如经典的持续集成工具Jenkins,;

测试结果平台:负责对测试结果数据收集,生成测试报告,并汇总展示,如BeautifulReport,Allure等;

数据库:负责对测试数据进行管理,可以使用Excel,也可以使用MySQL数据库;

项目管理工具:负责对测试结果进行统计管理,如Testlink/ redmine;

常见的自动化框架,比如;

接口自动化框架:

Java Httpclient+testNG/Junit+Maven/Ant/Gradle+Jenkins+Allure/BeautifulReport+MySQL+testlink/redmine

Python Requests+unittest/pytest+Git+Jenkins+Allure/BeautifulReport+MySQL+testlink/redmine

Python+Rebot Framework+unittest/pytest+Git+Jenkins+Allure/BeautifulReport+MySQL+testlink/redmine

JMeter+Maven/Ant+Jenkins+MySQL+testlink/redmine

UI自动化测试框架

Java+selenium/appium+testNG/Junit+Maven/Ant/Gradle+Jenkins+MySQL+testlink/redmine

Python+selenium/appium+unittest/pytest+Git+Jenkins+MySQL+testlink/redmine

Python+rebot framework+unittest/pytest+Git+Jenkins+MySQL+testlink/redmine

说明:自动化测试工具太多,上面只是列举了使用率较高的一些开源工具,具体的框架选型,需要根据具体项目特点和团队、个人技术特点来决定!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210316A0CE2H00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券