一.什么是软件测试
1.生活中测试场景
- 新买的手机要测试
- 考试做完的题目要进行检查
- 安装好的电视机需要打开看能不能正常使用
2.什么是软件测试
软件测试就是验证软件产品特性是否满足用户需求
- 测试试图验证软件是“工作的”,即验证软件功能执行的正确性
- 测试的活动是以测试人员“预期的结果”为依据,“预期结果”指需求定义
3.特点
只是一个样本试验,具有不可穷尽性
二.软件测试和软件开发的区别
1.工作内容
开发:通过不同的编程语言最终做出软件
测试:写测试用例、执行、发送测试报告,编写自动化测试用例,开发相关测试工具
2.技能区别
开发:技能深度的掌握(需要写出高效的代码)
测试:技能广度的掌握(对产品进行全方位的测试,外观,Web的UI自动化测试,App的UI自动化,后端接口测试,性能,安全…)
3.发展前景
开发:初级开发工程师->中级开发工程师->高级开发工程师->架构师->CTO
测试:初级测试工程师->中级测试工程师->高级测试工程师->架构师->项目经理
三.软件测试和软件调试的区别
1.角色
测试:测试人员和开发人员执行(通常,黑盒测试由测试人员执行;部分白盒测试和系统测试是由开发人员执行)
调试:开发者自己调试
2.阶段
测试:伴随着软件的整个生命周期
调试:开发的时候才进行调试
3.目的
测试:发现问题,提供解决方案
调试:发现问题,解决问题
4.手段
测试:等价类划分法,边界值法…
调试:debug,分析代码逻辑
四.软件测试人员具备的素质
1.技能
- 测试用例设计能力
- 编程能力:编写测试工具,自动化测试用例
- 技术快速学习的能力
- 业务快速的学习能力
2.非技能
- 沟通合作能力
- 文字表达能力:测试用例,测试文档的编写,BUG
- 抗压能力
- 责任感