当前位置: 首页 > news >正文

【Python自动化测试】——自动化测试基础

在这里插入图片描述

自动化测试基础

      • 1.分层的自动化测试
      • 2.适合自动化测试的项目
      • 3.如何学习UI自动化测试
      • 4.Selenium简介
      • 5.appium简介

1.分层的自动化测试

测试金字塔
  测试金字塔测试金字塔的概念是由敏捷大师Mike Cohn首次提出,他的基本观点是:我们应该有更多低级别的单元测试,而不仅仅是通过用户界面运行端到端的高层测试。
传统的自动化测试
  传统的自动化测试基于产品UI层的自动化测试,它是将黑盒功能测试转化为由程序或工具执行的一种自动化测试。
分层自动化测试
  倡导的是从黑盒(UI)单层到黑盒和白盒多层的自动化测试,从全面黑盒自动化测试到对系统的不同层次进行的自动化测试。
单元自动化测试
  对软件中的最小可测试单元进行检查和验证到底是让测试人员做单元测试还是让开发人员做单元测试呢?
接口自动化测试
  模块接口测试:主要测试模块之间的调用与返回。它主要强调一个可实现完整功能的类、方法或函数的调用测试。(适合开发人员去做)
  协议接口测试:主要测试对网络传输协议的调用,如HTTP/SOAP等,一般应用在前端和后端开发之间以及不同项目之间。(既可以由开发人员去做,也可以由测试人员去做)
UI自动化测试
  以实现手工测试用例为主,可降低系统功能回归测试的成本(人力成本和时间成本),UI自动化测试由部分功能测试用例提炼而来,更适合测试人员去做。

2.适合自动化测试的项目

适合自动化测试的项目应具备以下几点:
(1)任务测试明确,不会频繁变量
(2)每日构建后的测试验证
(3)比较频繁的回归测试
(4)软件系统界面稳定,变动少
(5)测试人员具备较强的编程能力
(6)软件维护周期长
(7)项目进度压力不太大
(8)被测软件系统开发较为规范,能够保证系统的可测试性
(9)具备大量的自动化测试平台
(10)需要在多平台上运行的相同测试实例、组合遍历型的测试,以及大量的重复任务

3.如何学习UI自动化测试

编程语言
编程语言是基础,自动化测试的项目离不开扎实的编程基础

Selenium / appium API
  Selenium/appium支持多种编程语言(Java,Python,C#,JavaScript)等。Seleniumappium API提供了操作Web/App的类和方法。我们只需要使用这些方法即可操作Web页面上的元系或App上面的控件。

单元测试框架
如何定义一条测试用例、如何组织和运行测试用例,以及如何统计测试用例的运行结果,都是由单元测试框架实现的。

4.Selenium简介

Selenium三大版本
在这里插入图片描述

Selenium1.0
  Selenium1.0也被称为Selenium RC(Remote Control),它使用基于JavaScript注入的方式来实现自动化测试。具体而言,Selenium1.0会向被测试的Web页面中注入JavaScript代码,通过这些代码来控制浏览器的行为。不过,这种方式存在一些缺点,比如容易受到页面结构变化的影响,并且稳定性欠佳,目前该版本已经被官方正式弃用。
Selenium2.0
  Selenium2.0SeleniumWebDriver两个项目的合并,即Selenium1.0 + WebDriver = Selenium2.0,所以Selenium2.0又名WebDriver。WebDriver曾经是Selenium的竞争对手,它能弥补Selenium1.0的一些不足。该版本提供了对各种浏览器的自动化操作接口,与不同浏览器之间的兼容性较好,具有较强的稳定性和可靠性。
Selenium3.0
  Selenium3.0是现在比较先进且广泛使用的版本。这一系列是较为成熟和稳定的版本之一,在功能和稳定性上相对完善,对各类浏览器的支持较好,同时还提供了丰富的API和工具集。不过由于其较老的架构设计,可能存在一些性能方面的问题,需要进行优化和调整。
(1)Selenium3.0只支持Java8以上版本;
(2)Selenium3.0中的Firefox浏览器驱动独立了;
(3)mac OS操作系统集成了Safari的浏览器驱动;
(4 )只支持IE9.0以上版本。

5.appium简介

appium简介
当前移动平台上主流的自动化测试工具之一;
appium = application + Selenium
appium是一个开源的自动化测试工具,支持iosAndroid平台上的原生应用、Web应用及混合应用。

原生应用
是指那些用ios或者Android SDK开发的应用。
Web应用
是指可以使用移动浏览器访问的应用。
混合应用
是指用原生代码封装网页视图,原生代码和Web内容交互的应用。


相关文章:

  • ABC392题解
  • 力扣算法ing(36 / 100)
  • 神经网络知识点整理
  • 中间件漏洞—Apache
  • 在线监测工具介绍 -- Arthas
  • 探索CSS3中那些不常用但特别强大的属性和属性值
  • JavaScript 比较运算符
  • 第二十章:类型属性的重载_《C++ Templates》notes
  • 【Go 】Go 语言中的 channel介绍
  • K8S学习之基础四十四:k8s中部署Kibana
  • vue3 ts 注册全局组件
  • N列股票收盘价为起点的马科维茨(Markowitz)均值—方差理论
  • 低配电脑畅玩《怪物猎人:荒野》,ToDesk云电脑优化从30帧到144帧?
  • 【C++】 --- 类和对象(中)
  • Java UDP聊天室搭建指南
  • Vulnhub Momentum系列靶机合集
  • 施耐德 Unity Pro 项目配置
  • 【SG90舵机】arduino uno控制SG90舵机
  • GraphMLP: A Graph MLP-Like Architecture for 3D Human Pose Estimation
  • 各类容器技术深度解析:容器全解
  • A股三大股指收涨:军工股掀涨停潮,两市成交近1.5万亿元
  • 8小时《大师与玛格丽特》:长度可以是特点,但不是价值标准
  • 践行自由贸易主义理念,加快区域合作进程
  • 郭旭涛转任河北省科协党组书记、常务副主席,曾任团省委书记
  • 戴紫薇评《不像说母语者》丨后殖民语境下的母语追寻
  • 抗战回望17︱《青年界》:给一般青年供给一些精神的食料