软件测试(常见的开发模型和测试模型)

什么是软件测试

概念:软件测试是指验证软件功能是否满足用户需求;

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

 - 调试与测试的区别:
 ①目的不同:
 		 测试的任务是发现软件的缺陷;
 		 调试的任务是定位并解决程序中的问题;
 ②参与角色不同:
 		测试由开发、测试人员共同完成,测试人员负责黑盒测试;
 		调试由开发文员完成,开发人员还要完成白盒/集成测试;
③执行阶段不同:
		测试贯穿整个软件的声明周期;
		调试一般在开发阶段;
-相对开发来说,测试的测试广度较大,专业度较低;
-相对测试来说,开发的开发广度小,专业度高;
测试的要求也更加广泛,例如:
熟悉地掌握测试工具和手段、业务能力、用户模型分析理解、编程能力等 

什么是需求

概念:满足用户的期望或者规定的文档(合同,标准,规范)所需要的条件和权能,包含用户需求和软件需求;

什么是Bug

 - 当且仅当软件需求说明存在并且正确时,若程序和规格说明不符,
   即为bug;
 - 若软件需求说明不存在,当且仅当用户需求正确且合理,如果程序和
   用户需求不符合,即为bug;

测试用例

概念:测试用例就是向被测试系统发出的一系列的集合,包含测试数据,测试环境(软,硬),操作步骤,预期结果等;

这里拿一个网易邮箱登录的测试用例来做简单说明,书写测试用例!一定要注意操作步骤和预期结果的书写:
在这里插入图片描述

开发模型

瀑布模型

在这里插入图片描述瀑布模式是一种按顺序进行的软件开发模式;

优点:
①强调开发的阶段性;
②强调早期的计划以及需求分析;
③强调产品测试;


缺点:
①依赖早期的需求分析,不能适应需求变化;
②风险往往在后期阶段暴露,失去了早期纠正的机会;

适用项目:需求明确,风险较小;

螺旋模型

在这里插入图片描述
螺旋模型是一种渐进式开发模式;

优点:
①强调严格的全过程风险管理;
②强调严格的开发阶段质量;
③提供机会检讨项目是否有价值继续下去;


缺点:
引入严格的风险识别、风险分析和风险控制,对风险的管理控制提出了高要求,需要投入大量的人力、物力和财力;

适用项目:项目庞大,需求不明确,风险较大;

迭代模型

在这里插入图片描述适用项目:适合于事先不能完整定义产品的所有需求,计划多期开发的项目;

增量模型

在这里插入图片描述
优点:
开始时不用投入大量人力资源,可以事先推出核心产品以稳定用户,可以有计划的管理技术风险;


缺点:
需要开放式体系结构,可能会产生设计效果差、开发效率低的情况;

适用项目:需求经常发生改变的软件开发过程;

敏捷开发

概念:
敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法;

敏捷开发方式:Scrum(轻文档、轻流程、重目标、重产出)

【Scrum开发流程中的三大角色】

 - PO(Product Owner):客户代表,负责将用户需求转换为user story;
 - SM(Scrum Master):项目经理,负责管理整个敏捷流程;
 - ST(Scrum Team):研发团队,负责提交一个高质量可交付的软件;

【Scrum开发流程】

-发布计划会议(PO);
-迭代计划会议;
- 每日站会;
- 演示会议;
- 回顾会议;

测试模型

V模型

在这里插入图片描述
优点:
后期测试阶段和前期开发阶段可以一一对应,清楚地标注出每一册测试阶段的依据;


缺点:
不利于前期风险的及时发现;

W模型(双V模型)

在这里插入图片描述
优点:
测试介入早,有利于全面发现系统前期的风险;


缺点:
阶段性较强,强调一个阶段之后在进行下一个阶段,不可逆,无法用于敏捷开发;

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值