文章目录
- 前言
- 一. 什么是软件测试
- 二. 软件测试和软件调试的区别
- 三. 软件测试和研发的区别
- 四. 优秀的测试人员所应该具备的素质
- 总结
前言
在现实生活中的很多场景下,我们都会进行测试。
比如买件衣服,我们需要看衣服是不是穿着好看,衣服材质如何,衣服的价格怎么样等等,这些都属于测试。
一. 什么是软件测试
那什么是软件测试呢?
最常见的理解是:软件测试就是找bug,发现缺陷。
更准确的来说,软件测试是测试人员验证软件产品特性是否符合需求的过程。
二. 软件测试和软件调试的区别
目的不同
- 调试:调试是发现问题,解决问题。
- 测试:测试是为了解决问题。
参与角色不同
- 测试:由测试人员和开发人员来执行。(通常情况下,黑盒测试由测试人员执行,部分白盒测试,系统测试是由开发人员执行)
- 调试:由开发人员完成。
执行的阶段不同
- 调试:开发阶段才调试。
- 测试:测试是伴随着软件的整个生命周期的。(测试介入的时间点比调试早)
手段不同
- 调试:可以通过debug,分析代码逻辑等方法进行调试。
- 测试:用等价类划分法、边界值法等进行测试。
三. 软件测试和研发的区别
工作内容
开发:需要通过不同的编程语言,最终做出软件。
测试:需要写测试用例,执行,发送测试报告,编写自动化测试用例,开发相关的测试工具。
工作环境
基本类似
薪资
中小企业总体比研发低,自动化等专业测试领域和研发基本无差距。大厂研发测试基本无差别。
发展前景
自动化测试、安全测试等领域发展前景和研发基本一致。
繁忙程度
敏捷模式下差距不大,产品发布前压力比较大。
技能要求
测试:技能广度的掌握(因为测试人员要对产品进行全方面的测试,外观是否好看,Web的UI自动化测试,APP的UI自动化,后端的接口进行测试,性能、安全等等。)
开发:技能深度的掌握,因为开发要写出高效代码。
四. 优秀的测试人员所应该具备的素质
技能相关:
- 测试用例设计能力、
- 编程能力(编写测试工具,自动化测试用例)
- 技术快速学习能力(C语言、Python Java等)
- 业务快速学习能力
非技能相关:
- 沟通能力
- 文字表达能力
- 抗压能力
- 责任感
- 探索性思维