软件开发的各个生命周期
1.软件开发模型
1> 瀑布模型
(1)瀑布模型的特点
1)是线性模型的一种,每一个阶段只执行一次。 2)文档驱动。
(2)瀑布模型的优缺点
优点: 1)开发的各个阶段比较清晰,当前阶段完成后,只需关注后续阶段。
缺点:1)不响应需求的变化。 2)风险往往延至后期才显露,失去及早纠正的机会。
2> 快速原型模型(在开发真实系统之前,构造一个原型,在该原型的基础上,逐渐完成整个系统的开发工作 )
(1)快速原型模型的特点
1)快速的构建软件的原型
2)支持用户参与优缺点: 优点: 克服瀑布模型的缺点,减少由于软件需求不明确带来的项目开发风险。 缺点: 不适合大型系统的开发(适合开发小型的、灵活性高的系统)。
3> 螺旋模型
(1)螺旋模型特点: 引进了风险分析活动
(2)螺旋模型的优缺点:
优点: 螺旋模型很大程度上是一种风险驱动的方法体系。
缺点: 采用螺旋模型需要具有相当丰富的风险评估经验和专门知识。(对开发人员素质要求较高,开发成本高)
2.测试模型
1> V模型
(1)V模型是最具有代表意义的测试模型,最早是由Paul Rook在20世纪80年代后期提出,由英国国家计算机中心文献中发布,旨在改进软件开发的效率和效果;V模型本身是软件开发中瀑布模型的变种,它反映了测试活动与分析和设计的关系。V模型标明了测试过程中本身存在的不同阶段,从左到右,描述了开发过程和测试过程间的阶段对应关系。
(2)V模型的优缺点
优点: 测试V模型即包含了底层测试又包含了高层测试;
缺点: 当需求变更时将会导致返工量非常大,模型灵活性比较低。
2> 双V模型
(1) W模型介绍:测试伴随着整个软件开发周期,并且测试的对象不仅仅是程序,需求和设计同样要测试。
(2) W模型的优缺点:
优点: 1).强调测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序,还包括需求和设计。 2).更早地介入测试,能尽早得发现缺陷进行修复。
缺点: 对于测试技术要求高,实践起来困难。
3.质量模型
软件质量,就是软件与明确地和隐含地定义的需求相一致的程度。 ISO 9126软件质量模型是评价软件质量的国际标准,这个模型是软件质量标准的核心,对于大部分的软件, 都可以考虑从这这6个特性和27个子特性去测试、评价一个软件。
4.测试用例
1> 测试用例概念(测试用例是测试过程中很重要的一类文档,它是测试工作的核心,是一组在测试时输入和输出的标准,是软件需求的具体对照)
2> 测试用例方法
1)黑盒测试法(等价类划分法,边界值分析法,因果图法,判定表法,错误推测法)
>>>等价类划分法:是一种重要的常用的黑盒测试方法,不需要考虑程序的内部结构,只需要考虑程序的输出规格即可;他将不能穷举的测试过程合理分类,从而保证设计出来的测试用例具有完整性和代表性。
分类:有效等价类(指符合需求规格说明书,输出合理的,有效的数据集合)和无效等价类(指不符合需求规格说明书,输出不合理的,无效的数据集合)
>>>边界值分析法:选取等于,临界与该值左右两侧的数据作为测试数据,其基本思想是在最小值,略低高于最小值,正常值,略低于最大值,最大值等处取值。
>>>判定表法:将判定表的每一列作为依据,设计测试用例。检查输入条件的各种组合情况
>>>错误推测法:进行错误的操作,验证程序是否对出错的场景和情况有些应对能力,来选择测试用例数据
2)白盒测试法(1.静态测试法,2.动态测试法(语句覆盖法,判定覆盖,条件覆盖,判定/条件覆盖,组合覆盖,路径覆盖))
3>测试用例的内容
主要内容:1)用例编号,2)所属模块,3)用例标题,4)优先级,5)前置条件,6)操作步骤,7)测试数据,8)预期结果,9)实际结果
辅助内容:1)通过否,2)bugID,3)编写人员,4)编写时间,5)测试人员,6)测试时间,7)备注
4> 测试用例评审(用例评审主要是产品、开发和测试人员针对测试用例能否用于项目的测试而做的工作。评审包括同行评审,小组评审,部门评审和第三方评审)
5> 测试评审的意义(通过评审发现用例的不足;方便测试人员改进用例;达到在测试时提高测试质量的目的)
6>测试用例实例
5.缺陷
1> 什么是缺陷
缺陷通常是指bug,他是指在软件中存在影响软件正常的运行的问题
2> 缺陷产生的原因
1)需求的不明确和变更,2)软件的复杂结构,3)编码问题,4)项目期限短 ,5)使用新技术
3> 缺陷分类
1)界面类,2)功能类,3)性能类,4)安全类,5)兼容类
4> 缺陷报告(描述软件缺陷现象和重现步骤的集合)
5> 缺陷报告的核心要素
1)缺陷编号,2)缺陷状态,3)缺陷标题,4)重现步骤(复现步骤),5)严重程度,6)优先级,7)缺陷类型,8)测试环境
6> 缺陷管理
1)提交缺陷的注意事项(可复现:缺陷可以复现;唯一性:一个缺陷只报告一个问题;规范性:缺陷报告编写要规范,符合公司要求或规范(准确:描述的信息要准确无误;具体:有细节,避免模糊不清的词语,如功能中断,功能不正确,功能不起作用等等;简洁易懂:描述简单不要产生歧义;次序清晰:描述信息有条件,有先后顺序))
7> 缺陷的跟踪流程
软件开发的各个生命周期相关推荐
- 软件开发流程和生命周期管理
以终为始,方得始终. 我们开发软件最终的目的是交付出完整的软件项目或可靠的软件服务.但是我们在开始软件开发之前,拿到的需求大多数情况下是模糊的,不准确的.假设在我们的组织架构中没有一名专业的产品相关人 ...
- 理清逻辑,确保云原生时代应用开发的全生命周期安全
摘要:正所谓"道高一尺魔高一丈",不断的攻防对抗中,安全设计者也面临很大的挑战.华为云MVP毛哲文是一个偏向于安全防守的安全工程师,他认为,"攻防之间要做到平衡,知己知彼 ...
- Servelet开发步骤和生命周期
Servelet开发步骤和生命周期 (1) 程序员开发程序,实现servelet的init和destroy接口 .重写servlet的 doGet.doPost.doPut.doDelete四个 ...
- android生命周期_Android开发 View的生命周期结合代码详解
咱们以TextView控件为例: /** * Created by SunshineBoy on 2020/9/23. */ public class TestTextView extends and ...
- 后端开发工程师的生命周期,生命在于学习
后端开发工程师的生命周期 1 职业发展方向: 标准:需要不断学习.主动思考.不断锻炼.多提问 技术专家:三年.五年.八年的时间节点 2 后端学习成长路线 2.1 后端技术图谱 2.2 Go语言技术图谱 ...
- 软件的开发模式和生命周期模型
一.开发模式 1.线性模型:最常见的"瀑布模型",基础框架,但缺点在于"集成之日就是爆炸之日".(立项分析- 需求分析-设计-编码-测试-维护)很多企业 ...
- 笔记-信息系统开发基础-信息系统生命周期
1. 生命周期阶的五阶段划分 为了有效地进行系统的开发和管理,根据系统生命周期的概念,一般可以将信息系统的开发分成5个阶段,即总体规划阶段.系统分析阶段.系统设计阶段.系统实施阶段.系统运行和评价阶段 ...
- 软件测试之BUG的生命周期
作为一名测试人员,重要的工作内容之一,就是找BUG,提交BUG,验证BUG,推进BUG的解决,直至软件达到发布的标准,提高软件的质量,及研发的工作效率和质量. 要找BUG,那么,就要先了解一下BUG的 ...
- 软件生命周期各个阶段漫谈(软件危机应对,生命周期过程详述)
软件生命周期漫谈 自1946年第一台计算机发明以来,对人类的生产活动和社会活动产生了极其重要的影响,并以强大的生命力飞速发展.计算机硬件.软件.操作系统等纷纷应运而生,并发展壮大,时至今日,计算机已经 ...
最新文章
- Android提供的LruCache类简介
- golang(5):编写WebSocket服务,client和html5调用
- 数据结构与算法之希尔排序
- PyPyODBC 0.9.2发布 - 纯Python实现的pyodbc替代库
- 类加载是为了执行静态方法
- spring Mvc 执行原理 及 xml注解配置说明 (六)
- 今天微信没有520红包 大家可以放心了!
- c语言如何将字母向下移一格,c语言 如何将一个字符串的前n个字母后移至尾,其他的按顺序前移?...
- shell sort result to self
- 初学UML之-------用例图
- 【福利派送】高质量AI书籍又免费派送啦
- ToolTip特效 JavaScript 盗取厦门人才网的特效
- 程序员:我终于知道post和get的区别
- 登录邮恰显示服务器登录失败,邮洽邮箱收不到邮件是什么原因?
- coms 传输门棍棒图_棍棒和石头可能会伤到我的骨头,但反馈绝对不会伤害我
- Jenkins集成动态salve报错 连接测试报错:
- uniapp 安卓证书生成
- Linux删除文件实现回收站功能【转】
- Python中的break语句
- 互联网公司招聘--奇虎360--技术类--2014年笔试题
热门文章
- 练习4-7 求e的近似值 (15分)
- cesium将默认底图设置为不显示
- 从王庆根自杀到欧建新自杀之我见
- 2016级算法期末上机-I.难题·ModricWang's Fight with DDLs III
- rstudio协整检验代码
- 计算机设备行业特征,2018年我国计算机、通信和其他电子设备制造业现状分析 产业园区聚集特征明显...
- Android Work Profile
- 日语五十音图快速记忆法
- 解决 HttpServletRequest 流数据不可重复读
- 编程语言编年史:作为程序员的你怎能不知?