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

做软件测试,掌握哪些技术才能算作“测试大佬”?

一、过硬的基础能力

  其实所有的测试大佬都是从底层基础开始的,随着时间,经验的积累慢慢变成大佬。要想稳扎稳打在测试行业深耕,成为测试大牛,首当其冲的肯定就是拥有过硬的基础,所有的基础都是根基,后期所有的发展和提升都是基于测试基础铺垫的。

  所以核心的测试理论、测试用例设计方法、测试的方向、测试的分类,从简单的功能测试到高效的自动化测试、再从接口的工具使用,到性能测试,不管是做web端的项目还是app端的移动测试,都是基于基础,基于理论,基于核心的使用方法,只有拥有过硬的基础能力才能有序的持续发展。所以所有涉及到测试相关的基础都必须有广度的掌握,然后再进利用经验的积累,进行深度挖掘,非常熟练的使用。

  二、独立负责项目的能力

  首先要配得上大佬的称号,必须要相其匹配拥有独立负责一个项目的能力,这里说的独立负责并不是说一个人把整个项目全部测试完,而且全局把控,全局思维,能够把整个项目的业务领域的用户分布,功能特性,使用的具体场景,要有全面的用户意识。然后进行尽可能全面的测试覆盖。那么独立扶着一个项目上线具体要做那些事情呢?这边把大概项目的进展以及测试的阶段进行一个有序的说明:

  1、参与需求评审,进行产品的确认和研发的计划,提出有意义有效益的建议,然后编写测试计划,以及测试方案,和测试策略等。

  2、拿到产品原型图以及产品的需求规格说明书(也就说我们常说的需求文档)对需求进行全面的分析,比如有哪些是隐性需求,哪些是显性需求,尽可能的覆盖全面的细节的进行拆分测试点,然后再拆分过程中,有些不明确以及不清晰的需求可能是技术相关,也可能是没有理解的需求点,要跟产品经理或者项目经理,以及开发人员去进行确认,沟通,明确,然后最终明确核心需求点,再进行有效的拆分。

  3、需求拆分之后,进行测试用例的编写,然后执行,可以进行合理的分工,把控全局测试进度,测试范围,测试覆盖率等等,然后再这个阶段可以使用一些持续集成的工具,进行发布任务,管理,操控等来确保工作效率。然后缺陷报告也就是bug要及时提交到管理平推,对提交的bug进行跟踪,回归等。

  4、对整个项目要有风险的把控,延期等等,对质量和进度也要进行合理的平衡,及时反馈,根据具体实际情况进行合理的调整安排。

  5、所有测试内容完毕,提交缺陷报告,分析缺陷布局,整体,合理分析项目的软肋优化提升整体的质量。

  6、开始发布、上线,发布流程。把上线的步骤,完整的记录详情,确保没有操作失误。

  7、公司内部进行测试,也就是常见的阿尔法测试和贝塔测试阶段,核心还是重点进行生产环境的测试,然后就行上线,线上后核心的是日志信息和数据监控,预防问题发生和避免问题出现。最后进行线上问题的反馈流程等等,然后进行项目复盘,也就是最终的总结大会,主要对项目总体进行一个系统的评估和最终结果进行对比,来帮助后期迭代更新做优化做积淀。

  三、测试框架的能力:

  测试框架有很多种类,但是大体上都是大同小异,不管是测试的工具和框架不在于会的多,而是精通几种才是核心目的,因为主要还是以用得最多最高效为基准。适当的也可以自己取设计测试框架进行扩展和改写加功能都行,很多测试框架都提供了相对于的扩展方式和工具。那么接下来就介绍几种比较常见而且好用的测试框架如下:

  A:Selenium(Web自动化、爬虫)

  是一个最为广泛用于Web应用程序自动化(ui自动化)测试的框架,几乎可以模拟用户所有对浏览器进行的操作。

  特点:

  A.开源软件:源代码开放可以根据需要来增加工具的某些功能

  B.跨平台:linux 、windows 、mac

  C.核心功能:就是可以在多个浏览器上进行自动化测试

  D.多语言:Java、Python、C#、JavaScript、Ruby等

  E.成熟稳定:目前已经被google , 百度, 腾讯等公司广泛使用

  F.功能强大:能够实现类似商业工具的大部分功能,因为开源性,可实现定制化功能

  B:Pytest(白盒测试,接口自动化,web自动化)

  pytest是python的一种单元测试框架,同自带的unittest测试框架类似,相比于unittest框架使用起来更简洁,效率更高

  特点:

  A.非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考

  B.支持简单的单元测试和复杂的功能测试.

  C.支持参数化.

  D.执行测试过程中可以将某些测试跳过,或者对某些预期失败的Case标记成失败

  E.支持重复执行失败的Case.

  F.支持运行由Nose,Unittest编写的测试Case

  G.具有很多第三方插件,并且可以自定义扩展

  H.方便的和持续集成工具集成.

  C:Appium(移动端的UI自动化测试)

  Appium是一个自动化测试开源工具主要用于做app移动端自动化测试的工具,支持iOS和android平台上的移动原生应用、移动Web应用和混合应用。

  特点:

  A.移动测试的首选,基本在app自动化测试的工具上使用率占到市场上的90%以上

  B.支持多平台,ios,Android,等等

  C.支持多种编程语言,比如python,java,c#,js,ruby等等都可以使用

  D.跨平台工具,它允许测试人员使用同样的接口、基于不同的平台写自动化测试代码,大大增加了测试套件间代码的复用性。

  四、编程代码的能力

  最少掌握精通一门语言的熟练使用,但是做自动化脚本编写的代码语言首选肯定是python,其次是java,然后附带的除了编程能力之外还有对操作系统的熟练操作除了Windows还有Linux操作系统,以及测试环境的搭建等等也必须掌握得信手捏来。还有就是数据相关的比如常见的mysql、oracle、sqlserver、sqlite等都必须熟练使用。

  五、性能测试

  1、对性能测试的基础理论肯定是必须一定熟练掌握的,比如性能测试常见的方法有服务器的性能测试,前端的性能测试,app性能测试等等,以及具体的测试流程也需要熟练掌握使用。然后要明确常见的性能指标,比如响应时间、TPS、错误率、并发用户数,以及系统资源指标:CPU、内存、IO、网络吞吐量(网络带宽)等等。

  2、性能测试压测工具,首选Jmeter,或者LoadRunner,主要的作用是性能测试工具一般用来监测和收集压测中的数据,根据对数据的敏感度发现性能问题。然后配合开发或者项目经理进行性能调优需要对系统有全面的熟悉以及常见调优的经验要比较丰富,需要不断的思考和摸索定位到性能瓶颈。其次linux的相关常用命令也要会使用,比如一些监控命令,还有就是服务与容器相关的知识也需要掌握使用,比如常用的Docker命令和部署的原理,Tomcat云服务等等。其次中间件的话有RabbitMQ、KafKa也要会使用。最后的话就是关于问题定位的分析,还有就是分析调优并且进行各种参数的配置修改等等内容。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

文档获取方式:

这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取

相关文章:

做软件测试,掌握哪些技术才能算作“测试大佬”?

一、过硬的基础能力 其实所有的测试大佬都是从底层基础开始的,随着时间,经验的积累慢慢变成大佬。要想稳扎稳打在测试行业深耕,成为测试大牛,首当其冲的肯定就是拥有过硬的基础,所有的基础都是根基,后期所有…...

【算法与数据结构】530、LeetCode二叉搜索树的最小绝对差

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引,可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析:二叉搜索树的性质是左子树的所有节点键值小于中间节点键值,右子树的所有节点键值大于中间节…...

input输入事件

我要实现input输入框一边输入&#xff0c;一边在控制台输出结果 现有如下代码 <body><input type"text" onchange"myFunction()" /><script>function myFunction(){console.log(999)}</script> </body> 当敲下回车键后才会…...

接入 NVIDIA A100、吞吐量提高 10 倍!Milvus GPU 版本使用指南

Milvus 2.3 正式支持 NVIDIA A100&#xff01; 作为为数不多的支持 GPU 的向量数据库产品&#xff0c;Milvus 2.3 在吞吐量和低延迟方面都带来了显著的变化&#xff0c;尤其是与此前的 CPU 版本相比&#xff0c;不仅吞吐量提高了 10 倍&#xff0c;还能将延迟控制在极低的水准。…...

php://filter协议在任意文件读取漏洞(附例题)

php://filter php://fiter 中文叫 元器封装&#xff0c;咱也不知道为什么这么翻译&#xff0c;目前我的理解是可以通过这个玩意对上面提到的php IO流进行处理&#xff0c;及现在可以对php的 IO流进行一定操作。 过滤器&#xff1a;及通过php://filter 对php 的IO流进行的具体…...

【Redis】1、NoSQL之Redis的配置及优化

关系数据库与非关系数据库 关系型数据库 关系型数据库是一个结构化的数据库&#xff0c;创建在关系模型&#xff08;二维表格模型&#xff09;基础上&#xff0c;一般面向于记录。 SQL 语句&#xff08;标准数据查询语言&#xff09;就是一种基于关系型数据库的语言&a…...

9.5QTday6作业

面试题1&#xff1a;c语言中的static和c中的static的用法 在c语言中&#xff1a; 1.static修饰的全局变量作用域限制在当前文件&#xff0c;无法被外部文件所引用。2.static修饰的局部变量延长生命周期&#xff0c;但不改变作用域&#xff0c;同样无法被外部文件所引用。3.st…...

Redis I/O多路复用机制

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

Matlab 2016安装MinGW-w64-4.9.2

Matlab 2016安装MinGW-w64-4.9.2 项目需求&#xff1a;需要将matlab中的.m文件编译为cpp文件 .dll .h .lib。 我相信大家在对matlab2016安装MinGW-w64出现了各种各样的问题。如&#xff1a;4.9.2安装失败&#xff1b;安装了其他版本但是matlab检测不到&#xff0c;或者其他各种…...

Tomcat配置ssl、jar包

Tomcat配置ssl 部署tomcat服务&#xff0c;项目做到用https访问&#xff0c;使用nginx去做&#xff0c;访问任意一个子网站&#xff0c;都是https 或者 医美项目需要 上传jdk 456 tomcat war包 [nginx-stable] namenginx stable repo baseurlhttp://nginx.org/packages/…...

Unity中Shader实现UI去色功能的实现思路

文章目录 前言一、在开发过程中&#xff0c;在UI中会涉及一些需要置灰UI的需求&#xff0c;有很多实现的方法1、做两套纹理&#xff0c;通过程序控制切换2、使用shader实现对纹理去色 二、这里主要记录用shader实现的思路1、基础纹理的采样2、支持组件中的调色3、遮罩功能4、去…...

Python垃圾回收机制详解:引用计数与循环垃圾收集器

文章目录 Python垃圾回收机制引用计数机制循环垃圾收集器小结详细讲解及实操1. 程序中的垃圾问题2. 垃圾的定义3. 自动垃圾回收机制4. 示例&#xff1a;使用del方法删除垃圾对象5. 手动处理垃圾回收6. 结束程序7. 垃圾回收的自动处理8. 结束程序 python精品专栏推荐python基础知…...

自然语言处理应用(三):微调BERT

微调BERT 微调&#xff08;Fine-tuning&#xff09;BERT是指在预训练的BERT模型基础上&#xff0c;使用特定领域或任务相关的数据对其进行进一步训练以适应具体任务的需求。BERT&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;是一种基于Tr…...

MySQL基础【学习至基本语句】

一、安装与配置 1、安装 yum install -y mysql-server.x86_642、MySQL安装完成后&#xff0c;启动报错&#xff0c;查看MySQL的状态&#xff0c;发现是3306端口被占用 [rootiZ56kkvaq4nlfhZ etc]# systemctl status mysqld.service ● mysqld.service - MySQL 8.0 database …...

Leetcode152. 连续子数组的最大乘积

力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 给你一个整数数组 nums &#xff0c;请你找出数组中乘积最大的非空连续子数组&#xff08;该子数组中至少包含一个数字&#xff09;&#xff0c;并返回该子数组所对应的乘积。 测试用例的答案是一个 32…...

01_kafka_环境搭建安装_topic管理

文章目录 安装jdk配置主机名Zookeeper 下载与安装Kafka 下载与安装测试集群版安装测试输出 安装jdk 略 配置主机名 hostnamectl set-hostname kafka_1 /etc/sysconfig/network HOSTNAMEkafka_1/etc/hosts ip kafka_1ping kafka_1 测试 Zookeeper 下载与安装 由于 集群…...

Python+Requests+Excel接口测试实战

1、EXCEL文件接口保存方式&#xff0c;如图。 2、然后就是读取EXCEL文件中的数据方法&#xff0c;如下&#xff1a; 1 import xlrd2 3 4 class readExcel(object):5 def __init__(self, path):6 self.path path7 8 property9 def getSheet(self): 10 …...

10:STM32------I2C通信

目录​​​​​​​ 一:I2C通信协议 1:I2C简历 2:硬件电路 3:I2C时序基本单元 A : 开/ 终条件 2:发送一个字节 3:接收一个字节 4:应答机制 4:I2C时序 1:指定地址写 2:当前地址读 3: 指定地址读 二:MPU6050 1:简历 2:参数 3:硬件电路 4:框图 5:寄存器地址 …...

Git多人开发解决冲突案例

准备工作&#xff1a; 1.创建一个gitee远程仓库https://gitee.com/xxxxxxx.git 2.初始化两个本地git仓库用户&#xff0c;目的是模拟多人协作开发时提交代码发生冲突的场景 3.解决冲突并提交。 进入正题&#xff1a; lisi 通过vim指令修改readme.md文件内容&#xff0c;推送到…...

医疗机构如何维护电力系统?来看看这个小技巧

在现代医疗领域&#xff0c;电力是不可或缺的。从手术室里的手术灯到病房中的呼吸机&#xff0c;医院的各种医疗设备和系统都依赖于稳定的电源供应。 然而&#xff0c;电力中断和紧急情况不可避免&#xff0c;而这些情况下的电力可靠性可能会直接影响病人的生命和健康。为了确保…...

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启&#xff0c;数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后&#xff0c;存在与用户组权限相关的问题。具体表现为&#xff0c;Oracle 实例的运行用户&#xff08;oracle&#xff09;和集…...

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表&#xff1f;1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

Xshell远程连接Kali(默认 | 私钥)Note版

前言:xshell远程连接&#xff0c;私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

电脑插入多块移动硬盘后经常出现卡顿和蓝屏

当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时&#xff0c;可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案&#xff1a; 1. 检查电源供电问题 问题原因&#xff1a;多块移动硬盘同时运行可能导致USB接口供电不足&#x…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)

文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

Spring AI与Spring Modulith核心技术解析

Spring AI核心架构解析 Spring AI&#xff08;https://spring.io/projects/spring-ai&#xff09;作为Spring生态中的AI集成框架&#xff0c;其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似&#xff0c;但特别为多语…...

Mysql中select查询语句的执行过程

目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析&#xff08;Parser&#xff09; 2.4、执行sql 1. 预处理&#xff08;Preprocessor&#xff09; 2. 查询优化器&#xff08;Optimizer&#xff09; 3. 执行器…...

Python Ovito统计金刚石结构数量

大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...