概念篇除了要 掌握专业术语和概念外,还有很多 软件测试的方法外,更要 具备测试的思想。
1. 什么是测试
1.1 生活中的测试
【案例一】
比如在商场买衣服,会有几个步骤:
- 挑符合审美的衣服:外观测试
- 去试衣间试衣服:试穿测试
- 价格是否合适:价格测试
【案例二】
private static int Div(int a,int b){
return a/b;
}
测试上面代码,找出可能存在的问题:
- 如果b为0,程序会出bug
- 如果传送的是字符串,程序也会出bug
1.2 软件测试的定义
软件测试就是验证产品特性是否符合用户的需求,比如产品的功能(购物,评论),性能(打开页面的速度),界面(在浏览器界面很容易找到搜索框),易用性(一打开软件就会用)等。
企业招聘大量测试人员的原因:
企业开发的产品是给广泛用户提供的,若是不测试,产品质量太差会导致用户大量流失,没有盈利。
2. 测试的岗位(含面试、笔试题)
不管测开还是测试,都统称为测试人员。投递测试岗位的入口:公司官网,求职软件。
注:中大厂的测试基本都是测试开发。
测试的岗位分类:
- 测试开发工程师:主要工作是做软件(业务)测试,做完测试后,还要开发测试效率工具(自动化、性能测试等),效率工具会提高测试的效率和质量。
- 测试工程师:主要工作是做软件(业务)测试。
【笔试题】测试效率工具会不会替代测试人员?
不会。测试工具是测试人员开发的,测试人员也需要进行后期的工具维护。
【hr面试题】软件测试开发工程师和测试工程师的区别?
- 相同点:都统称为测试人员;都对产品质量负责,保障产品质量。
- 不同点:多出来的“开发”两字指的是测试工具的开发,并不是指业务开发(这是开发人员做的工作),而是开发测试效率工具,从而提高测试效率和质量,比如自动化、性能测试等就属于效率工具。
3. 软件测试和开发的区别(面试题)
注:
- 测试人员不具有gitee仓库的修改权限,开发人员则有。
- 虽然测试人员主要工作时保障产品的测试质量,但软件质量并不只有测试人员保障,项目组的全部成员都要保障产品质量。
工作中开发和测试出现冲突怎么办?
- 反思自己是否将BUG描述清楚,或是自己判断疏忽。
- 站在用户角度反问是否能接受。
- 不仅提出问题,最好给解决方案,不要以命令式语气沟通。
【高频面试题】测试岗位为什么还要学开发知识?
- 测试人员需要编写测试工具,如自动化测试,性能测试等。必须能看懂开发人员写的代码,了解开发框架。
- 学好开发知识能够提高软件测试的质量,通过代码中的数据走向能更好的从代码层面去发现问题。
4. 优秀的测试人员标准(面试题)
换种问法:你为什么想走测试而不是开发?/ 你觉得自己做测试有什么优势?/ 你具备什么样的特点?
-
综合能力上:有良好的沟通能力和文字能力(能与开发人员进行程序缺陷的沟通,能看懂产品经理写的需求文档);有快速学习能力;有开发能力;有文字能力(写测试文档,测试报告等)。
-
掌握自动化测试技术:由于中大厂业务复杂,所以自动化测试是中大厂必不可少的技术事务。自动化测试只是一个统称,它包含接口自动化,前端自动化等等。比如app隔一段时间会进行更新优化一些功能,要在历史功能不受影响的基础上增加新的功能,历史功能和新功能都需要测试。而每次更新迭代历史功能,测试的内容都一样且耗时耗力,借助自动化技术测试历史功能将极大减少时间人力。
-
测试用例的设计能力:设计测试用例是笔试/面试的必考题。它是指无论面对什么类型的测试,都能设计出高效发现产品缺陷的测试用例的能力;掌握测试用例的方法,多看优秀的测试用例设计方案,多积累学习提高设计测试用例的能力。
-
探索性思维
-
兴趣
-
责任感和压力