希望能对看到这篇文章的朋友们有所帮助,尤其是转行的和还在从事“点点点”的朋友们。
今天在知乎上看到一个问题:其实我一直不明白软件测试是做什么事的?
软件测试工程师的工作内容
软件测试工程师薪资高待遇好,人员需求增加快而广受关注,未来的发展前景受到肯定。吸引了众多的人加入这个行业,那么,软件测试到底是做什么的,想要成为软件测试工程师,你就必须先清楚它的职责内容。
1.测试和发现软件中存在的软件缺陷
使用各种测试技术和方法来测试和发现软件中存在的软件缺陷。测试技术主要分为黑盒测试和白盒测试两大类。其中黑盒测试技术主要有等价类划分法、边界值法、因果图法、状态图法、测试大纲法以及各类典型的软件故障模型等;白盒测试的主要技术有语句覆盖、分支覆盖、判定覆盖、基本路径覆盖等;
2. 测试工作需要贯穿整个软件开发生命周期
完整的软件测试工作包括单元测试、集成测试、确认测试和系统测试工作。单元测试工作主要在编码阶段完成,由开发人员和软件测试工程师共同完成,其主要依据是详细测试。
确认测试和系统测试是在软件开发完成后,验证软件的功能与需求的一致性、验证软件在相应的硬件条件下的系统功能是否满足用户需求,其主要依据是用户需求。
3. 缺陷报告编写及提交
测试人员将发现的缺陷编写成正式的缺陷报告,提交给开发人员进行缺陷的确认和修复。缺陷报告编写最主要的要求是保证缺陷的重现。
4. 软件质量分析
测试人员需要分析软件质量。在测试完成后,测试人员需要根据测试结果来分析软件质量,包括缺陷率、缺陷分布、缺陷修复趋势等。给出软件各种质量特性包括有功能性、可靠性、易用性、安全性、时间与资源特性等的具体度量。最后给出一个软件是否可以发布或提交用户使用的结论。
或者通俗一点,软件测试实际操作的工作内容和技能。
A.初级:功能测试 (也叫点点点工程师)
市场行情:点点点测试占据了市场60%。工资待遇通常在一线城市只能达到 8-15k。
基本要求:懂产品业务需求,软件开发的流程。会编写测试文档,用例
特点:日常工作枯燥,每天重复性工作。比如微信开发了一个功能,拍一拍,去群里各种拍,不懂编程,工作中工具用的少,用到一点数据库,
B.中级:功能测试+自动化
市场行情:工资待遇在一线城市 在8-18k,占据20%。达到一个技术瓶颈,想突破进阶测试技术
基本要求:功能项目经验丰富,会用一些开源的测试工具(postman,jmeter,mysql,linux,python,)来辅助测试,会一些简单的编程. 会一点接口测试
特点:能实现简单的自动化,demo层面,没有将自动化应用到实际工作,在网上找了一些碎片化的代码,不理解框架的原理。
高不成低不就
C.高级:功能测试+接口测试+自动化测试
市场行情:占据15%。想提高竞争力,建立自己的技术体系,想做测试负责人,做测试开发,性能专项测试
工资待遇:在一线城市拿到 15-25k
基本要求:熟悉一门编程语言,熟练自动化测试,UI自动化+接口自动化(代码)
能独立搭建团队使用的测试框架,带新人写自动化测试
能搭建一套有效落地的自动化测试方案,搭建测试框架,写一些配置脚本,公共方法,使框架更灵活,易用,自动化核心
D.资深:功能测试+自动化测试+测试开发+性能测试
市场行情:占据5%
工资待遇:一线城市 20-50k
基本要求:丰富的自动化测试经验,熟练编程,会开发测试平台,写测试工具。在公司里担任测试总监级别的职位。
相信看到这里就明白软件测试是做什么的了吧,总之在用户使用前先经历无数次bug,大厦崩于前而面不改色。
那么如何成为一名优秀的软件测试工程师呢?
一、掌握基本的Python基础语法规则,全方位提升Python编程技能,面向对象思维
二、全面掌握元素定位技巧、POM设计模式、关键字驱动、数据驱动、selenium的WebUI自动化测试技能
三、全面掌握元素定位、小程序自动化、Python+Appium的APPUI自动化测试技能
四、全面掌握request库的HTTP协议接口自动化测试技能,websocket接口测试、Dubbo接口测试
五、掌握自动化持续技能能力、自动化用力脚本运行、产出报告、自动化发送邮件、全流程持续集成自动化
六、独立搭建接口、UI测试框架、接口与UI框架整合一体化、场景关联应用,建立自己的技术体系。
七、扩展,提升职业技术深度