天天看点

初级软件测试工程师必须掌握的东西

初级软件测试工程师必须掌握的东西

第一自己根据已有的知识思考;

第二无果网上搜索;

第三最后才找人询问。

一、前言

功能测试是测试工程师的基础功,很多人功能测试还做不好,就想去做性能测试、自动化测试。很多人对功能测试的理解就是点点点,如何自己不用心去悟,去研究,那么你的职业生涯也就停留在点点点上了。在这里,我把我对功能测试的理解写下来。

二、功能测试所需要掌握的技能

2.1 熟练使用SQL

1、常用的 sql 语句一定会写。比如说增删改查之类。

2、了解数据库的事务、会编写存储过程、熟练常用的系统函数。

3、了解并可以进行数据库的备份、迁移、还原、镜像等操作

4、对 sql 语句进行调优,并对可以对运行的语句监控查看性能

5、了解数据库集群等操作。

2.2 Linux

Linux是测试人员的基础功,不需要掌握太难或者很不常见的Linux命令,正常能做到查看日志,定位问题就可以了。

1、基本命令

常用的Linux基本命令,面试经常会问的,或者给出一种场景,问你用什么命令。

2、查看日志

初级测试人员在工作时经常遇到,发现bug,开发不承认或者不愿意解决的情况,测试人员怎么摆脱这样的问题呢?

那就是根据发现的bug根据日志级别,来查看日志,定位问题。

那这里首先要说一下日志级别了。

首先记住这一点:日志级别越高,输出的信息越少 。

具体的日志级别分为四级:

info : 代码 info 信息,不包括sql语句等一些debug信息

warning warning : 代码警告信息

error : 程序本身报错信息

critical :几乎用不到

一般不符合需求的bug在 debug中,程序本身报错的bug在 error中。

2.3 使用数据库,跟数据流向

1、数据库的本质

常见数据库主要是MYSQL、ORECAL、Redis

其中Mysql数据库是典型的关系型数据库

2、数据库操作

(1) 数据库和表操作

(2)表数据操作

(3)复杂sql查询

2.4 写好测试用例

在测试过程中很重要的一类文档,它是测试工作的核心、是一组在测试时输入输出的标准、是软件需求的具体对照。编写测试用例,是测试人员的基本功,但是真正能写好的人并不多。

测试用例必须包含的内容:

用例编号、用例名称、、测试目的、优先级、重要级、前置条件、测试步骤、预期结果、实际结果、备注。(不同的公司模板不同,基本也差不多)

1、测试用例的编写流程

需求分析->提取测试点->测试用例编写->测试用例评审

2、编写测试用例的思路

(1)根据产品的PRD,提取测试点。

(2)根据数据流的走向。

(3)根据的架构部署。

(4)编写测试用例的常用方法:等价类划分法、边界值分析法、判断表法、因果图法、场景法、正交排列法、错误推断法等方法(重点)。

(5)覆盖弱网测试、接口测试、安全测试、性能测试等。

(6)常用测试工具有:Postman、 Charles、 Fiddler 、Jemter、Loadrunner等。

3、编写测试用例注意事项

(1)根据项目的实际情况设计测试用例表格

(2)用例格式不要生搬硬套

(3)根据具体情况编写

(4)学会质疑需求,不要完全按照需求来写测试用例,要从客户和产品的角度来理解需求,看到需求之外的功能和体验

4、管理测试用例

为什么要管理测试用例?

(1)测试用例数目巨大

(2)测试用例会根据需求的改变而改变

(3)测试用例需要长期补充完善

如何管理测试用例?

(1)原始的Excel管理

(2)专业的项目管理系统(eg:git、禅道、JIRA等)一般都为web产品

2.5 http与https协议

面试经常关于Http协议的下面几个问题

1、Http协议原理

2、http和https协议的区别

3、TCP和UDP的区别

4、sessiond和cookie的区别

5、公钥和私钥的理解

6、get和post的区别

7、从输入URL到页面加载发生了什么

2.6 了解业务

做功能测试,一定要了解业务,甚至理解业务。只有把业务吃透,才能把功能测试做好,并且有一定的提高。

业务熟悉后,会知道很多常识,知道上面的常识之后,你就可以尝试进阶,学习做自动化测试、接口测试、性能测试(重点)

1、什么时候介入自动化 => 当你系统趋于稳定的时候

2、什么时候介入接口测试 => 当接口开发完毕的时候

3、什么时候介入性能测试 => 当系统出现高并发业务需求时, 比如促销的时候,或者抢购的时候(618大促,过年抢火车票,抢优惠券), 设计相应的场景进行测试

比如说,5000张优惠券,大概有多少人抢,在多长时间内抢完

2.7 bug管理

做功能测试,还有个很重要的工作就是bug管理,一个优秀的的测试人员,线上bug非常多,多于和你一起工作的其他同事,但是线上bug非常少,少于其他同事。

1、 bug定义

(1)不符合需求的

(2)程序本身报错

(3)不符合用户的使用习惯

2、bug生命周期当我们测试人员提交一个bug的时候,自始bug就有它的生命周期。

3、bug单内容

Bug描述(summary)

环境信息:操作系统/数据库/浏览器/软件版本 (OS/Database/Project/Build/Release)

所属功能模块

测试/开发人员

严重等级(1-5)

客户优先级

风险程度

状态

重现步骤

实际结果

是否要回归问题

4、测试报告

把测试的过程和结果写成文档,对发现的问题和缺陷进行分析,为纠正软件的存在的质量问题提供依据,

同时为软件验收和交付打下基础测试报告和测试计划一样,一般由测试leader编写,测试人员需要了解

这里给大家整理了一份《软件测试工程师进阶的技术栈》,包含了诸多技术栈,希望能帮助在升级打怪中提供中坚力量

初级软件测试工程师必须掌握的东西

给大家推荐下我自己建的软件测试交流学习群: 902061117 ,群里都是搞软件测试的,如果你正在学习测试 ,小编欢迎你加入,大家都是测试党,群内不定期分享干货(都是软件测试相关的),包括我自己整理的一份2021最新的进阶自动化资料。

初级软件测试工程师必须掌握的东西

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

关注我的微信公众号【伤心的辣条】免费获取~

送上一句话:

世界的模样取决于你凝视它的目光,自己的价值取决于你的追求和心态,一切美好的愿望,不在等待中拥有,而是在奋斗中争取。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

初级软件测试工程师必须掌握的东西

好文推荐:

转行面试,跳槽面试,软件测试人员都必须知道的这几种面试技巧!

测试岗反复跳槽,跳着跳着就跳没了…

软件测试人员该学习 Python 的七个理由

App公共测试用例梳理

面试经:一线城市搬砖!又面软件测试岗,5000就知足了…

35岁之后软件测试工程师靠什么养家?我能继续做测试!