【杂谈】软件测试难吗,是不是人人都可以学?

Time will tell.

先来做一个科普:

软件测试(Software Testing),描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。

换句话说,软件测试是一种实际输出与预期输出之间的审核或者比较过程。

软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。


那么,软件测试如何学习呢?

首先,

初级阶段

该阶段需要掌握4个方面的内容:

一、软件测试的基础知识,编写测试用例的方法及测试流程;

二、掌握禅道、SVN等必要工具,及缺陷定义和测试计划编写方法;

三、web测试与app测试的方式方法与协议;

四、接口测试postman工具的操作使用,前端基础知识H5及CSS。

中级阶段

该阶段需要掌握6个方面的内容,从中级开始就是涉及到一些工具的使用。

一、QTP自动化工具的环境搭建;

二、loadrunner性能工具的环境搭建;

三、jmeter性能工具的环境搭建及接口压力测试;

四、jmeter脚本增强,app/web性能测试;

五、fiddler抓包工具的操作使用、Jenkins自动化部署工具;

六、数据库MySQL、SQL语句。

高级阶段

当你到了中高级阶段,也许你比我的体会更加深刻,这里留个空白。

随着互联网 IT 产业的蓬勃发展,软件测试的行业也日趋火热,软件测试基础入门知识都是那些固定的,要想成为一个优秀的软件测试工程师要学的并不少。

回到标题,软件测试是不是很简单?什么人都可以学?

我想你心里有了答案。



那么,怎么成为一名优秀的测试工程师呢?

正所谓,做一行爱一行,既然选择了测试,那就要把它做好!

下面说一下,优秀的软件测试工程师必备的8个能力

一、业务分析能力

1.分析整体业务流程
不了解整个公司的业务,根本就没办法进行测试。

2.分析被测业务数据
了解整个业务里面所需的数据有哪些?哪些是需要用户提供的?哪些是自己提供的?有哪些可以是假数据?有哪些必须是真数据?添加数据的时候可以用哪个库?

明白了整个软件的数据库架构,才能知道哪一个数据是从哪一个表里头带出来的,它的逻辑是什么,有没有连带关系。

3.分析被测系统架构
用什么语言开发的?用的是什么服务器?测试它的话需要用什么样的环境进行测试?整体的测试环境是什么样的?

如果缺少了,需要进行环境搭建,架构搭建。一般去一家新公司之后,架构是搭建好的,了解它即可,熟悉之前的这些老员工们使用什么样的架构发表去做的。

4.分析被测业务模块
整个软件有哪些模块,比如说首页面、注册页面、登录页面、会员页面、商品详情页面、优惠券页面等等。
明白有多少个模块需要测试,每个模块之间的连带关系,进而怎样进行人员分工。

5.分析测试所需资源
我需要几台计算机,需要几部手机,手机需要什么样的系统,什么样的型号。

比如测一个网站的性能的时候,电脑的配置达不到测试并发5000人的标准,要么升级电脑的硬件配置,要么多机联合,多机联合时需要几台电脑,都需要提前筹划。

6.分析测试完成目标
我的性能目标是什么样的?我的功能目标是什么样的?我要上线达到的上线标准是什么样的?性能目标,比如我要达到并发5000人的时候,CPU占用率不能高于70%,内存占用率不能高于60%,响应时间不能超过5秒功能目标,比如整体的业务流程都跑通,所有的分支流程都没有问题,所有的接口都能够互相调用,整体的UI界面没有问题,兼容性没有问题等。

把这些问题都弄清楚了,测试的思路会非常的清晰。

二、缺陷洞察能力

1.一般缺陷的发现能力
至少你要满足一般缺陷的发现能力,这个是最基本的,如果要连最简单的一般的缺陷都发现不了的话,别说优秀测试工程师了,你说你是测试我都不信。

2.隐性问题的发现能力
在软件的测试过程当中有一些缺陷藏的比较深,有的是性能方面的问题,有的是功能方面的问题,它需要有一些设定特定的条件的情况下才会出现这样的问题。

比如说买双鞋必须选择的是什么品牌,必须选择是红颜色,必须选择44号,而且必须选择用特定的支付方式才会出现这样的bug的时候,那么这种就属于特别隐性的bug,对于这样的问题的发现能力一定要比别人更强,要找到一些别人可能发现不了的bug。

3.发现连带问题的能力
当发现了一个缺陷之后,能够想到通过这个缺陷可能会引发其他哪个地方出现问题,这就叫做连带的问题。而不是说发现这一个bug之后提了这一个就算完了,一定要有一个察觉,可能其他地方也存在这样的问题。

絮叨

学习是一件循序渐进且枯燥的事情,如果你喜欢软件测试这个行业的话,可以加入我们175317069一起学习,这里有行业深潜多年的测试人技术分析讲解。也会有我整理好的各项软件测试进阶资料,涵盖测试技术、开发及环境搭建类、HR面试3大方面。期待你的加入!

最后祝愿你能成为一名优秀的软件测试工程师!

喜欢的话,欢迎【评论】、【点赞】、【关注】礼貌三连~

Time will tell.(时间会证明一切)

猜你喜欢

转载自blog.csdn.net/kami_ochin_akane/article/details/109058590