一、什么是测试
测试在⽣活中处处可⻅
1.生活中的测试场景
案例⼀:对某款购物软件进⾏测试
*启动测试:点击软件图标,测试软件是否可以正常打开
搜索测试:点击输入框,输入关键词,点击搜索
商品测试:点击商品进入详细页
购物测试:点击购买下单成功
- …
案例二:对⼀个JAVA程序进⾏测试
测试代码逻辑是否符合预期:
a=1,b=2,返回的c是否等于3
a=1,b=-2,返回的c是否等于-1
a=-1b=2,返回的c是否等于1
a=-1,b=-2,返回的c是否等于-3
…
当前程序就存在bug,除数不能为0
由此可⻅,测试不仅在⽇常⽣活中以及学习中都处处可⻅
1.2 为什么需要软件测试
| 企业为何需要招聘⼤量的测试⼈员呢?
企业最终的⽬的是“盈利”,互联⽹企业借助软件/系统来跟⽤⼾交互从⽽获得盈利,也就是说企业的
受众群体主要是⼴⼤的使⽤⽤⼾,⽽⽤⼾的使⽤感受将直接影响企业的盈利,若产品质量太差将导致
⼤量⽤⼾的流失,所以企业⾮常重视测试
1.3 软件测试定义
💡 软件测试就是验证软件产品特性是否满⾜⽤⼾的需求
这里的产品特性有:功能,性能,界面,易用性…
二、测试的岗位有哪些
测试的岗位主要分为以下两个⽅⾯:
1. 软件测试开发⼯程师(简称测开)
⼯作重⼼为可测试性以及通⽤测试基础框架。编写单元测试框架和⾃动化测试框架。软件测试开发⼯
程师关注质量提升和测试覆盖率(业务测试,开发测试效率工具(自动化,性能测试,覆盖率…等)
2. 测试⼯程师
|与软件测试开发⼯程师关系密切,但把⽤⼾放在第⼀位来思考。测试⼯程师组织整体测试实践,并进 ⾏分析总结,驱动测试执⾏,构建端到端的⾃动化测试。(业务测试,也就是点点点的测试)
不管是测开还是测试工程师,都统称为测试人员
然⽽我们在投递简历时,会看到各种各样的测试名称,形如:
BOSS直聘⽹站提供的测试岗位名称:
不同的企业对于测试的命名不同,不管是测试⼯程师、功能测试、移动端测试、客⼾端测试等等都是
测试岗位,性质要么是测试⼯程师,要么是测试开发⼯程师。(只是叫法不同,没有区别)
|注意:同学们后续投递测试岗位时不⽤关注岗位名称和岗位要求,对于校招⽣来说是没有明确的语⾔
或者技能要求的,⾯试主要从简历上写的内容进⾏考察
💡 ⾼频⾯试题
软件测试开发⼯程师和测试⼯程师的区别
相同点:
1.都统称为测试⼈员
2.对产品质量负责,保障产品的质量
不同点:
测试开发⽐测试多“开发”⼆字,⽽这个开发并不是指业务开发,因为业务开发是开 发⼈员的主要职责,这⾥的开发指的是需要开发测试效率⼯具,通过效率⼯具来提升测试 效率和测试质量,⽐如我们的⾃动化、性能测试等就属于效率⼯具
对于测试实习一般都是:
1.熟悉工作和测试流程
2.通过业务测试熟悉个人的测试能力
3.掌握各种各样的工具提高测试质量和效率
4.开始逐步学习开发各种效率工具
三、软件测试和开发的区别
3.1 ⼯作内容
开发⼈员:(业务开发)
- 通过⼀些编程语⾔,如C,C++,C#,Java,
Python,PHP实现软件的特性 - 修改BUG
测试⼈员:(业务测试)
- 编写测试⽤例,执⾏测试⽤例,发现软件的缺
陷,验收缺陷… - 利⽤测试⼯具保障软件的质量
3.2 难易程度上
总结:开发⼴度⼩,专业度⾼。测试⼴度⼤,专业度相对较低,⼤型互联⽹企业对测试⼈员的专业要求可能跟开发差不多
3.3 ⼯作环境
很多公司,测试⼈员和开发⼈员都是坐在⼀个办公楼层的不同区域,所以他们的⼯作环境,⼯作设备基本都是⼀样的
3.4 薪⽔
中⼩企业总体⽐研发低,⾃动化等专业测试和研发基本⽆差距。⼤⼚研发测试薪资基本⽆差别,最终都要以个人能力来评估
3.5 其他不同
测试⼈员经常会进⾏测试动作,⽽开发⼈员进⾏进⾏调试动作,调试和测试是同⼀个含义吗?
💡 ⾼频⾯试题
1.⾛测试岗位为什么还要学习开发知识?
1)测试⼈员也需要编写代码,如⾃动化测试、性能测试、开发测试效率⼯具等。测试⼈员 需要能够看懂代码、了解开发框架。
2)学好开发知识能够提⾼软件测试质量。通过查看代码中数据的⾛向能够更好的从代码层 ⾯去发现问题
四、优秀的测试人员需要具备的素质
4.1综合能力
|沟通能力
快速学习的能力
开发能力
文字能力
|开发人员
测试人员—测试过程中发现bug、测试用例、测试计划 、测试报告…
产品经理----写需求文档的人(发布任务的人)
eg:抖音----测试
1.先了解抖音是做什么的(业务是什么)
2.了解组内做测试的具体形式和步骤是什么
3.做业务测试的步骤
4.2掌握自动化测试技术
自动化测试只是一个统称:接口自动化、UI自动化(前端自动化)
eg:每隔一段时间软件就要更新(新增或优化些功能),历史功能不受影响的基础上增加新的功能
每次更新迭代历史功能都需要手动测试一遍,耗时耗力,而历史功能测试内容基本都是一样的,如果借助自动化来测试历史功能将极大的节省人力和时间
4.3测试用例的涉及能力
测试用例设计能力是指,无论对于什么类型的测试,都能够设计出高效地发现缺陷,保证产品质量的优秀测试用例。
设计测试用例是测试岗位面试/笔试必考题!!!
如何提高测试用例设计的能力?
1.掌握设计测试用例的方法 (设计测试用例的万能公式!!!)
2.阅读好的测试用例设计案例
3.多写多练,积累,总结
4.4 探索性思维
测试⼯程师在执⾏测试的过程中不断学习被测系统,结合⾃⼰的经验,知识,直觉,进⾏系统的错误
猜测和逻辑推理,整理和分析出更多有针对性的的测试关注点。探索性思维的质量取决于测试⼈员的
经验。
*
⽣活中有很多要做的事情都需要⼈们具备探索性思维。
⽐如炒菜,油温的⼤⼩控制,⽕候⼤⼩的控制,调味品量的控制都⾮常考验厨师的探索性思维。炒的好那叫菜,炒的不好那就是放毒了…
4.5兴趣
兴趣是就业择岗的重要因素之⼀,选择了但是仍然对个⼈的⼯作性质不感兴趣,可想⽽知,这样的选择也不会⾛的太远
4.6责任感和压力
对于大家来说最大的压力就是今后找工作~
碰壁了,难受了这都是必然会遇到的情况不要气馁~~~
只要我脸皮够厚,投递的够多,机会就越多,我的工作自然就来了~~
💡 ⾼频⾯试题 为什么⾛测试岗位⽽不⾛开发岗位?
回答思路:从岗位⼯作性质分析+个⼈性格/爱好+个⼈职业规划三个⽅⾯阐述。
1)个⼈兴趣爱好:从性格和兴趣出发,测试⼯作需要测试⼈员具备良好的耐⼼、细⼼,接 触了测试内容后对测试⼯作产⽣浓厚兴趣
2)岗位性质:不管是测试还是测试开发都统称为测试⼈员,测试⼈员主要以保障项⽬测试质量为主,通过开发⼀些测试效率⼯具(⽐如我们学的⾃动化就是效能⼯具,除此之外还 有我们课件上写的内存泄漏⼯具等等)来提⾼测试效率。⽽软件开发主要以业务编码为 主。
3)个⼈职业规划:⼤学期间就树⽴了⾛测试⽅向的⽬标,今后将继续提⾼测试和开发能 ⼒,争取在测试领域做出⼀番有影响⼒的事务