分享总结知识是一件对于我来说已经是一件非常开心的事情了,同时也可以暴露出自己的一些不足。我希望可以与时俱进,不断的学习和进步,如果写的总结的有不到位的地方,还望各位可以提出宝贵意见。
- 首先在这里需要强调一点就是测试的基础还是很重要的,这里的基础主要就是针对手工的功能测试。我们需要知道所有的原理之后看什么都能看透,业务场景虽然也是考虑的一方面,但是业务场景万变的原理却是不变的,你进入不同的公司一定每一个公司的业务场景都是不同的,但是只要掌握基础的原理那么一切就都不是难事。
- 那么在进行测试对于测试最重要的都是什么呢?首先是要在理解需求的前提下,编写测试设计,需要列出测试点,这也是为测试用例的编写所打下的基础 ,在编写测试设计的时候,我们需要考虑的点就会比较的多,细节的问题包括需求中未明确说明的点,那么测试就需要将这些不明确的需要确认的点和开发产品等进行确认。只有这些点都明确了在测试用例编写的时候才会更明确。当然测试用例编写过程中存在的问题仍需要确认评审的。
- 那么对于一般的测试我们应该覆盖哪些点呢?首先不同的测试对象测试覆盖点可能有所差异,比如app移动端的测试和web端的测试会存在一些差异,但是针对公共的接口的测试却是相同的,目前部分行业对接口的校验会比较少均是放在前端去校验,这样安全性会比较的差,因此接口的测试是比较重要的环节,也是比较基础的测试了。
- 对于软件测试的基础大致说这么多,只是罗列了大概,大致基础知识我们需要知道什么,以及之后中高级测试需要什么样的技能。先在这里列一个大纲,大家可以参考自己已经在什么样的水准了呢?
【1】初级测试
1.1需要掌握软件测试基础,知道软件测试的方法、流程,编写测试用例,编写测试bug单、测试报告等
1.2学会使用fiddler进行接口的抓包
1.3学会使用postman或者jmeter对接口进行测试
1.4熟练使用git以及svn版本控制工具
1.5对linux的命令可以熟练掌握
1.6对mysql、oracle、sqlsever等数据库的增删改查sql语句熟练使用
【2】中级软件测试
2.1熟练使用jmeter对接口进行自动化测试,以及使用jmeter进行性能压力测试
2.2熟练使用robotframework对接口进行自动化测试
2.3掌握python语言课编写python测试用例,对unittest测试框架熟练掌握
2.4掌握java语言可使用junit测试框架以及TestNG单元测试框架编写测试用例
2.5掌握基本的jenkins的持续集成搭建流程,可独立将项目通过jenkins部署发布在linux服务器上,可独立搭建自动化测试环境
2.6掌握一定的shell脚本编写能力
2.7熟练掌握安全测试包括权限、sql注入、xss、前后端漏洞等
【3】高级软件测试
3.1熟练掌握jenkins的分布式构建流程,可独立建立部署作业和流水线
3.2.熟练对项目的前后端的构建和发布
3.3对dubbo接口的自动化测试以及微服务架构的接口测试,可独立搭建微服务架构
3.4熟练掌握docker的使用,以及构建自己的应用镜像
3.5可以自己编写测试框架
3.6学习能力强,新知识可以在短时间内理解和熟练使用的能力
3.7熟练掌握软件性能测试,分析性能瓶颈,给出相应的解决方案
可能越往后对软件测试的技术可能要求会更高,远不止我目前所列的一些,还有更多比如现在的人工智能以及区块链等行业的,我们所需要的技术就更多了。看你处于什么样的行业了,但不管哪一个行业,测试的宗旨和原理不变的,祝大家在测试的路上可以越走越远。
网友评论