新闻资讯

新闻资讯 媒体报道

如何从零学习软件测试(写给软件测试新人和转行测试的同学)

编辑:013     时间:2021-07-21
一、聊一聊测试行业

1、软件测试工程师,岗位需求多

2、软件测试技术,软件质量守护神

没有哪个公司敢于将未测试的软件上线,一个不起眼的软件问题,都可能让公司万劫不复。

就算是脸书的扎克伯格违心地高呼着所谓我们没有测试,这也只是将测试右移而已(什么是测试右移,感兴趣的小伙伴可以自行查阅或者私信探讨)。

软件测试,一直并将继续作为软件质量的保护神而存在。

3、软件测试的发展前景广泛

学编程语言只是获取了一门技术,而学习软件测试却是获得了一个持续发展的机会。

4、软件测试简单易学还高薪

学习忌跟风,适合自己的才是好的。

做开发太苦?学UI没有天分?想拥有高薪技术?软件测试是你的不二之选。
二、学习软件测试的方法

1、理论指导项目实战、项目中验证理论

在企业实际在研项目中锻炼自己,不仅可以能够验证自己学习的理论知识,更能从实战中得新知。如果没有,也可以从开源项目下手,在这块要比开发项目更容易入手。

2、一图了解测试工具有哪些

测试工具永远是软件测试人员的得力助手,不能完全依赖工具,但也不能没有工具,在学习软件过程中,要著中软件测试工具的使用,下图覆盖初、中级软件测试工程师所需具备的测试工具,要想学好,下手吧。
三、最新学习路线

1、通用软件测试基础技术

抛开所有其他的计算机技术不谈,就只是软件测试基础技术那也是比较复杂的,远不像网络上或者你身边的朋友说的那样,对软件点点点就够。

因为如果只是对软件点点点,软件测试有一种测试方法叫做“猴子测试”,完全可以找个小动物随便进行,找人干啥?因此就要有各种创新性的作法。

比如看到软件界面上有个出生日期的字样,首先就要联想到后面跟着的是一个日历的选择,并且只需要年月日就够了,更要保证这个选择过程不能选择当前日期未来的日期,毕竟未来一切尚不可知。当然了,这只是软件测试的一个方面。

再比如,我们购买的手机,有个性能参数是工作温度,在适合的工作温度区间,测试人员要关注在不同的温度时,APP运行期间的耗电量,理应平稳的好点会不会在较低温度时出现耗电量猛增的现象。

所以,软件测试工程师可以在不懂其他技术的时候,只需要按照其他的软件运行要求和标准,也就是我们所说的需求,进行测试和判断就好。

下面就说一下这部分应该掌握的技术:

软件测试常见概念

软件测试的分类

基于软件生命周期的测试

软件测试流程

黑盒测试方法

测试用例设计

测试用例执行及缺陷报告

测试报告1

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16

2、软件测试环境配置技术

在管理科学和严谨的软件研发团队中,测试人员所使用的测试环境和开发团队所使用的开发环境是不同的。这就要求测试团队的成员能够自行配置和管理测试环境。

我们都知道,现在绝大多数的软件和系统都是B/S(Browser/Server:用浏览器通过网页的形式使用应用)结构或者C/S(Client/Server:通过专门的客户端软件享受服务)结构的应用。

所以,作为测试工程师需要会安装和配置,能让被测试软件提供正常应用服务所需的各种软件和参数配置。

比如,使用什么类型的操作系统,使用哪一种开发语言环境,使用哪一种数据库管理系统,使用哪一种应用服务软件。

所以,作为软件测试工程师,需要会使用包含Windows系统在内的其他操作系统,并且按照特定的软件搭配技术进行安装和配置应用服务环境。

下面就说一下这部分应该掌握的技术:

Mysql数据库

Linux系统基础

Redis数据库

虚拟机测试环境管理

LAMP环境搭建

云服务器搭建

docker环境搭建

k8s环境搭建

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15

3、web测试前端开发技术

通过前三个方面的测试技术,基本算是掌握了一定技术的测试工程师,如果经验多一点,拿到8K左右的工资还是比较可以的,但是那也只是测试技术的基础阶段。测试工作非常重要的目标就是找软件的bug,如何能找到软件的缺陷,我们就需要了解软件是怎么开发出来的。

比如,最常见的各种Web网站。网页上每一个页面的元素都是测试对象。文本框能够输入的数据类型怎么限制,数据长度怎么限制,单选按钮是不是真的能够选择并且只能选择一个,复选框是不是真的能够勾选和取消勾选,提交出去的数据为什么有些就会显示在浏览器的地址栏,有些就不显示,网页上的弹出框是怎么实现的……而以上内容就真的需要Web开发的知识。

其实网上是有丰富的学习资源的。

下面就说一下这部分应该掌握的技术:

html基础标签

h5新特性

css3

svn

git/github

    1
    2
    3
    4
    5
    6
    7
    8
    9

了解了web前端的本质,再进行web前端测试就更得心应手了。

4、自动化测试(web+app+接口)

软件测试之所以被认为没有什么技术含量,那是因为很多软件不足以支持大规模的自动化测试,他们的测试处于比较低级的阶段。

如果满足自动化测试的要求,那软件测试工作也是一项充满了挑战与激情的工作。

自动化测试,那就势不可挡的需要开发语言,我们更偏向于推荐使用python语言,所以在有了开发语言的技能之后,Web自动化测试也将不再是难事。

下面说一下Web自动化测试需要掌握的技能:

python基础

selenium

unittest

ddt

xlrd

pymysql

appium

requests

json

BeautifulReport

jenkins

git/github/svn

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23

5、接口测试技术

接口测试是一种目前较为流行的测试方向,名字看起来特别的高大上,但是技术实现非常简单。通常市面上的主流的测试工具都可以实现企业要求的接口测试的目标。

为什么是测试工具呢?因为接口测试和基本的功能测试不一样,接口测试没有界面的辅助,全靠数据分析和判断。

所以对工具要求较多,主要掌握如下即可。

HTTP请求报文

HTTP响应报文

Fiddler抓包

postman

jmeter

    1
    2
    3
    4
    5
    6
    7
    8
    9

6、性能测试技术

性能测试可以说是与手工、功能、UI自动化、接口测试完全不在同一个层面的东西。它的技术要求更高,知识要求更深,经验要求更多。

因为影响一个软件运行的性能的因素太多了:

所以,市场上性能测试工程师的经验普遍要求在5年以上,并且对操作系统、数据库、网络、开发语言、工具应用、系统架构和设计都有比较高的要求。例如要明确负载测试、压力测试、稳定性测试、可靠性测试、失效恢复测试、大数据量测试等内容的区别,更是要能够读懂测试中系统的各项数据:
————————————————
版权声明:本文为CSDN博主「测试永远de神」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_58656539/article/details/117791523
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

回复列表

相关推荐