当前位置: 首页 > news >正文

【测试开发】答疑篇 · 什么是软件测试

【测试开发】答疑篇

在这里插入图片描述

文章目录

  • 【测试开发】答疑篇
    • 1. 生活中的测试
    • 2. 什么是软件测试
    • 3. 为什么要有测试/没有测试行不行
    • 4. 软件测试和软件开发的区别
    • 5. 软件测试和软件调试之间的区别
    • 6. 软件测试的岗位
    • 7. 优秀测试人员具备的素质

【测试开发】答疑篇

软件不一定是桌面应用,这样太狭义了,也可以是其他,比如移动端应用、web应用…

所以软件这个定义,并不只是我们知道的一个桌面应用而已…

1. 生活中的测试

假如你的对象喜欢买衣服,陪他逛商城的时候,他挑了一件好看的衣服,穿在身上,你如果只会说句好看,那真的太low了,无论你的对象是男是女,都这样分析:

  1. 配色和搭配:他选择的衣服的颜色和款式与他的个人特点完美搭配,展现出他的时尚眼光和对细节的关注。
  2. 剪裁和版型:这件衣服的剪裁非常适合他的身材,突出了他的优点,并展现了他的自信和魅力。
  3. 材质和质量:这条衣服选用了高质量的材料,舒适度和耐用性都非常好,彰显了他的品味和对品质的追求。
  4. 细节设计:他选择的衣服上的细节设计非常精致,比如别致的纽扣、独特的图案或细腻的刺绣,展示了他的审美眼光。
  5. 时尚感:这件衣服不仅与潮流保持一致,还有自己独特的风格,使他在任何场合都显得与众不同。
  6. 个性表达:这条衣服反映了他的个性,并帮助他展示出内在的自信和独立精神。
  7. 穿着舒适度:他选择的衣服不仅外观出众,还非常舒适,这使得他在活动中自由自在、轻松愉快。
  8. 整洁和干净:这件衣服干净整洁,无论是颜色的保持还是细节的清洁,展现了他的细致和注重细节的态度。
  9. 衣着品味:这条衣服的选择体现了他对时尚和艺术的敏锐感知,展示出他的独特品味和审美观点。
  10. 自信与魅力:他穿着这件衣服时散发出的自信和魅力瞬间吸引了人们的目光,让他成为众人关注的焦点。

总之,这件衣服在各个方面都非常出色,凸显了他的独特魅力和品味,让他成为一个引人注目的人。

而这十个方面,就是大大小小不同的测试方面,我们 在做好几个测试,例如外观测试,材质测试,版型测试,舒适度测试…

  • 因为对象肯定不会只试一件衣服,应该挑选好几件进行测试,最终挑了一件~

在生活中,我们其实潜移默化地就在做大大小小的一些测试

2. 什么是软件测试

最常见的理解就是:软件测试就是找BUG,发现缺陷。

  • 但是,什么是缺陷呢?缺陷的界定是什么?

软件测试就是验证软件产品特性是否满足用户的需求。

  • 所以,并不是程序执行错误,执行异常才是缺陷,不符合产品特性和预期,不满足用户需求也是缺陷

我们可以看出以下两点:

  1. 测试试图验证软件是 “工作的”,也就是验证软件功能执行的 正确性
  2. 测试的活动是以测试人员 “预期结果” 为依据,这里的“预期结果”指的就是 需求定义

3. 为什么要有测试/没有测试行不行

举一个例子,“非常奇葩的操作”:

对于支付相关业务,一个新上任的领导(新官上任三把火) 说:“支付这块的代码这么写的像shi一样!?必须优化以下支付这块的代码”,然后开发者们就去coding了,理当交给测试人员测试,保证没问题后才能上线! 而这位0🔪并没有这么做,而是让产品直接上线!这就是他的那“一把火”!在产品上线之后,很快出现了问题,出现了大量的“xxx用户支付,支付失败”,这个情况及其恶劣,毕竟涉及的人那么多,让用户体验那么不好,最重要的是涉及钱!

在这里例子,可见测试是保障软件质量的,许多公司会称测试部门为“质量保障部”,是软件上线前的一道重要防线!

4. 软件测试和软件开发的区别

  1. 工作内容
    • 测试:写测试用例、执行、发送测试报告、编写自动化测试用例、开发相关的测试工具
    • 开发:通过不同的编程语言,最终做出软件
  2. 技能区别
    • 测试:技能广度掌握(外观是否好看,Web的UI自动化测试,APP的UI自动化,后端的接口进行测试,性能,安全,网络安全…),对于软件测试,有后端开发技能是加分项哦
    • 开发:技能深度掌握(Java后端工程师,因为开发需要写出高效的代码)
  3. 发展前景
    • 测试:初级测试工程师 -> 中级测试工程师 -> 高级测试工程师 -> 架构师 -> 项目经理…
    • 开发:初级开发工程师 -> 中级开发工程师 -> 高级开发工程师 -> 架构师 -> CTO…
  4. 工作环境
    • 基本上几个类型的工程师都在一起办公(划分办公区域),同一公司工作环境是一样的,同一职级办公环境是一样的
  5. 薪资
    • 通常情况下,大厂两者是差不多的,而中小厂测试偏低的

5. 软件测试和软件调试之间的区别

  1. 角色
    • 调试:开发者在开发过程中出现问题,进行一定的调试动作去解决问题
    • 测试:测试 + 开发执行(通常情况下,黑盒测试由测试人员执行,部分白盒测试、系统测试是由开发人员执行)
  2. 阶段
    • 调试:开发的过程中调试
    • 测试:没有代码测试就已经开始了,测试是伴随着软件的整个生命周期
  3. 目的
    • 调试:出现问题,解决问题
    • 测试:发现问题,提供解决方案
  4. 手段
    • 调试:debug,分析代码逻辑等各种手段,作为侦探…
    • 测试:等价类划分法,边界值法等各种手段,作为天罗地网,找到问题…

6. 软件测试的岗位

  1. 测试工程师
    • 功能测试比较多,设计测试用例,执行测试用例,涉及到的开发工作内容较少
  2. 测试开发工程师
    • 测试工程师的工作内容上,加了一些开发工作(开发测试用例,开发测试工具,开发出来的测试工具让测试人员用,提高效率)
    • 测试开发出来的软件和开发人员开发的软件有啥不一样?
      1. 开发人员开发的软件面向的对象是外部用户
      2. 测试开发开发出来的软件
  3. 游戏测试
  4. 软件测试
  5. 自动化测试
    • 设计自动化测试用例,开发自动化测试框架
  6. 性能测试(较难)
  7. 安全测试(较难)

7. 优秀测试人员具备的素质

技能:

  1. 编程能力(编写测试工具,自动化测试用例)
  2. 测试用例设计能力
  3. 技术快速学习的能力
  4. 业务快速学习的能力

非技能:

  1. 沟通与合作(一个项目一堆人写的)
  2. 文字表达能力(测试用例文字写出来的,编写测试文档,提出BUG以及解决方案)
  3. 抗压能力
  4. 责任感

文章到此结束!谢谢观看
可以叫我 小马,我可能写的不好或者有错误,但是一起加油鸭🦆

软件测试的学习就是以实践为主,理论为辅~


http://www.lryc.cn/news/168628.html

相关文章:

  • 深入解析顺序表:揭开数据结构的奥秘,掌握顺序表的精髓
  • 数据风险量化评估方案
  • EasyAVFilter代码示例之将视频点播文件转码成HLS(m3u8+ts)视频点播格式
  • day-50 代码随想录算法训练营(19)动态规划 part 11
  • 自定义权限指令与防止连点指令
  • UE5、CesiumForUnreal实现瓦片坐标信息图层效果
  • PostgreSQL执行计划
  • 【2023 睿思芯科 笔试题】~ 题目及参考答案
  • Java手写AVL树
  • 运维自动化:提高效率的秘诀
  • C++设计模式_05_Observer 观察者模式
  • github网站打不开,hosts文件配置
  • 总结PCB设计的经验
  • HCIE-HCS规划设计搭建
  • c语言输出杨辉三角
  • 性能测试-持续测试及性能测试建设(22)
  • 嵌入式C 语言中的三块技术难点
  • 【斗破年番】紫研新形象,萧炎终成翻海印,救援月媚,三宗决战
  • 差分方程模型:国民总收入(GDP)的乘数-加速数模型
  • 【C语言】指针和数组笔试题解析(1)
  • Vue中组件的三种注册方式
  • docker 和k8s 入门
  • 基于Yolov8的交通标志牌(TT100K)识别检测系统
  • 使用Python编写一个多线程的12306抢票程序
  • DT Paint Effects工具(三)
  • SpringBoot整合Mybatis
  • Java后端使用POST请求向mysql中插入Json数据的问题
  • 豆瓣图书评分数据的可视化分析
  • SpringBoot整合Easy-ES操作演示文档
  • IDEA控制台取消悬浮全局配置SpringBoot配置https