测试工程师,自动化测试工程师,测试开发工程师,这三个岗位分别需要掌握哪些能力和技术栈?

Posted 测试员小静

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了测试工程师,自动化测试工程师,测试开发工程师,这三个岗位分别需要掌握哪些能力和技术栈?相关的知识,希望对你有一定的参考价值。

我本人正是从手工测试,到自动化测试,再步入测试开发的,所以结合我自己的实践经验,给你指一条可能用得上的转岗之路

大家都知道功能测试是测试工程师的基本功,今天就来和大家说说功能测试需要掌握哪些技能...

熟练使用SQL

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

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

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

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

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

LINUX

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

1.基本命令

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

2.查看日志

如何写好测试用例

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

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

用例编号、用例名称、测试背景、前置条件、优先级、重要级、测试数据、测试步骤、预期结果、实际结果、备注。

1.测试用例的编写流程

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

2.编写测试用例的思路

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

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

(3)根据的架构部署。

(4)编写测试用例的常用方法:等价类划分法、边界值分析法、流程图法等。

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

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

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

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

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

(3)根据具体情况编写。

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

4.管理测试用例

为什么要管理测试用例?

(1)测试用例数目巨大。

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

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

如何管理测试用例?

(1)原始的Excel管理。

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

Http与Https协议

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

1.Http协议原理

2.http和https协议的区别

3.TCP和UDP的区别

4.session和token的区别

5.公钥和私钥的理解

6.get和post的区别

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

8.什么叫代理,正向代理和反向代理?

了解业务需求

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

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

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

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

3.什么时候介入性能测试=>当出现促销的时候,或者抢购的时候(618大促,过年抢火车票,抢优惠券) 比如说,5000张优惠券,大概有多少人抢,在多长时间内抢完。

BUG管理

做功能测试,还有个很重要的工作就是bug管理,一个优秀的的测试人员,线上bug非常多,这也是衡量优秀测试工程师的标准。

1.bug定义

(1)不符合需求的

(2)程序本身报错

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

2.bug生命周期

当我们测试人员提交一个bug的时候,自始bug就有它的生命周期,从开始到结束

3.bug单内容

(1)Bug描述

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

(3)所属功能模块

(4)测试/开发人员

(5)严重等级(1-5)

(6)优先级

(7)风险程度

(8)状态

(9)重现步骤

(10)实际结果

(11)是否要回归问题等

4.测试报告

把测试的过程和结果写成文档,对发现的问题和缺陷进行分析,为纠正软件的存在的质量问题提供依据,同时为软件验收和交付打下基础测试报告和测试计划一样,一般由测试leader编写,测试人员需要了解一下测试报告中都有哪些内容。

这里准备了一份功能测试

学好软件测试学习步骤很重要,大部分新手对软件测试的成长路径并不了解,对有些内容适合什么阶段去学都不了解,钻进牛角尖,事倍功半。最好是有经验的人带你,有大腿抱,学习效率极高,这个我深有体会。如果没有也不用担心,去找对应的软件测试交流群就好,我当初就是加了好几个软件测试交流群,不停的请教,包括学习,包括方向,各种问题都问我的软件测试交流群:175317069,群内有不定期的资料发放,还有大牛免费软件测试资料

自动化测试工程师

  1. 第一点、自动化测试框架通常可以对一类被测对象具有通用性,在框架的基础上可以进行自动化测试的设计、开发。    

  2. 第二点、自动化测试不能只停留在界面UI测试上,因此掌握后台开发技术非常重要了。    

  3. 第三点、UI测试的难点就在于测试用例维护量很大,因为后台功能可能变化不大,但是前台UI经常变动,UI一变化,原有的测试用例就要进行维护。    

  4. 第四点、自动化测试工具就像无翼天使长了翅膀,可以通过工具驱动各种脚本执行,或者使用录制/回放等很容易实现自动化测试。   

  5. 第五点、能够将对测试进行管理,比如测试用例的管理,测试计划的管理等。  

  6. 第六点、作为一名自动化测试工程师来说,能够明确的分析开发测试的成本,在自动化测试和手工测试之间找到平衡点,并能够指导测试人员进行自动化测试方面的实践。 

测试开发工程师

职位描述:
1. 维护和开发单元测试、API测试、UI测试等自动化测试工具,在项目中实施自动化测试,提高代码的可测性;
2. 设计、构建和优化持续交付流程,维护和开发相关基础设施。
职位要求:
1. 至少熟悉Python、Java、Objective-C、Ruby、Go、Shell中的一种语言;
2. 在androidios、web至少一个领域,有丰富的自动化测试和持续集成相关经验;
3. 对开源技术有强烈的兴趣和爱好,曾经直接向开发者报告过bug或者贡献过patch;
4. 有良好的团队合作精神,有责任感,有较好的沟通能力,主动性强;
5. 有钻研新技术的热情和能力。
优先条件:
1. 熟悉Jenkins、Git、Puppet、Chef等工具优先;
2. web领域:熟悉py.test、webdriver等工具优先;
3. Android领域:熟悉Gradle、Maven、Junit、Espresso、Robolectric、Appium等测试工具优先;
4. iOS领域:熟悉OCUnit、UI Automation、KIF、Appium等测试工具优先;
5. 提供Github账号、技术Blog链接等优先。

绵薄之力~

为了帮助大家迅速建立测试思维能力,早日斩获大厂Offer、掌握职场话语权,下面这份《软件测试全栈学习路线图》应该会对你很有帮助

从测试概念到最后的测试开发,希望大家能照着这个体系,在3-4年内完成这样一个体系的构建,可以说,这个过程会让你痛不欲生,但只要你熬过去了,以后的生活就会轻松很多,正所谓完事开头难,只要迈出了第一步,你就已经成功了一半,古人说的好:不积跬步无以至千里,等到完成之后在回顾这段路程的时候,你肯定会感慨良多,掌握了以上技术,在任何一线互联网大厂测试岗位都能独挡一面

下面是一些配套的资源,希望能帮到大家

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

关注我的微信公众号:【程序员小濠】免费获取~

送上一句话:

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

我的学习交流群:175317069 群里有技术大牛一起交流分享~群内有不定期的学习视频发放! 

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

 

以上是关于测试工程师,自动化测试工程师,测试开发工程师,这三个岗位分别需要掌握哪些能力和技术栈?的主要内容,如果未能解决你的问题,请参考以下文章

测试工具开发工程师10-17万/西安

测试工程师的分类和发展方向

软件测试工程师到软件测试开发工程师,我需要学什么

测试开发工程师必备软硬能力&高级测试开发工程师需要具备什么能力?

四年测试工程师经历,下一步转开发还是继续测试?

测试开发之Django——No1.介绍以及引申