做软件测试,掌握哪些技术才能算作“测试大佬”?
一、过硬的基础能力
其实所有的测试大佬都是从底层基础开始的,随着时间,经验的积累慢慢变成大佬。要想稳扎稳打在测试行业深耕,成为测试大牛,首当其冲的肯定就是拥有过硬的基础,所有的基础都是根基,后期所有的发展和提升都是基于测试基础铺垫的。
所以核心的测试理论、测试用例设计方法、测试的方向、测试的分类,从简单的功能测试到高效的自动化测试、再从接口的工具使用,到性能测试,不管是做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输入框一边输入,一边在控制台输出结果 现有如下代码 <body><input type"text" onchange"myFunction()" /><script>function myFunction(){console.log(999)}</script> </body> 当敲下回车键后才会…...

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

php://filter协议在任意文件读取漏洞(附例题)
php://filter php://fiter 中文叫 元器封装,咱也不知道为什么这么翻译,目前我的理解是可以通过这个玩意对上面提到的php IO流进行处理,及现在可以对php的 IO流进行一定操作。 过滤器:及通过php://filter 对php 的IO流进行的具体…...

【Redis】1、NoSQL之Redis的配置及优化
关系数据库与非关系数据库 关系型数据库 关系型数据库是一个结构化的数据库,创建在关系模型(二维表格模型)基础上,一般面向于记录。 SQL 语句(标准数据查询语言)就是一种基于关系型数据库的语言&a…...
9.5QTday6作业
面试题1:c语言中的static和c中的static的用法 在c语言中: 1.static修饰的全局变量作用域限制在当前文件,无法被外部文件所引用。2.static修饰的局部变量延长生命周期,但不改变作用域,同样无法被外部文件所引用。3.st…...

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

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

Tomcat配置ssl、jar包
Tomcat配置ssl 部署tomcat服务,项目做到用https访问,使用nginx去做,访问任意一个子网站,都是https 或者 医美项目需要 上传jdk 456 tomcat war包 [nginx-stable] namenginx stable repo baseurlhttp://nginx.org/packages/…...
Unity中Shader实现UI去色功能的实现思路
文章目录 前言一、在开发过程中,在UI中会涉及一些需要置灰UI的需求,有很多实现的方法1、做两套纹理,通过程序控制切换2、使用shader实现对纹理去色 二、这里主要记录用shader实现的思路1、基础纹理的采样2、支持组件中的调色3、遮罩功能4、去…...
Python垃圾回收机制详解:引用计数与循环垃圾收集器
文章目录 Python垃圾回收机制引用计数机制循环垃圾收集器小结详细讲解及实操1. 程序中的垃圾问题2. 垃圾的定义3. 自动垃圾回收机制4. 示例:使用del方法删除垃圾对象5. 手动处理垃圾回收6. 结束程序7. 垃圾回收的自动处理8. 结束程序 python精品专栏推荐python基础知…...

自然语言处理应用(三):微调BERT
微调BERT 微调(Fine-tuning)BERT是指在预训练的BERT模型基础上,使用特定领域或任务相关的数据对其进行进一步训练以适应具体任务的需求。BERT(Bidirectional Encoder Representations from Transformers)是一种基于Tr…...
MySQL基础【学习至基本语句】
一、安装与配置 1、安装 yum install -y mysql-server.x86_642、MySQL安装完成后,启动报错,查看MySQL的状态,发现是3306端口被占用 [rootiZ56kkvaq4nlfhZ etc]# systemctl status mysqld.service ● mysqld.service - MySQL 8.0 database …...

Leetcode152. 连续子数组的最大乘积
力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 给你一个整数数组 nums ,请你找出数组中乘积最大的非空连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 测试用例的答案是一个 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文件接口保存方式,如图。 2、然后就是读取EXCEL文件中的数据方法,如下: 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多人开发解决冲突案例
准备工作: 1.创建一个gitee远程仓库https://gitee.com/xxxxxxx.git 2.初始化两个本地git仓库用户,目的是模拟多人协作开发时提交代码发生冲突的场景 3.解决冲突并提交。 进入正题: lisi 通过vim指令修改readme.md文件内容,推送到…...

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

label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...

高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...

涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

图表类系列各种样式PPT模版分享
图标图表系列PPT模版,柱状图PPT模版,线状图PPT模版,折线图PPT模版,饼状图PPT模版,雷达图PPT模版,树状图PPT模版 图表类系列各种样式PPT模版分享:图表系列PPT模板https://pan.quark.cn/s/20d40aa…...

springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...
作为测试我们应该关注redis哪些方面
1、功能测试 数据结构操作:验证字符串、列表、哈希、集合和有序的基本操作是否正确 持久化:测试aof和aof持久化机制,确保数据在开启后正确恢复。 事务:检查事务的原子性和回滚机制。 发布订阅:确保消息正确传递。 2、性…...
python爬虫——气象数据爬取
一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用: 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests:发送 …...