23年测试前景?测试开发?开发测试框架你懂多少?

news2024/10/7 10:22:48

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

基本概念
库:库是由代码集合成的一个产品,供程序员调用。面向对象的代码组织形成的库叫类库,面向过程的代码组织形成的库叫函数库。

框架:框架是为解决一个或一类问题而开发的产品,用户一般只需要使用框架提供的类或函数,即可实现全部功能。

工具:在我看来工具与框架所做的事情类似,只是工具提供了更高层次的封装,屏蔽了底层的代码,提供单独的操作界面供用户操作。例如,UFT(QTP)、Katalon属于自动化测试工具。

常见库
根据上面的概念,Requests是HTTP库,请看官方的简介。

使用是这样的:

import requests
r = requests.get('https://api.github.com/events')

那么,其实 Selenium Webdriver也只是一个而已。

from selenium import webdriver
browser = webdriver.Firefox()

browser.get('http://www.yahoo.com')

注意:我说的可不是整个Selenium工具,整个Selenium包含:Selenium IDE, Selenium Grid, Selenium Webdriver等。

我们只需要用到库里面的某个类、函数就可完成自己想要实现的功能。

常见框架
再来说说框架, unittest叫单元测试框架,请看官方的简介。

The unittest unit testing framework was originally inspired by JUnit and has a similar flavor as major unit testing frameworks in other languages. It supports test automation, sharing of setup and shutdown code for tests, aggregation of tests into collections, and independence of the tests from the reporting framework.

所以,我们在使用unittest的时候是这样的。

import unittest

class TestStringMethods(unittest.TestCase):

    def test_upper(self):
        self.assertEqual('foo'.upper(), 'FOO')


if __name__ == '__main__':
    unittest.main()

这应该是编写的最简单的一条测试用例了。

django叫 Web开发框架,我想你应该也没意见。

mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        wsgi.py
    polls/
        __init__.py
        admin.py
        apps.py
        migrations/
            __init__.py
        models.py
        tests.py
        views.py

这是一个框架的目录结构。那怕我只是想用django在Web页面上展示一行"hello world",那么也要涉及到多个文件的代码编写。

框架的学习和使用成本更高,我们要想使用框架可能需要到它所提供的多个类、函数,而且还要遵循它的代码结构或目录结构。

常见工具
工具很好理解,postman、JMeter、fiddler…这些需要下载安装的一般都叫工具。这不是我们讨论的重点。

一个的框架诞生过程
回到框架的话题上,一般一个框架的诞生过程会经历三个阶段。

学会使用
一般就是看框架的官方文档,首先,安装,然后,拿它来做项目。这一用就是好多年。比如,我用django好几年了,从来没完整的看过它的官方文档了,更别说读用它的源码了。

阅读源码
一般牛B一点,或经验丰富开发,当然不想只局限于框架的使用层面上。他们会花几周,甚至几个月来阅读框架的源码。这样有助于框架使用过程的各种问题的处理和排查。

自研框架
能够自研框架,除了天赋,还要有机遇。比如你们公司对性能有着极高的要求,所有的开源或商业的框架都无法满足你们需求。于是乎走上了自研的道路,分析整个框架性能瓶颈,用更高性能的语言替换关键模块,或更牛B的算法实现关键功能。

阿里的dubbo叫框架,应该没人反对吧?

自动化测试框架

而我们测试人员口中说的,开发自动化测试框架 大多数情况是:

python + unittest + HTMLTestRunner + page objects
python + pytest + allure + page objects

开发人员… ?
这不就是我用:
python + django + pymysql + HTML + CSS + JavaScript 实现一个Web系统

这不是叫"项目开发"么?你只是拿一堆现成的东西整合到了一起,实现了自己的想要的某某功能。这叫 项目开发,不叫 框架开发。

robot framework是框架

robot framework当然是自动化测试框架了。

为什么它能叫框架?就因为它带个"framework"?当然不是,因为它实现的自动化测试的一整套东西。

如何编写用例;
如何组织用例;
如何运行测试用例;
如何统计用例结果;
如何生成测试报告;
如何扩展测试库;

如果上面这些都是你自己设计和封装的,那么你也可以说自己开发了一个自动化测试框架。

下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只要你心存信念,勇往直前,永不放弃,就一定能够突破困境,实现自己的梦想。每一步都是进步,每一次挫折都是成长。相信自己,相信未来,让努力成为自己奋斗的力量!

每一次努力都会有所收获,只要你愿意去尝试。不要放弃自己的梦想,坚持下去,成功就在不远处。相信自己的能力,勇往直前,未来将会更加辉煌。从现在开始,为自己的目标而奋斗吧!

只要心中有梦想,就应该勇往直前,坚持不懈地努力奋斗。每一次挑战都是成长的机会,每一步努力都是向成功迈进的道路。所以,请相信自己,坚定前行,未来可期!

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

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

相关文章

接口文档这几点我们一定要注意

我们在做开发的时候,经常需要输出接口文档,我们的接口文档,如果输出的有问题,首先给别人的感觉就是觉得你不专业,另外好的接口文档,给了他人以后,就完全可以按照你接口文档去做对接,…

【vue】项目开发常见问题目录

问题目录(持续更新!) 0,页面初始化1, v-if 与 v-for 同时使用报错的问题2, 页面传参注意事项3, Vue路由this.$router.push转跳同一个页面不刷新4,NavigationDuplicated: Avoided red…

Linux之Centos7.6版本下载及安装Go语言环境配置,安装Go1.18版本教程笔记-2023版

文章目录 一、Linux下安装Go环境1.远程获取2.解压3. 添加环境变量5.Go环境配置图配置完成信息图 二、VsCode连接我们Go2.1安装对应的插件2.2进行连接3.相关配置4.成功连接 一、Linux下安装Go环境 推荐在linux下安装Go,因为windows配置的话有些运行不了,在我做Mit6.8…

【SpringCloud学习笔记】gateway网关

gateway网关 核心概念: 路由(route):路由信息由 D、目标 RI、一组断言和一组过滤器组成。如果断言路由为真,则说明请求的 URI 和配配断言(predicate): Java8 中的断言函数&#xf…

5种raid冗余磁盘阵列

1 RAID?作用? 1.1 RAID RAID就是冗余磁盘阵列,通常称作「磁盘阵列」的RAID (Redundant Array of Independent Disks)功能,多半是应用在NAS这类肩负资料储存的设备上,它能依据NAS里硬盘数量、容量的不同,提…

频段、信道、信道带宽、传输速率无线路由器2.4GHz和5GHz的区别?

无线通信是指电磁波经过空间传播传递信息的通讯方式,也被称为无线电通信。无论是采用何种的无线接入技术,都会涉及到4个重要的参数: 第一、频段 无线通信使用的是电磁波,既然是波,那就有频率,通过将电磁波…

使用 Jetpack Compose 创建自定义的对话框(Dialog)

在 Jetpack Compose 中,对话框(Dialog)是一种常见的用户界面组件,用于展示重要的信息、确认操作或者收集用户输入。本篇博客将带你深入了解 Jetpack Compose 中的对话框,并展示如何创建自定义的对话框,以满…

复试线即国家线!你敢不敢冲?

List item 一、学校及专业介绍 成信大近年也比较热门,全称成都信息工程大学(Chengdu University of Information Technology),位于四川省成都市,为教育部首批“卓越工程师教育培养计划”试点高校、“四川2011计划”、“…

2023一造各科速记手册

[考点]我国建设项目总投资及工造价的构成 生产性建设项目总投资包括建设投资、建设期利息和流动资金:非生产性建设项目总投资包括建设投资、建设期利息。其中建设投资和建设期利息之和对应于固定资产投资,固定资产投资与建设项目的工程造价在量上相等。 工程造价是…

STM32单片机(七)ADC模拟数字转换器----第二节:ADC模数转换器练习1(AD单通道)

❤️ 专栏简介:本专栏记录了从零学习单片机的过程,其中包括51单片机和STM32单片机两部分;建议先学习51单片机,其是STM32等高级单片机的基础;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 :适用于想要…

【送书福利-第十三期】计算机核心基础知识需要搞懂哪些?

大家好,我是洲洲,欢迎关注,一个爱听周杰伦的程序员。关注公众号【程序员洲洲】即可获得10G学习资料、面试笔记、大厂独家学习体系路线等…还可以加入技术交流群欢迎大家在CSDN后台私信我! 本文目录 一、前言二、书籍介绍1、《深入…

Flink基础概念及常识

1.flink入门 官方定义:Apache Flink是一个框架和分布式处理引擎,用于在无边界和有边界数据流上进行有状态的计算,Flink能在所有常见集群环境中运行,并能以内存速度和任意规模进行计算。 简言之,Flink是一个分布式的计…

AUTOSAR(ETAS)工具ISOLAR简介

注:今天安装ETAS遇到了很多坑: 软件需要安装在VMware的windows虚拟机中,目的是因为公司的ETAS工具买的软件license是与电脑的mac地址绑定的,所以要想用ETAS软件,就必须使用虚拟机,然后更改mac地址&#xf…

第二十三章_Redis高性能设计之epoll和IO多路复用深度解析

before 多路复用要解决的问题 并发多客户端连接,在多路复用之前最简单和典型的方案:同步阻塞网络IO模型 这种模式的特点就是用一个进程来处理一个网络连接(一个用户请求),比如一段典型的示例代码如下。 直接调用 recv 函数从一个 socket 上读…

【零基础入门学习Python---Python的五大数据类型之字典类型】

一.Python的五大数据类型之字典类型 Python中的字典是一种无序的可变容器,可以存储任意数量的键值对。接下来我们就来学习一下五大数据类型之字典类型。 1.1 什么是字典 字典的键必须是唯一的,而值则可以是任意类型的对象,如字符串、数字、列…

2.6C++虚基类

C 虚基类概述 C虚基类是一种特殊的基类,用于解决多重继承中的菱形继承问题。 虚基类通过共享基类的成员来解决这个问题。 在定义虚基类时,需要在基类名前加上关键字 virtual 。 虚基类的初始化和普通基类的初始化有些不同,因为虚基类的构…

4.salesforce权限相关

salesforce权限相关 一,控制用户访问权限1.Levels of Data Access(数据访问权限级别)1. 组织(Organization)级别2. 对象(Objects)级别3. 字段(Fields)级别4. 记录&#x…

【IMX6ULL驱动开发学习】11.驱动设计之面向对象_分层思想(学习设备树过渡部分)

一个可移植性好的驱动程序,应该有三个部分组成 1、驱动框架程序(xxx_drv.c) — 对接应用层的 open read write 函数,不做GPIO具体操作 2、硬件操作程序(xxx_chip_gpio.c)— 执行具体的GPIO操作,…

传输层解析

目录 传输层解析 传输层概述 传输层的作用 传输层的协议 TCP协议概述 UDP协议概述 TCP协议 TCP的封装格式 TCP的连接与断开 TCP的流控与差错控制 TCP的计时器 TCP的应用 UDP协议 UDP的封装格式 UDP的应用 UDP的流程与差错控制 传输层解析 传输层概述 传输层的…

一招搞定电脑提示“由于找不到XINPUT1_3.dll,无法继续执行代码”问题

玩游戏或者运行程序软件的时候,电脑提示“由于找不到XINPUT1_3.dll,无法继续执行代码”是怎么回事呢?其实xinput1_3.dll是Windows操作系统中的一个动态链接库文件,它是DirectX API的一部分,用于提供对输入设备的支持&a…