软件测试学习(二)

目录

一、软件工程

软件危机和软件工程

软件危机

软件工程

二、生命周期

生命周期

生命周期模型

(1)瀑布模型

(2)快速原型

(3)增量模型

(4)迭代模型

(5)螺旋模型

(6)敏捷模型

一、软件工程

软件危机和软件工程

软件危机

是指落后的软件生产方式无法满足迅速增长的计算机需求,从而导致软件开发与维护过程中出现一系列严重问题的现象。

扩展:数据库发展的阶段:网状-层次-关系

软件工程

软件开发技术:软件开发方法学、软件工具和软件工程环境

软件项目管理:软件质量、项目估算、进度控制、人员组织、配置管理、项目计划

引起软件危机主要问题是质量问题

软件工程主要解决的就是软件质量问题

软件测试是软件质量管理体系中一个非常重要的手段

二、生命周期

定义:软件从产生到报废的周期

生命周期

需求分析---概要设计---详细设计---编码---测试---验收

生命周期模型

(1)瀑布模型

最早提出的软件开发的过程模型

计划《项目计划》---需求分析《SRS:需求规格说明书》---设计(概要设计,详细设计)---编码---测试---运行维护

存在的问题:

  • 强调时间顺序的严格执行,前阶段不完成,后阶段不开始

  • 将测试放在编码之后,没有体现出测试贯穿软件生命周期的原则,可以避免需求的问题一直延续到代码完成才暴露或者被发现。

  • 不适应用户需求变化

学习要求:会画出瀑布模型

优点:

  • 为项目提供了阶段划分的检查点

  • 当前一阶段完成后,只需要去关注后续阶段

缺点:

  • 各个阶段划分完全固定,阶段之间产生大量文档,极大增加工作量

  • 线性开发,用户等到整个过程的默契才能见到开发成果,从而增加开发风险

  • 瀑布模型不适应用户需求变化

(2)快速原型

应用领域越来越多

原型:就是一个模型,可以模拟操作、简单运行

典型应用和工具:Axure:制作原型

工作流程:

产品经理(制作原型)-客户查看(评价)-可--开发人员开发

(3)增量模型

把软件分割成独立的模块,分批次的完成和交付

缺点:打破原有的软件结构和框架,可能会带来一定的风险。

他一般会和迭代模型一起用

  • 软件增加新功能

  • 优化...功能

  • 修复了某些未知/已知bug

(4)迭代模型

迭代包括产生产品发布(稳定、可执行的产品版本)的全部开发活动和要使用该发布必需的所有其他元素,强调开发的深入

开发迭代是一次完整的经过所有工作流程的过程:需求分析、设计、实施和测试工作流程。

迭代过程具有以下优点:

降低在一个增量上的开支风险

降低了产品无法按照既定进度进入市场的风险

加快了整个开发工作的进度

迭代过程这种模式使适应需求的变化会更容易些

(5)螺旋模型

是一种演化软件开发过程模型,他兼顾了快速原型的迭代特征以及瀑布模型的系统化与严格监控

引入了其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减小损失

螺旋模型更适合大型的昂贵的系统级的软件应用

(6)敏捷模型

5个价值观:沟通、简单、反馈、勇气、谦逊

欢迎各位大佬指点!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

樱桃 小丸犊子

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

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

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

打赏作者

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

抵扣说明:

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

余额充值