测试开发概念篇

本文探讨了软件测试的基础概念,包括需求的重要性、BUG定义,以及各种开发模型如瀑布、螺旋、增量迭代和敏捷模型的特点。重点讲解了测试用例设计、生命周期管理,并强调了测试人员所需的关键技能和测试模型的应用,如V模型和W模型。
摘要由CSDN通过智能技术生成

目录

前言

几个常见的名词 

需求

什么是BUG

测试用例

软件生命周期

开发模型

瀑布模型 

螺旋模型

增量和迭代模型

敏捷模型 


前言

什么是软件测试

  • 软件测试就是验证产品特性是否满足用户需求
  • 开发软件是为了盈利,必须满足用户才会盈利

测试和调试的区别

  • 目的  测试是为了找出软件中的错误,调试是找出错误并解决错误
  • 人员  测试有测试人员和开发人员     调试只有开发人员(单元测试,集成测试)
  • 阶段  测试是贯穿整个软件的生命周期  调试是在编码阶段

优秀的测试人员需要的能力

  • 快速学习能力
  • 沟通能力
  • 文字能力
  • 开发能力
  • 掌握自动化技术   (项目测试+技术事务)
  • 编写优秀的测试用例
  • 探测性思维
  • 责任感和抗压能力
  • 对测试感兴趣

几个常见的名词 

需求

  • 满足用户的期望或者正式文档(合同,标志,规范)所具有的条件和权能,包含用户的需求和软件需求
  • 用户需求:可以简单理解为甲方提出的需求,如果没有甲方,那么就是终端用户使用产品时必须要完成 的任务。该需求一般比较简略。
  • 软件需求:或者叫功能需求,该需求会详细描述开发人员必须实现的软件功能。
  • 大多数公司在进行软件开发的时候会把用户需求转化为软件需求,开发人员和测试人员工作的直接依据就是软件需求
  •  需求是测试人员开展软件测试工作的依据,因为测试用例依赖于需求

需求的重要性 

  1. 从软件功能需求出发,无遗漏的识别出测试需求是至关重要的,这将直接关系到用例的测试覆盖率
  2. 对于识别出的每个测试需求点,需要采用具体的设计测试用例的方法来进行测试用例的设计

如何才可以深入理解被测试软件的需求

  1. 在需求分析和设计阶段就开始介入,因为这个阶段是理解和掌握软件的原始业务需求的最好 

什么是BUG

  1. 注意:以上说法是片面的,准确的来说: 当且仅当规格说明是存在的并且正确,程序与规格说明之间的 不匹配才是错误
  2. 当需求规格说明书没有提到的功能,判断标准以最终用户为准: 当程序没有实现其最终用户合理预期的 功能要求时,就是软件错误。

测试用例

  • 测试用例( Test Case )是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环 境、操作步骤、测试数据、预期结果等要素

实例

为什么要设计测试用例 

围绕着软件需求去设计测试用例,防止重复测试,原则:防止测试用例用过即弃

软件生命周期

  1. 需求分析:分析用户的需求是否合理,转换为软件需求,由产品经理完成(市场分析,技术分析..)->软件需求文档
  2. 计划:制定需求执行计划
  3. 设计:将需求细化成一个个子任务,进行技术设计(设计那些接口,采用那些技术)——>设计文档
  4. 编码:开发人员按照需求文档以及设计文档来进行编码
  5. 测试:测试人员参考调用用例来执行测试
  6. 运行维护:项目上线后对产品进行先上的维护 修复性维护,完善性维护 预防性维护

开发模型

瀑布模型 

  • 瀑布模型最主要的特点就是线性开发,就是一定要按照这些步骤执行
  • 缺陷:不能去应对需求的变化 测试被后置 风险往往在后期才显现,因而失去了及早修正的时间 必须要有足够的时间预留给测试活动,否则测试不充分,从而直接把缺陷留给用户  可运行的产品很迟才能被看见
  • 优点 强调开发的阶段性; 强调早期计划及需求调查;
  • 适用场景 需求固定的小项目 
  • 但是它是其他模型的基本框架

螺旋模型

  • 其基础还是瀑布模型,就是在瀑布模型每个阶段到下一个阶段添加了风险分析
  • 逻辑模型引入了全流程的风险分析,每次分析完之后都会生成一个新的原型
  • 适合那些规模庞大,复杂度高,风险大的场景 
  • 优点: 强调严格的全过程风险管理。 强调各开发阶段的质量。 提供机会检讨项目是否有价值继续下 去。
  • 缺点: 引入非常严格的风险识别、风险分析和风险控制,这对风险管理的技能水平提出了很高的要求。这需要人员、资金和时间的投入。
  • 风险分析能力与产品遗留风险成反比

增量和迭代模型

明确增量和迭代的区别

敏捷模型 

敏捷宣言

 scrum

  •  三角色,五个会议
  • 产品经理:收集用户的需求。编写需求文档,对产品负责的人
  • 项目经理:负责召开各种会议,协调项目,为研发团队服务
  • 研发团队:开发人员,测试人员,ui设计人员等

五个会议

 例子

测试模型 

软件测试v模型

​​​​​​​

  • 每个开发阶段对应测试阶段
  • 概要设计整体构建,框架
  • 详细设计设计模块与模块之间的详细设计
  • 集成测试和单元测试通常由开发人员来执行
  • 特点:明确标注了测试的类型 明确标注了测试阶段和开发阶段之间的对应关系
  • 缺点:测试任然是在开发之后才执行,测试后置

软件测试W模型

  • 测试从需求阶段就开始介入了
  • 缺点:1上一个阶段完成了下一个阶段才能完成 2开发模型和测试模型也保持着一种前后的线性关系
  • 优点:有利于尽早地全面的发现问题。例如,需求分析完成后,测试人员就应该参与到对需求的验证和确认活动中,以尽早地找出缺陷所在。同时,对需求的测试也有利于及时了解项目难度
    和测试风险,及早制定应对措施,显著减少总体测试时间,加快项目进度。
  • 重文档,重过程,不支持其敏捷模式 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

库里不会投三分

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值