关于软件测试你了解多少?
发布时间:2025-05-13

不少同学在被问及为什么考虑进入软件测试行业,回答是因为不想做研发?实习中有参与过功能测试。通常是APP或游戏测试?或者是觉得测试没有想像中那么难?

 

准备期需要学习了解 

 

计算机基础和网络基础(包括了解计算机硬件知识,如CPU、内存等。)

软件测试基础理论(不同的测试方法、测试类型)

操作系统基础(linux)

数据库基础(SQL)

Python或Java

 

初级阶段 

 

掌握测试理论、工具、流程,如测试用例、执行测试、记录和跟踪缺陷(陷管理工具如 JIRA)、记录BUG情况,基础的功能测试。学习测试基础和工具(包括Xmind)。


中级阶段 

 

编写测试计划、能输出测试报告,搭建测试环境、开发自动化测试脚本等。手工测试的基础上,掌握自动化测试。掌握Python或Java、及常用的测试框架。

 

Web与UI 测试,如 Selenium 支持多浏览器和多语言(如Java、Python、C#)。跨平台移动应用(iOS/Android)测试工具,支持原生、混合和移动Web应用,基于WebDriver协议。如Appium跨平台移动应用(iOS/Android)测试工具,支持原生、混合和移动Web应用,基于WebDriver协议。适用于复杂Web界面自动化测试,具有庞大的社区生态。

 

单‌元测试,如JUnit/TestNG Java主流单元测试框架,集成IDE和构建工具,支持测试驱动开发。如 pytest Python框架,语法简洁,支持参数化测试和复杂功能验证,常用于接口和UI自动化测试。

 

API测试 ,如Apifox 集成API文档,Mock和测试功能,支HTTP/WebSocket等多种协议,适合接口自动化与持续集成。如RestAssured/Karate Java框架,专注于RESTful接口测试,提供链式语法简化断言。

 

性能与负载测试‌,如JMeter Java开发的开源性能测试工具,支持分布式压测和多种协议,常用于Web应用性能分析。‌移动端专项工具‌,如UIAutomator 和MonkeyRunner(稳定性测试工具)。‌集成与扩展框架‌:Serenity(结合BDD和Selenium)、Katalon(全栈测试平台)。

 

测试岗位 

 

功能测试工程师:识别需求中的潜在风险和模糊点,如功能边界情况、不同用户角色对功能的操作权限差异等。根据功能需求,编写全面的测试用例。测试用例要涵盖各种正常和异常的操作场景。如APP 的商品搜索功能为例,正常场景包括通过关键词准确搜索到商品,异常场景则可能包括输入非法字符、超长关键词等情况。

 

自动化测试工程师:随着DevOps和持续集成/持续部署(CI/CD)的普及,自动化测试越来越重要。负责自动化测试工具框架(如 Selenium 用于 Web 自动化测试、Appium用于移动应用自动化测试)的使用和脚本开发,提高测试的效率。测试人员将从手动执行重复测试任务转变为自动化测试脚本的开发。如在一个频繁更新迭代的互联网产品项目中,每次代码更新后都需要进行大量的回归测试。通过自动化测试脚本,可以快速执行这些测试用例,大大缩短测试周期。


性能测试工程师:随着应用程序的复杂性增加,性能测试成为保证软件质量的关键。负责性能测试、负载测试和压力测试和容量测试等。如例如评估系统在高并发用户访问下的响应时间、吞吐量等指标。在开发一个大型网站时,性能测试人员需要明确要测试的页面加载速度、在大量用户同时登录时系统的稳定性等目标。


安全测试工程师:使用专业的安全测试工具(如 Nessus、Acunetix)对软件系统、网络进行漏洞扫描,检查常见的安全漏洞。进行安全渗透测试,模拟黑客攻击行为,尝试突破系统的安全防护机制。对扫描结果进行初步分析,确定漏洞的严重程度和可能的影响范围。如SQL 注入、跨站脚本攻击(XSS)、文件包含漏洞等针对发现的 XSS 漏洞,建议对用户输入进行严格的过滤和验证等。


专项领域测试工程师:如移动应用测试、云计算测试、物联网测试大数据测试等。


QA工程师:QA的核心是预防,涉及更加广泛的活动,包括需求分析、制定测试计划、监控质量控制过程,以确保产品符合既定的质量标准。 确保通过适当的流程、方法和活动来预防缺陷的发生。这涉及到流程改进、风险管理以及与开发团队的紧密协作以确保质量控制措施得到有效执行。

 

QA工程师与软件测试工程师两者差异在于QA更关注于预防缺陷,而测试工程师则专注于发现缺陷。QA聚焦于防止缺陷,通过制定和维护质量标准、流程和方法来执行其任务。软件测试工程师专注于发现缺陷软件质量,通过设计和执行详细的测试计划来完成他们的任务,关注整个软件开发过程中的质量控制和改进。

 

除了以上的技术知识和技能外,软件测试也是非常强调软技能的岗位。

 

1、良好的协作和沟通能力,因为测试工作中会需要和其他部门和项目成员频繁地沟通协作,澄清问题,很多时候需要说服别人理解问题对质量的影响。

 

2、归纳总结和书面表达能力,在输出故障说明、测试报告等都是归纳总结和书写能力的表现。测试工作的目的是能够评估出产品的质量状态,而把这个评估出的状态呈现出来就是书面表达能力。

 

3、其他能力,这个还包括了设问能力、观察能力、细心发现、有探究精神对测试工作都很重要。

在选择任何一个岗位做为发展目标前要先了解这个岗位所需要的核心知识及匹配自身情况来学习,以便更好的职业规划发展。

 

 

更多软件测试相关推荐:

软件测试更多干货文章

软件测试就业培训


  文章来源:网络  版权归原作者所有

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8103),我们将立即处理

相关阅读
/