作为一名软件测试工程师,需要具备以下能力:一、逆向思维能力;二、问题分析能力;三、软件测试相关的知识能力;四、操作系统的使用能力;五、测试工具使用能力;六、沟通表达能力。逆向思维能力可以帮助软件测试工程师更全面的捕捉软件中的缺陷和问题。
一、逆向思维能力
现在的软件是面向社会大众的,每一个人都有自己的使用习惯和意见,这就导致了软件在使用过程中会出现各种各样的状况出现,为了应对各种突发现象,软件测试工程师一定要拥有缜密的逻辑思维能力,和逆向思维能力,能够以用户角度出发,捕获一切可能性,对细节有不同寻常的关注能力,这样对于软件后期维护和长期发展都是非常有利的。
二、问题分析能力
软件测试工程师应当擅于发现问题,并且要肯于钻研,有打破砂锅问到底的精神。对于偶然出现过一次的Bug,一定要找出原因,要有不找到问题根源誓不罢休的决心,这种情况下发现的可能是非常严重或者非常容易被人忽视的问题。细心、耐心、信心是软件测试工程师的基本的素质。
三、软件测试相关的知识能力
作为一名软件测试工程师,需要掌握测试计划编写、设计测试用例、编写测试报告、编写BUG报告单、跟踪BUG修复情况,以及各种测试阶段所使用的测试方法。单元测试、功能测试、集成测试、系统测试等等、CMMI /ISO9001,不用全都会,但至少要懂一些。
此外,还要懂一些基础的硬件知识。因为在性能测试过程中,硬件性能也是一个非常重要的指标,CPU、内存、IO、带宽等等。如果你是做硬件测试的,交换机、路由器、防火墙这些设备都需要有所了解。
四、操作系统的使用能力
作为一名软件测试工程师,还要学会使用Windows、linux、uinx这些都必须会使用,而且不仅仅是简单的操作,一般的服务管理、注册表编辑、命令行操作都需要会。可以想象下一个连apache服务都不会安装配置的人,谁能想象你可以做好基于apache环境的测试工作。
五、测试工具使用能力
作为软件测试工程师,虽然无须精通各种语言各类技术,但必须全面理解被测软件系统,明白该使用何种工具进行测试。目前市场上有许多软件测试工具可供选择,公司或者个人可以根据需要选择一些软件测试工具来辅助软件测试工作。另外,现在有许多自动化工具需要软件测试工程师自己去开发一些代码,所以具有一定自动化测试开发能力也是非常重要的。但是,软件测试工具不是使用广泛的,人工软件测试依然很重要。
六、沟通表达能力
作为一名软件测试工程师,需要经常与技术人员、产品人员、上级领导和团队其他成员进行沟通,因此掌握一定的沟通技巧和方法是很有必要的。在与人沟通时,需要清晰明确地表达自己的意思,避免产生歧义或误解,可以使用简洁、明了的语言,尽量避免使用复杂或专业的术语;沟通后,需要注意沟通效果,及时跟进和反馈,,以便更好地改进和提高沟通能力。
延伸阅读一:软件测试工程师的分级
按软件测试工程师的级别和职位的不同,可分为三类:
- 高级软件测试工程师,熟练掌握软件测试与开发技术,且对所测试软件对口行业非常了解,能够对可能出现的问题进行分析评估;
- 中级软件测试工程师,编写软件测试方案、测试文档,与项目组一起制定软件测试阶段的工作计划,能够在项目运行中合理利用测试工具完成测试任务;
- 初级软件测试工程师,其工作通常都是按照软件测试方案和流程对产品进行功能测验,检查产品是否有缺陷。
延伸阅读二:测试管理工具软件
1. 测试管理工具:PingCode(推荐:简单、全面、好用/地址: https://sc.pingcode.com/dkj4m )、Jira(不支持本地版、贵)
2. 接口测试工具:Jmeter(开源)、postman、SoapUI
3. 性能测试工具:loadrunner(全但复杂)、jmeter 、Web bench
4. C/S自动化工具:qtp、autoit
5.白盒测试工具:jtest、JUnit、cppunit
6.代码扫描工具:Coverity、cppcheck、gcover
7.持续集成工具:jenkins、Hudson
8.网络测试工具:思博伦、Ixia、tc
9.app自动化工具:appium、instruments、uiautomator
10.web安全测试工具:appscan、Netsparker Community Edition、Websecurify 、Wapiti
11.抓包工具:fiddler