十年测试工龄,揭露软件测试痛点以及分析

 做软件测试的同学们,你在平时的测试工作中有哪些困惑或困扰呢?你可以自行简单思考一下。下面我梳理一下,大家可以看看自己是不是也有如此的感受。

 从测试整体角度分析:

  第一个痛点是入门容易深入难。

很多人认为软件测试也就那么回事,其实不然。测试需要非常扎实的技术功底和非常全面的知识储备。在国外,很多情况下都是技术大牛转型做测试,而在国内则偏偏相反。

  第二个痛点是价值体现。

产品部门是定义产品的,做的是用户分析和需求确认,确认要不要做;研发部门是创造产品的,这是一个从0到1的一个阶段,确认能不能做;测试部门是什么?测试部门是验证产品?检测产品能不能用?还是别的?从客观角度来说,测试价值被严重的低估和误解,很多人觉得测试人员提供的价值输出不够。就我的理解而言,测试的基本价值就是保证质量,这是测试人的生命线,也是最基本的价值体现。就拓展价值来说,测试可以协助优化研发流程和效率、提高交付和运维的效率、为产品的持续改进提供建议和支持等等,可以做的事情非常多。因为测试人最熟悉产品,最了解用户,最理解研发体系,这是测试人的优势。

第三个痛点是永远不知道系统还有多少缺陷。

这个时间就是如此,我们有非常多的位置领域。对于开发的产品,我们同样永远都不知道还有没有缺陷,所谓的质量好也都是相对而言的。我们无法穷尽测试,更无法直接确定质量,只能基于一定的标准和测试方法来判断产品是否真的合格。

第四个痛点是与研发人员“干架”。

由于所处的立场不同,测试人员与研发人员发生冲突的情况很多。简单举例下,研发人员认为测试人员提出的BUG有问题,不予修复,测试人员则认为研发人员应该修复这个BUG,双方僵持不下,类似的场景非常多。

第五个痛点是测试人员是“背锅侠”。

在客户现场测试出问题了,系统上线出问题了,很多人第一意识反应就是测试人员没有测试到位,有漏测。对于测试人来说,这种误解心里非常难受,难免觉得自己委屈。所有的BUG都是开发人员引入的,但是测试人员作为质量的“守护神”,需要守住最后一道防线,得守住了,守稳了,虽然有的时候会受埋怨,其实大家也都清楚,问题的根本在研发端或产品端。

从测试执行角度分析

第一个痛点是测试环境。

不同的测试对象,所需要的环境会有差异,尤其是软硬件一体的社保(硬件不稳定或软件功能复杂),或者说性能测试、比较复杂用例的测试,测试环境对于测试人员历来都是非常“痛”的一件事。有的时候折腾测试环境需要多半天,而测试执行仅仅需要5分钟、十分钟就完事了。测试环境的搭建如此重要,有时直接关系着测试用例的执行质量。

第二个痛点是测试用例。

测试用例的编写、测试用例基线的维护、不同项目测试用例的整理、测试用例的标识(重要性、场景、类别、是否自动化、测试环境、前置条件等)等等,都非常的重要,而这里的每一项工作都非常的不容易。

第三个痛点是测试分析。

测试分析包括测试缺陷的定位分析、基于缺陷本身的分析(趋势图、分布图、原因图等)、测试执行过程的分析、产品质量的分析、测试策略的分析等等。测试分析是测试执行中经常运用的技能,它更多是一种思维方式、一种工作习惯、一种工作方式。

第四个痛点是回归测试。

回归测试是版本系统测试中必经的一个测试阶段。回归测试到底由缺陷提交人员回归自己提交的缺陷呢?还是由其他人回归呢?回归测试到底是仅仅回归缺陷本身,还是围绕缺陷和修正代码展开更多的测试?这里面的测试策略非常多。我觉得我们要结合测试资源、项目实际情况、测试流程和机制等综合决策如何更好的展开回归测试。

第五个痛点是缺陷复现。

对于测试人员来说,缺陷的复现尤其是难以复现的缺陷真的非常恼人。因为那些缺陷本身非常难以复现,必然需要非常多的复现技巧和方法。很多时候,大家会发现复现了很长时间,但是最终什么都没有复现出来,拜拜折腾了很长时间,还浪费了很多精力。我觉得对于缺陷复现,如果两三次之内可以复现出来的,基本上就算完事了。复现超过三次以上的,我不建议测试人员再花费太多的时间在复现问题上,反倒应该让研发人员进行代码阅读和代码审核,从代码本身寻找问题。

第六个痛点是补丁测试。

如果没有现成的测试环境,补丁的测试非常的麻烦,测试环境、测试版本、补丁发布说明等都会影响补丁的测试。如果没有持续集成环境,补丁测试会非常的折腾和麻烦,重新搭环境、部署版本、设计补丁测试用例等非常的耗时。我相信很多人一定会有同感,尤其是线上的缺陷非常的着急。

第七个痛点是任务对接。

很多测试人员都会有感触,研发人员找测试人员测试个小模块,技术支持人员找测试人员验证个小器件,供应链人员找测试人员验证个物料,产品经理找测试人员测试个临时项目等等。所有任务的对接,不一定完全的对接测试负责人,因为有些小任务、临时类任务可能就直接找相关测试人员了,他们也许并非有意不按套路出牌;有时候出于良好的个人关系直接就说了;有时候不知道找谁寻求帮助,就找到测试这了。所有的这些情况我们都需要考虑,再严格的任务下发流程,也一定会有特殊的情况,测试人员一定要学会灵活应对。

总之,测试的痛点非常多,以上的这些痛点并没有严格的先后顺序,但是话说回来,哪个职位和角色没有痛点呢,如果有痛那我们就解决痛。路需要往前奏,生活需要向前看,工作需要在发展之中前进。乐观的心态和向上的态度是我们前进的动力、要永远相信明天会更好。

所以总结就是自身自觉主动学习在加上大佬全程带你,其实学习就是这么简单的事情,无非就是这两个关键的要素,少了其中一个都很难成功。

我的自学路线(只是个人意见不代表一定能学会,主要还得看自己的学习能力加决心)

第一阶段 测试基础

测试基础是软件测试最最最重要的部分,只要你是做测试,不管是什么测试,测试的基础、理论知识都是必须学会的。
最好学到什么程度呢,最好是能够理解,并能够用自己的话给复述出来。
毕竟面试初级测试的时候,问的问题都是从基础理论上进行考核的。
那测试基础有哪些内容呢?

测试的定义、测试的分类、测试的方法、测试的生命周期。
测试计划、测试方案、测试策略、测试用例的编写。
BUG的定义、BUG的分类、BUG的六要素、BUG的生命周期。
测试和开发流程的关系、瀑布流、V字形、W字型(双V)、螺旋型、敏捷等等。
PDCA、5W2H等分析管理的方法
质量管理体系CMMI(了解)
嗯,大概就是以上的内容吧,以上全部都是理论和文档能力、只要你肯背、肯写,都是能独立的掌握的。

第二阶段 工具学习

软件测试的基础学完了过后,应该学习工具了。
其实学工具真的很容易,所以大家不用去纠结工具的选择。
把最基础的几个工具学习了就行了,以后用到什么工具就去学什么。

在这个阶段,学习工具什么的,重点在于接口测试的学习,所有的工具的学习,都是在为了接口测试的学习做铺垫。
下面我会列出需要学习的工具和知识点,按顺序学习就好。

简单的网络协议:TCP/UDP,HTTP/HTTPS
Linux的基本操作和常用指令。
MySQL数据库的基本操作和常用sql语句。
fiddle抓包工具的使用。
postman接口测试工具的使用。
jmeter和loadrunner性能测试工具的使用。

第三阶段 代码学习

好了,学完了以上两个部分,恭喜你,你已经是一个出色的初级测试工程师了。
接下来,你要考虑你的发展方向了
是成为一个自动化测试工程师呢?

还是性能测试工程师呢?
还是安全测试工程师呢?
啊!这个问题好难!我也不知道该怎么选。
反正我啥都会一点,哪个岗位都能去面一面。
关于方向的选择,看我的这篇文章

嗯,相信你心中已经有了答案了,那我们继续往下面说。
这个阶段,我们应该学习代码了,关于编程语言的选择,我推荐Java或者python。
还有数据库也是必须掌握的!在工具篇的学习里,我认为你已经可以掌握数据库的相关的应用了!
所以现在各位可以去学习编程语言了,
不过不用像开发那样,学的那么深入。
比如Java,只需要学完JavaSE的部分就够你用了。 python的话也是一样的,把基础的部分学完就行了。
总之前期你两者二选一的学习就OK了。
啥?你问我学的啥。
我当然是两种都会啊
哈哈哈哈哈哈哈,惊不惊喜!意不意外!

自动化方向

等你代码已经基本掌握了,嗯,很好,接下来就要学习各种自动化测试了。

各种单端测试框架:unittest(python)、pytest(python)、JUnit(java)
WEB自动化测试框架:selenium(适用于java\python\javascript)
APP自动化测试框架:appium(适用于java\python\javascript)
以上的内容,根据你学的语言进行选择。
appiunm和selenium根据你参与的项目进行选择。
不过无所谓了,反正迟早都要学会的。
这部分的教程太多了,你学会了编程的基础后,随便百度,好多博客论坛都有教程。
而且凭你那时候的水平,你都能轻松的看懂。

性能方向

对loadrunner和jmeter的掌握更加的深入。
可以手写脚本、脱离录制。

学会了多线程编程、能够手写java或者python、不用工具直接实现压测。
学习linux,毕竟性能总是和服务器打交道的。
学习系统架构的相关知识、方便你更容易的分析系统瓶颈。
说实话、性能方向的提示更难、因为需要掌握的东西太多了。
性能测试做深入了,基本上就是架构师的水平了。
可能你现在看着这个性能方向的学习一脸懵逼。
没关系、等你把上面的编程语言学会了你就不懵逼了。

安全方向

渗透测试
SQL注入
暴力破解

脱库
等等
其实安全测试基本上偏向于网络攻防了,也就是传说中的黑客了,不过我们都是好人,这个的发展方向就是白帽子。
推荐知道创宇的学习体系。
我估计你看到这里就更懵逼了。
没关系、等你把基础的东西学会就知道我在说啥了。
毕竟你现在还是一个小白嘛。
不要去纠结这种小事。

各位在这个阶段,正常情况都应该是中级测试工程师的水平了。

第四阶段 架构学习

前三个阶段学习完成后,各位就应该考虑怎么写代码更合理了。
怎么去测试更全面。

怎么才能更好的保障项目的质量。
我认为,在这个阶段,应该回头重新学习一遍测试基础。
因为这个阶段的提高是思想、方法的提高了。
上面讲的都是教你应该怎么做。
在这个阶段你要自己去发现、为什么要那样做。
跨过了这个阶段就基本上可以成为专家了。
学习都是水到渠成的,在这个时候,你应该已经掌握了不少框架了,甚至自己也能开发合适的框架了。
自动化测试框架、性能测试框架等等。
已经有了属于自己的一套东西了。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python中的异常与模块

异常 为了能够让代码可以正常的运行下去,不会因为某个语句而让程序崩溃,所以我们就需要使用异常,异常的语法格式如下: try:可能出现异常的语句 except:出现异常之后的处理同时python也是支持捕获指定异常的 try:可能出现异常的…

阿里大佬:DDD中Interface层、Application层的设计规范

说在前面 在40岁老架构师 尼恩的读者交流群(50)中,最近有小伙伴拿到了一线互联网企业如阿里、滴滴、极兔、有赞、希音、百度、网易、美团的面试资格,遇到很多很重要的面试题: 谈谈你的DDD落地经验? 谈谈你对DDD的理解&#xff1f…

C语言 音乐播放器项目(综合)

1.main.c文件 #include<stdio.h> #include<stdlib.h> #include<string.h> #include <unistd.h>//休眠所需的头文件 #include "./pos/console.h"//光标使用所需的头文件 #include "lrc.h" #include "./mplayer/start_mplayer…

2023-11-11 LeetCode每日一题(情侣牵手)

2023-11-11每日一题 一、题目编号 765. 情侣牵手二、题目链接 点击跳转到题目位置 三、题目描述 n 对情侣坐在连续排列的 2n 个座位上&#xff0c;想要牵到对方的手。 人和座位由一个整数数组 row 表示&#xff0c;其中 row[i] 是坐在第 i 个座位上的人的 ID。情侣们按顺…

2023年03月 Python(四级)真题解析#中国电子学会#全国青少年软件编程等级考试

Python等级考试(1~6级)全部真题・点这里 一、单选题(共25题,每题2分,共50分) 第1题 运行下列程序,输出的结果是?( ) def wenhao(name = zhejiang): print(hello + name) wenhao

【JavaEE初阶】 TCP协议详细解析

文章目录 &#x1f332;TCP协议的概念&#x1f6a9;TCP协议段格式&#x1f6a9;TCP的特性 &#x1f333;TCP原理&#x1f6a9;确认应答机制&#xff08;安全机制&#xff09;&#x1f6a9;超时重传机制&#xff08;安全机制&#xff09;&#x1f6a9;三次握手四次挥手&#xff…

软件测试需要学习什么?好学吗?需要学多久?到底是报班好还是自学好?

前言&#xff1a; 我发现很多的小伙伴刚刚毕业和想转行的小伙伴对于软件测试很陌生&#xff0c;其中很有很多的小伙伴还踩不少的坑&#xff0c;花费了大量的精力和时间去探索&#xff0c;结果还是一无所获。这里给大家出一期关于软件测试萌新的疑惑&#xff0c;看完这篇文章你就…

pytorch中对nn.BatchNorm2d()函数的理解

pytorch中对BatchNorm2d函数的理解 简介计算3. Pytorch的nn.BatchNorm2d()函数4 代码示例 简介 机器学习中&#xff0c;进行模型训练之前&#xff0c;需对数据做归一化处理&#xff0c;使其分布一致。在深度神经网络训练过程中&#xff0c;通常一次训练是一个batch&#xff0c…

SPSS:卡方检验(交叉表)

第一步 打开SPSS软件&#xff0c;在工具栏中选中【打开-文件-数据】&#xff0c;然后选择一份要打开的数据表(如图所示)。 第二步 在工具栏中找到【分析-描述统计-交叉表】打开交叉表对话框(如图所示)。 第三步 接着将【行-列】相关变量放在对应对话框中(如图所示)。 第四步 在…

web3 React Dapp书写订单 买入/取消操作

好 上文web3 前端dapp从redux过滤出 (我创建与别人创建&#xff09;正在执行的订单 并展示在Table上中 我们过滤出了 我创建的 与 别人创建的 且 未完成 未取消的订单数据 这边 我们起一下 ganache 环境 ganache -d然后 我们项目 发布一下智能合约 truffle migrate --reset然…

C++ 常用方法,刷oj必备(持续更新!!!)

输出结果保留小数点后n位(4位) #include<iostream> #include <iomanip> using namespace std;int main(){double s ;cin >> s ;cout<<fixed << setprecision(4) << s ;return 0; } 类型转换 string 转 int #include <iostream> …

深度学习工具的安装 CUDA Anaconda

深度学习工具安装 CUDA与CUDNN的安装 查看计算机是否支持CUDA 主要参考: 一看就懂的 CUDA安装教程及Pytorch GPU版本安装教程 次要参考: cuda安装 &#xff08;windows版&#xff09; cuDNN的验证 Anaconda的包装 anaconda下载安装包国内镜像源

jenkins分步式构建环境(agent)

rootjenkins:~# netstat -antp|grep 50000 tcp6 0 0 :::50000 ::&#x1f617; LISTEN 5139/java 1.52 安装Jenkins rootubuntu20:~# dpkg -i jenkins_2.414.3_all.deb 配置各种类型的Agent的关键之处在于启动Agent的方式 ◼ JNLP Agent对应着“通过Java Web启动代理”这种方…

企业计算机中了mkp勒索病毒怎么办,服务器中了勒索病毒如何处理

计算机技术的不断发展给企业的生产生活提供了极大便利&#xff0c;但也为企业带来了网络安全威胁。近期&#xff0c;云天数据恢复中心陆续接到很多企业的求助&#xff0c;企业的计算机服务器遭到了mkp勒索病毒攻击&#xff0c;导致企业的所有工作无法正常开展&#xff0c;给企业…

kubernetes etcd

目录 一、备份 二、回复 官网&#xff1a; https://v1-25.docs.kubernetes.io/zh-cn/docs/tasks/administer-cluster/configure-upgrade-etcd/#restoring-an-etcd-cluster 一、备份 从镜像中拷贝etcdctl二进制命令 输入ctrlpq快捷键&#xff0c;把容器打入后台 docker run…

数据的属性与数据集,相似度,数据的质量,OLAP

数据的属性与数据集&#xff1a; 2022找工作是学历、能力和运气的超强结合体&#xff0c;遇到寒冬&#xff0c;大厂不招人&#xff0c;可能很多算法学生都得去找开发&#xff0c;测开 测开的话&#xff0c;你就得学数据库&#xff0c;sql&#xff0c;oracle&#xff0c;尤其sq…

徒步“三色”泸溪 共赏冬日胜景

&#xff08;金笛 胡灵芝&#xff09;11月11日&#xff0c;“中国体育彩票”2023年“走红军走过的路”徒步穿越系列活动&#xff08;泸溪站&#xff09;暨泸溪文旅推荐活动在泸溪县举行&#xff0c;来自全国各地千余名户外爱好者通过徒步的方式&#xff0c;传承红色基因&#x…

C语言全部关键字解析

前言 C语言具有以下关键字&#xff1a; 这些关键字如下: 关键字autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedvoidvolatilewhile 对于这些关键字&#xff0c;大…

《RN移动开发实战》3出版了,文末抽奖

前言 众所周知&#xff0c;传統的原生Android、iOS开发技术虽然比较成熟&#xff0c;但是多端重复开发的成本和开发效率的低下也是很多企业不愿意看到的&#xff0c;而不断崛起的跨平台技术让企业看到了曙光&#xff0c;“一次编写&#xff0c;处处运行”也不再是难以企及的目…

代码随想录算法训练营第四十六天|139. 单词拆分、多重背包问题、总结

第九章 动态规划part08 139. 单词拆分 给你一个字符串 s 和一个字符串列表 wordDict 作为字典。请你判断是否可以利用字典中出现的单词拼接出 s 。 注意&#xff1a;不要求字典中出现的单词全部都使用&#xff0c;并且字典中的单词可以重复使用。 关于字符串类型的题目还是…