正准备升职加薪?自动化测试框架设计原则必须要知道...

news2024/11/17 13:44:32

本期小编将为大家带来自动化测试方面的基础知识,正在学习及将要提升学习自动化的同学们可自行参考啦,希望大家都可以尽快升职加薪!

下面跟着小编来认识一下自动化测试框架及其原则吧!

自动化测试框架

自动化测试框架需要基于特定的编程语言和测试工具实现,主要用于支持自动化测试执行和管理。

它的组成部分有以下几个方面:测试脚本库、测试引擎、测试报告。其中测试报告需要清晰且简单明了地去呈现测试结果并给出相应的分析和建议。

自动化测试框架设计原则

01、代码规范

随着业务的不断推进,必然会涉及代码的二次开发,因此代码的编写应符合通用规范,代码的命名也要符合业界标准,且代码层次要清晰。良好的代码规范在大型项目、多人协作型项目中尤其重要。倘若整个框架代码风格混杂、晦涩难懂,后续维护就会很困难。

02、模块清晰明确

模块化就是将测试框架从逻辑上分为几个不同的模块,它的好处是可以进行重用且便于替换修改。当然如果测试框架没有做模块化的划分,测试报告是耦合在框架代码里的,那么就会引发无法切换测试报告或切换代价过大的一系列问题,再去改动就会比较困难。

03、通用性强

测试框架可以通用于不同的操作系统,它不仅适用于Windows操作系统上,还适用在MacOS、Linux系统上,越通用测试框架的受众就会越多。它能解决同一类通用问题,如测试框架有个底层方法是用来操作弹出框的,无论是Alert框、确认框,还是一个允许用户输入的交互框,测试框架应该都能识别并操作。

04、可维护、可扩展

(1)可维护性:测试框架需要做到容易维护,符合一定的代码规范,模块清晰,且整个测试框架代码风格还要统一、易读、易懂。它需要做到在框架出问题时能轻松定位并修改以及多人合作框架时,框架代码要看起来出自同一人之手。
(2)可扩展性:它是指当需求变化时框架容易扩展。若测试框架不能扩展,无法解决业务发展带来的新问题,这样测试框架的寿命会很短。

05、错误处理机制

图片
在测试运行中,难免会出现种种运行错误,因此测试框架就必须具备高效处理错误的能力。错误处理机制一般可以分为停止运行和错误恢复。

06、系统日志清晰、便捷

系统的操作日志也可快速排查问题根源,因此日志一定要清晰详细,最好具备上下文,这样才能便于根据日志进行有效调试,快速定位错误发生的原因。

07、支持测试环境切换

一个产品从开发到上线需要经历的测试环境有dev环境,集成测试环境,预生产环境,生成环境等。因此测试框架应该满足一套脚本可以多环境运行,支持环境切换且能根据环境进行自动化配置。

08、支持外部数据驱动

测试框架会把只有数据不同,步骤和操作都相同的测试用例,在运行时解析成为多个不同的独立测试用例,在测试运行结束后,全部逐一展示到测试报告中。根据外部输入数据,动态切换运行用例。

09、支持顺序并发远程运行

测试用例有上千条,甚至上万条时,顺序测试会花费大量的时间。为了快速得到测试结果,测试框架应该支持顺序、并发、远程执行,这样可以缩短测试用例的整体执行时间。

10、报告完备详尽

测试报告是QA工作中的重要一环,通常在一个项目结束或者一个sprint结束时发出。完备详尽的测试报告,不仅可以知道QA到底做了什么工作,还可以看出整个项目的生命周期运行得平稳与否,软件的质量如何。

11、解决当前未解决的问题

从功能角度来看,框架得到认可,要么是解决了当前无法解决的问题,要么是解决方案比当下的更好。因此框架能不能被认可,就在于它是否具有独特的功能特性。

12、版本控制,回溯复盘

实际上版本控制就是将代码纳入版本控制系统的管理之下。有了版本控制,不同版本的测试代码就能以不同分支的形式出现,否则,就只能一次保持一个版本的代码,非常不方便。它不仅使协作开发、版本切换变得非常容易,使用者也可通过查看版本之间的变化来理解框架的发展。

13、持续集成,全局出发

“持续集成”是从整个公司业务出发,需要与整个开发团队合作完成,测试框架应该能便捷地集成至公司的持续集成系统,并且通过持续集成系统来触发测试。

最后能给予你助力的教程!

这份资料,对于【软件测试】的朋友来说应该是最全面最完整的备战资料,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,这些资料也陪伴了我走过最艰难的路,希望也能帮助到你!!!

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/604807.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Transfomer编码器中自注意力机制、前馈网络层、叠加和归一组件等讲解(图文解释)

Transformer中的编码器不止一个,而是由一组N个编码器串联而成,一个编码的输出作为下一个编码器的输入,如下图所示,每一个编码器都从下方接收数据,再输出给上方,以此类推,原句中的特征会由最后一…

Nginx网络服务——主配置文件-nginx.conf

Nginx网络服务——主配置文件-nginx.conf 一、全局配置的六个模块简介二、nginx配置文件的详解1.全局配置模块2.I/O 事件配置3.HTTP 配置4.Web 服务的监听配置5.其他设置 三、访问状态统计与控制1.访问状态统计2.基于授权的访问控制3.基于客户端的访问控制 一、全局配置的六个模…

6个音效素材库,自媒体必备~

视频剪辑、自媒体必备的6个音效素材网站,再也不用担心找不到声音素材了,赶紧收藏起来,一定对你非常有用~ 菜鸟图库 https://www.sucai999.com/audio.html?vNTYxMjky ​ 菜鸟图库是一个综合性素材网站,站内涵盖设计、图片、办公、…

Termius使用[分屏同时操作]

免费版可用ssh,tftp连接服务器,界面美观操作简洁 一 安装 官网 进入官网,登陆后进入个人页面,下载对应系统软件 安装完成后,在应用中登陆账号后即可开始使用 二 基本操作 [只针对ssh连接服务器操作] 2.1 连接服务…

MySQL_11 用户管理和权限管理

目录 一、用户管理 1.用户介绍 : 2.操作指令 : 3.代码演示 : 二、权限管理 1.MySQL常见权限汇总 : 2.相关指令 : 3.代码演示 : 一、用户管理 1.用户介绍 : MySQL中的用户都存储在系统数据库mysql中的user表中,如下图所示 : user表中&#xff0c…

银行从业——法律法规——金融基础知识

第二章 金融基础知识 第二节 货币政策 【 知识点1】 货币政策目标 制定和实施货币政策, 首先必须明确货币政策最终要达到的目的, 即货币政策的最终目标。中央银行通过货币政策工具操作直接引起操作目标的变动,操作目标的变动又通过一定的途…

深度:解密数据之力,奏响制造业智能升级的狂想曲!

‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 在21世纪的今天,我们正在经历着一个伟大的变革,一个由数字技术引领的产业革命——智能制造。在这场变革中,大数据、人工智能、5G专网、工业物联网和智能机器人等尖端技术,正如…

Grounded Language-Image Pre-training(论文翻译)

文章目录 Grounded Language-Image Pre-training摘要1.介绍2.相关工作3.方法3.1统一构建3.2.语言感知深度融合3.3.使用可扩展的语义丰富数据进行预训练 4.迁移到既定的基准4.1.COCO上的zero-shot和监督迁移学习4.2.LVIS上的zero-shot 迁移学习4.3.Flickr30K实体上的 phrase gro…

Redis核心数据结构-01

1、String String 数据结构是简单的key-value类型,value其实不仅是String,也可以是数字。 常用命令:get、set、incr、decr、mget等。 应用场景:String是最常用的一种数据类型,普通的key/ value 存储都可以归为此类&…

MongoDB复杂分组聚合查询

目录 1 聚合查询1.1 MongoDB的聚合查询 2 聚合管道方法2.1 聚合流程2.1.1 详细流程 2.2 聚合语法2.2.1 参数说明2.2.2 注意事项 2.3 常用聚合管道2.3.1 与mysql聚合类比 3 使用示例3.1 统计所有数据3.2 对所有城市人数求合3.3 对城市缩写相同的城市人数求合3.4 state重复的城市…

【笔试强训选择题】Day20.习题(错题)解析

作者简介:大家好,我是未央; 博客首页:未央.303 系列专栏:笔试强训选择题 每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!!&#xff…

Splunk Enterprise 9.0.5 (macOS, Linux, Windows) 发布 - 机器数据管理和分析

Splunk Enterprise 9.0.5 (macOS, Linux, Windows) - 机器数据管理和分析 请访问原文链接:https://sysin.org/blog/splunk-9/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org 混合世界的数据平台 快速、大规模地从…

模块的加载机制

4.1优先从缓存中加载 模块在第一次加载后会被缓存。这也意味着多次调用require()不会导致模块的代码被执行多次 注意:不论是内置模块、用户自定义模块、还是第三方模块,它们都会优先从缓存中加载,从而提高模块的加载效率 4.2内置模块的加载…

【服务器】本地搭建PHP简单Imagewheel私人图床系统

文章目录 1.前言2. Imagewheel网站搭建2.1. Imagewheel下载和安装2.2. Imagewheel网页测试2.3.cpolar的安装和注册 3.本地网页发布3.1.Cpolar临时数据隧道3.2.Cpolar稳定隧道(云端设置)3.3.Cpolar稳定隧道(本地设置) 4.公网访问测…

Install Harbor 2.8 on Centos

目录 Node & System/Software Lists Architecture Overview of Harbor Install Harbor 2.8 Harbor Installation Prerequisites Install Docker and Docker Compose Install Harbor Pull and Push image from Harbor Reference documentation Node & System/S…

每日一道面试题之java 中 IO 流分为几种?

IO流是什么? 流是数据在数据源(文件)和程序(内存)之间经历的路径。 这样解释似乎是很抽象不易理解的,因此我们拿生活中的例子来说,我们可以把流看成流动的自来水,打开水阀,自来水就会通过水管从水源流到各个用户家中…

华为OD机试真题 Java 实现【求最小公倍数】【牛客练习题】

一、题目描述 正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小公倍数。 数据范围:1≤a,b≤100000 。 二、输入描述 输入两个正整数A和B。 三、输出描述 输出A和B的最小公倍数。 四、解…

卓望数码前端一面

卓望数码前端一面 原文网址:https://www.nowcoder.com/discuss/409361218459234304?sourceSSRsearch 1.css中flex布局有哪些常见的属性 display:flex 首先让一个容器为flex布局应该写 display:flex flex-direction flex有两个关键的轴,分别是主轴…

chatgpt赋能python:Python列表倒序排序

Python列表倒序排序 Python是一种高级编程语言,被广泛用于各种领域的应用程序开发中,包括数据科学和机器学习。Python语言自带许多强大的编程工具,其中列表是其中最基础的数据结构之一。它可以让程序员整理和管理大量的数据,在实…

7.Nginx优化

文章目录 Nginx优化Nginx隐藏版本号修改Nginx的用户和组用户配置Nginx网页缓存时间日志分割配置Nginx连接超时、连接保持修改Nginx的进程数配置Nginx网页压缩设置防盗链 Nginx优化 Nginx隐藏版本号 隐藏Nginx版本号,避免安全漏洞泄漏Nginx隐藏版本号的方法 修改配…