【测试开发】答疑篇
文章目录
- 【测试开发】答疑篇
- 1. 生活中的测试
- 2. 什么是软件测试
- 3. 为什么要有测试/没有测试行不行
- 4. 软件测试和软件开发的区别
- 5. 软件测试和软件调试之间的区别
- 6. 软件测试的岗位
- 7. 优秀测试人员具备的素质
【测试开发】答疑篇
软件不一定是桌面应用,这样太狭义了,也可以是其他,比如移动端应用、web应用…
所以软件这个定义,并不只是我们知道的一个桌面应用而已…
1. 生活中的测试
假如你的对象喜欢买衣服,陪他逛商城的时候,他挑了一件好看的衣服,穿在身上,你如果只会说句好看,那真的太low了,无论你的对象是男是女,都这样分析:
- 配色和搭配:他选择的衣服的颜色和款式与他的个人特点完美搭配,展现出他的时尚眼光和对细节的关注。
- 剪裁和版型:这件衣服的剪裁非常适合他的身材,突出了他的优点,并展现了他的自信和魅力。
- 材质和质量:这条衣服选用了高质量的材料,舒适度和耐用性都非常好,彰显了他的品味和对品质的追求。
- 细节设计:他选择的衣服上的细节设计非常精致,比如别致的纽扣、独特的图案或细腻的刺绣,展示了他的审美眼光。
- 时尚感:这件衣服不仅与潮流保持一致,还有自己独特的风格,使他在任何场合都显得与众不同。
- 个性表达:这条衣服反映了他的个性,并帮助他展示出内在的自信和独立精神。
- 穿着舒适度:他选择的衣服不仅外观出众,还非常舒适,这使得他在活动中自由自在、轻松愉快。
- 整洁和干净:这件衣服干净整洁,无论是颜色的保持还是细节的清洁,展现了他的细致和注重细节的态度。
- 衣着品味:这条衣服的选择体现了他对时尚和艺术的敏锐感知,展示出他的独特品味和审美观点。
- 自信与魅力:他穿着这件衣服时散发出的自信和魅力瞬间吸引了人们的目光,让他成为众人关注的焦点。
总之,这件衣服在各个方面都非常出色,凸显了他的独特魅力和品味,让他成为一个引人注目的人。
而这十个方面,就是大大小小不同的测试方面,我们 在做好几个测试,例如外观测试,材质测试,版型测试,舒适度测试…
- 因为对象肯定不会只试一件衣服,应该挑选好几件进行测试,最终挑了一件~
在生活中,我们其实潜移默化地就在做大大小小的一些测试
2. 什么是软件测试
最常见的理解就是:软件测试就是找BUG,发现缺陷。
- 但是,什么是缺陷呢?缺陷的界定是什么?
软件测试就是验证软件产品特性是否满足用户的需求。
- 所以,并不是程序执行错误,执行异常才是缺陷,不符合产品特性和预期,不满足用户需求也是缺陷
我们可以看出以下两点:
- 测试试图验证软件是 “工作的”,也就是验证软件功能执行的 正确性
- 测试的活动是以测试人员 “预期结果” 为依据,这里的“预期结果”指的就是 需求定义
3. 为什么要有测试/没有测试行不行
举一个例子,“非常奇葩的操作”:
对于支付相关业务,一个新上任的领导(新官上任三把火) 说:“支付这块的代码这么写的像shi一样!?必须优化以下支付这块的代码”,然后开发者们就去coding了,理当交给测试人员测试,保证没问题后才能上线! 而这位0🔪并没有这么做,而是让产品直接上线!这就是他的那“一把火”!在产品上线之后,很快出现了问题,出现了大量的“xxx用户支付,支付失败”,这个情况及其恶劣,毕竟涉及的人那么多,让用户体验那么不好,最重要的是涉及钱!
在这里例子,可见测试是保障软件质量的,许多公司会称测试部门为“质量保障部”,是软件上线前的一道重要防线!
4. 软件测试和软件开发的区别
- 工作内容
- 测试:写测试用例、执行、发送测试报告、编写自动化测试用例、开发相关的测试工具
- 开发:通过不同的编程语言,最终做出软件
- 技能区别
- 测试:技能广度掌握(外观是否好看,Web的UI自动化测试,APP的UI自动化,后端的接口进行测试,性能,安全,网络安全…),对于软件测试,有后端开发技能是加分项哦
- 开发:技能深度掌握(Java后端工程师,因为开发需要写出高效的代码)
- 发展前景
- 测试:初级测试工程师 -> 中级测试工程师 -> 高级测试工程师 -> 架构师 -> 项目经理…
- 开发:初级开发工程师 -> 中级开发工程师 -> 高级开发工程师 -> 架构师 -> CTO…
- 工作环境
- 基本上几个类型的工程师都在一起办公(划分办公区域),同一公司工作环境是一样的,同一职级办公环境是一样的
- 薪资
- 通常情况下,大厂两者是差不多的,而中小厂测试偏低的
5. 软件测试和软件调试之间的区别
- 角色
- 调试:开发者在开发过程中出现问题,进行一定的调试动作去解决问题
- 测试:测试 + 开发执行(通常情况下,黑盒测试由测试人员执行,部分白盒测试、系统测试是由开发人员执行)
- 阶段
- 调试:开发的过程中调试
- 测试:没有代码测试就已经开始了,测试是伴随着软件的整个生命周期
- 目的
- 调试:出现问题,解决问题
- 测试:发现问题,提供解决方案
- 手段
- 调试:debug,分析代码逻辑等各种手段,作为侦探…
- 测试:等价类划分法,边界值法等各种手段,作为天罗地网,找到问题…
6. 软件测试的岗位
- 测试工程师
- 功能测试比较多,设计测试用例,执行测试用例,涉及到的开发工作内容较少
- 测试开发工程师
- 测试工程师的工作内容上,加了一些开发工作(开发测试用例,开发测试工具,开发出来的测试工具让测试人员用,提高效率)
- 测试开发出来的软件和开发人员开发的软件有啥不一样?
- 开发人员开发的软件面向的对象是外部用户
- 测试开发开发出来的软件
- 游戏测试
- 软件测试
- 自动化测试
- 设计自动化测试用例,开发自动化测试框架
- 性能测试(较难)
- 安全测试(较难)
7. 优秀测试人员具备的素质
技能:
- 编程能力(编写测试工具,自动化测试用例)
- 测试用例设计能力
- 技术快速学习的能力
- 业务快速学习的能力
非技能:
- 沟通与合作(一个项目一堆人写的)
- 文字表达能力(测试用例文字写出来的,编写测试文档,提出BUG以及解决方案)
- 抗压能力
- 责任感
文章到此结束!谢谢观看
可以叫我 小马,我可能写的不好或者有错误,但是一起加油鸭🦆!软件测试的学习就是以实践为主,理论为辅~