首先说下写这篇文章的目的。测试猿课堂在招生的过程中,发现有部分学员因为一些自身的情况,想先短时间学一下软件测试的基础知识,达到可以就业的程度就立马找工作,然后边上班边学习。
这种情况可以理解,希望能通过这篇文章,帮助更多急于转行,但同时又希望能立马开始工作的同学。整篇文章内容做的非常精细化,零基础转行的新手小白一看就懂。
同时,关于本篇文章内需要学习的知识点的所有教程和最后一个阶段需要的20个软件测试的基础实战项目,我已经整合到了一起,需要的同学文末自提:
一、软件测试理论基础
首先要掌握软件测试的理论基础知识,比如:
- 软件测试的定义:软件测试是通过一系列手工或自动化手段,审查项目存在的所有缺陷、BUG
- 软件测试的原则:软件测试岗位需要遵循的测试原则,以及测试的一些行业常识
- 软件测试的流程:了解系统化的测试全流程和步骤,知道测试的第一步做什么,接下来应该做什么
- 软件测试的类型:了解功能测试和非功能测试的几种测试方法和含义(白盒测试、黑盒测试、单元测试、回归测试、冒烟测试、集成测试、性能测试等等)
二、测试用例
- 测试用例的定义:软件测试用例我们可以理解为用来做测试的例子。比如测试登录系统的用例,准备好多组用户名和密码的组合,用来测试这些组合能否登录系统:
编号 | 类型 | 测试步骤 | 输入数据 | 期望结果 |
---|---|---|---|---|
01 | 登录测试 | 输入用户名+密码,点击"登录"按钮 | 用户名:niligirl 密 码:123456 | 提示登录成功 |
02 | 登录测试 | 输入用户名+密码,点击"登录"按钮 | 用户名:我是aaa 密 码:123456 | 提示用户名错误,请重新输入 |
03 | 登录测试 | 输入用户名+密码,点击"登录"按钮 | 用户名:niligirl 密 码:111111 | 提示密码错误,请重新输入或找回密码 |
04 | 登录测试 | 输入用户名+密码,点击"登录"按钮 | 用户名: 密 码:123456 | 提示用户名不能为空,请输入用户名 |
05 | 登录测试 | 输入用户名+密码,点击"登录"按钮 | 用户名:niligirl 密 码: | 提示密码不能为空,请输入密码 |
- 测试用例应该包含的元素:一个标准的测试用例,应该包含
编号、测试的模块、当前用例标题、测试的类型、测试输入、输出结果、最终测试结果
等等。这里列举一个测试用例的小案例:
功能点 | 输入 | 设想输出 | 实际输出 | 测试结果 |
---|---|---|---|---|
向购物车添加商品 | 1、登录系统 2、访问某个商品详情页3、选中有货门店4、添加商品到购物车5、前往购物车检查是否添加成功 | 正确将有货的商品加入到购物车中 | 与设想输出一致 | 通过 |
向购物车添加多个商品 | 1、重复上述步骤,加入多个商品 2、同一个商品添加两次3、将不同店铺的商品加入购物车4、前往购物车检查添加结果 | 1、购物车应该按照店铺分别显示各店铺下的商品 2、同样的商品加入两次,数量显示为2 | 与设想输出一致 | 通过 |
操作购物车中的商品 | 1、进入购物车 2、选择某个商品,点击"数量"旁的+和-按钮,检查商品数量是否正确变更3、选择某个商品,点击"删除"按钮,检查该商品是否正确被删除 | 1、正确显示增加或减少商品数量的结果 2、正确从购物车中删除指定商品 | 与设想输出一致 | 通过 |
- 测试用例的设计方法:学习最常用的几种软件测试用例的设计方法(等价类、正交表、因果图、边界值、场景分析等等)。学习不同测试用例设计方法的区别、特点和使用场景。
-
三、bug管理
- 掌握Bug概念:作为合格的软件测试工程师,对BUG的认知绝对不仅仅局限于软件的表层缺陷,我们还要了解对于不同的项目什么才是BUG、BUG的等级、BUG的解决优先级等等。
- 缺陷管理的概念:什么是缺陷管理?缺陷管理可以理解为通过系统化的工具,统一管理我们测试出来的BUG,包括BUG等级、BUG的具体情况、BUG的修复进度等等。你也可以将其理解为一个思维导图类的日志管理,当然缺陷管理肯定要比日志管理全面和复杂很多。
- 熟练掌握2~3种BUG管理工具:推荐Bugzilla(开源)、禅道(开源)、Jira(商业付费)这三类。大部分公司使用这三类工具的较多。对于前期我们找一些基础的测试工作来说,熟练这三类缺陷管理工具的使用,已经足够了!
四、计算机相关知识
- 计算机基本知识:基础的计算机知识,是我们从事IT相关工作的必备知识点。作为软件测试初学者,对于计算机的基本知识,你不需要掌握的非常深。但最起码要知道电脑不同系统间的大致区别,Win、Mac、Linux等等。要知道计算机最关键的几项组成模块(CPU、内存条、主板、显卡、驱动等等),另外办公软件(Word、Excel等)也一定要会用,我经常遇到不少同学,连Word基本排版、Excel表格的基本制作都不懂。虽然这些内容不一定面试会问到,但最起码我们要懂,总不能一入职对电脑的基本知识喝办公软件都一窍不通吧!
- Linux系统:作为软件测试初学者,Linux系统不需要我们掌握的多么深刻。但必须要懂得虚拟机的安装、虚拟机中Linux系统的安装方式和流程、Linux的常用命令(软件安装、文件管理形式、文件的复制+移动+粘贴、用户权限等命令,死记硬背记下来就可以)
- Mysql数据库:数据库相关知识也需要了解。学习最基本的数据库常识,数据库的管理工具Navicat的使用,数据库的结构、数据库常用的增删改查命令
五、接口测试
- 接口测试的定义:
了解接口测试之前,先要明白什么是接口。我们知道系统分为前端和后端,比如网站,网站的前端界面的视觉样式是固定的,但界面中显示的内容是可以实时变化的。我们在网站的后台更新了文章、商品、数据等,前台就会对应的显示出改变后的数据。那么这些数据的改变就是通过前端调用后端对应的数据接口来实现的。
再比如企业开发了一个项目,这个项目的一个地方调用了国家天气中心的天气数据。要实现国家天气中心的天气信息有变化,我们这个项目显示的天气信息也一并发生变化。这个就需要通过在我们的项目中,调用国家天气中心开放出来的Api接口来实现。国家天气中心显示明天晴天,然后通过接口传输给我们一个数据“明天是晴天”。这就是接口
看懂了接口的定义,那么就能明白什么是接口测试了。接口测试就是测试我们调用的接口是否能够正常传递数据、接口传递的数据是否有误、前端是否能正常识别接口传输的数据等等
- 接口相关的知识点:
repuest请求、response相应、HTTP/HTTPS协议、服务器状态码、query参数等等,具体内容如下图:
接口的组成
- 接口测试相关的工具:
作为初级软件测试工程师,我们必须要熟练掌握以下两个工具的使用
-- fiddler:fiddler是一个抓包工具,也可以理解为网络协议Http代理服务器。我们暂时不需要了解它的底层原理,只需要学习如何使用fiddler抓包、要抓取哪些数据、如何正确分析fiddler抓取到的数据等等;
-- Postman:Postman是一款商业化的接口测试工具,有免费版和付费版。Postman可以提供强大的Api接口和HTTP调试功能,Postman可以发送非常全面的HTTP请求,适合用于做各类型的接口测试。我们只需要学习这款工具如何使用、如何利用它来测试接口即可。
六、简单的项目能力:做一个项目
作为初学者,想要成功找一份软件测试的工作,不仅仅局限于上面这些知识点,我们还要有一定的软件测试项目实战经验。上面所学的这些软件测试知识点虽然简单,但大部分内容依然停留在“纸面”上,如果不通过一些基本的软件测试项目实战,那么很多跟测试相关的实际流程、步骤、操作要点甚至是测试过程中会遇到的各类问题的解决办法,我们都没办法接触到。
没有实际的项目经验,就代表这些知识点我们只知道它是什么,却不知道它怎么用。这种“理论”基础,在软件测试的面试过程中,很容易就能被面试官识别出来,俗话说是骡子是马拉出来遛遛就知道了嘛!
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走
这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……