测开入门(附常考面试题)(下)

简介: 测开入门(附常考面试题)(下)

四、软件工程中的几种常见的开发模型

🏀瀑布模型

829eb814b9f64019b24afcba60809cd3.png

需求分析——》计划——》设计——》编码——》测试——》运行维护

特点:

不太重视测试,软件开发完成前不会进行测试(更看重前面的需求分析、计划、设计)

线性结构、一个阶段完成后才会进行下一步、效率不高

项目中的问题不能尽早的发现,很可能会错失解决问题的最佳时机。

需要保留足够的时间给测试、测试后置(瀑布模型的缺陷)

测试时间不够——》测试不充分——》暴露风险给用户

一个周期把所有的功能给完成——》一个可以运行的产品很晚才会给用户呈现


使用场景:因为不能够很好的迎接变化,使用与需求固定的小型项目

后面的模型都是在瀑布模型上进行了优化


🏀螺旋模型


facfd694aeac461e92b30174bb259f90.png

螺旋模型:在瀑布模型的基础上进行 风险分析

在每个阶段都有风险分析这一步——》耗时耗力(成本好,团队需要风险分析方面的人才)


优点:

1、强调严格的全过程风险管理。

2、强调各开发阶段的质量。

3、提供机会检讨项目是否有价值继续下去。

缺点:

1、引入非常严格的风险识别、风险分析和风险控制,这对风险管理的技能水平提出了很高

的要求。这需要人员、资金和时间的投入。


使用场景:大项目

瀑布模型 和螺旋模型对变化的项目不太友好,不容易都项目进行及时更改


🏀增量模型和迭代模型

增量模型:

将项目进行模块化,使其每个模块都能进行独立的编码测试和上线

优势:产品能够加载较短时间内尽快的交付给用户去使用


迭代模型:

一期一期的进行迭代

假如一个产品包含五个功能A、B、C、D、E

增量模型要一个一个的开发这五个不同的模块,但迭代模型会先完成这5个功能的基础版本,会再经历一期一期的迭代优化(在迭代的过程还可接收用户的使用建议)使其功能越来越优秀。

🏀敏捷模型

敏捷模型——2001年,以Kent Beck、Alistair Cockbum、Ward Cunningham、Martin Fowler等人为首的“轻量”过程派聚集在犹他州的Snowbird,决定把“敏捷”(Agile)作为新的过程家族的名称。

在会议上,他们提出了《敏捷宣言》http://agilemanifesto.org/: 我们通过身体力行和帮助他人来揭示更好的软件开发方式。经由这项工怍,我们形成了如下价值观


1、个体与交互重于过程和工具

强调团队内部人员进可能的进行高效的沟通

2、可用的软件重于完备的文档

敏捷模型最终的标准就是:可交付的软件

3、客户协作重于合同谈判
4、响应变化重于遵循计划


(在每对对比中,后者并非全无价值,但我们更看重前者)

敏捷宣言的特点:轻流程、轻文档、重目标、重产出


敏捷开发有很多种方式,其中 scrum(敏捷开发) 是比较流行的一种


scrum中三个重要的角色

  • 产品经理(收集用户需求,转变软件需求:开发时就是依赖软件需求来开发的,对产品负责)
  • 项目经理(推进项目的推进,为研发团队服务)
  • 研发团队:不同技能的成员组成


 

敏捷模型是一版一版进行迭代的

每个迭代模型为1---4周



5eea2ecb2ad444e6b33bf0a8c264d714.png

每日会议结束后的产物:可交付的软件

演示会议的产物:用户新的需求——》放到需求池中,下一次产品迭代再实现。


五、软件工程中的测试模型

V模型

900760068cfd439ba0f3bf8995e51c65.png


特点:明确了测试有不同的类型,并且每个类型和前期的开发工作之间有相对应的关系。

缺点测试后置


a52f69610883459ab32fc4c55a778a35.png


W模型

05ab4999929c43bda32e1862efe9c599.png


W 模型,也称作双V模型。

看图说话:就是两个 V 模型 组成的。

特点:

开发一个V,软件测试一个V【双卡双待】

换个说法:软件开发 和 软件测试 是 同步进行的。

这样做,就解决了 V 模型的缺陷:W模型能够及时发现,并处理前期出现的问题。

缺点:

它仍然是 串行执行的过程,它是不支持 需求的变化。
也就是说:W模型是不支持敏捷开发的。

相关文章
|
4月前
|
存储 Java 编译器
|
4月前
|
缓存 Java 编译器
|
7月前
|
移动开发 缓存 JavaScript
30 道 Vue 面试题,内含详细讲解(涵盖入门到精通,自测 Vue 掌握程度
30 道 Vue 面试题,内含详细讲解(涵盖入门到精通,自测 Vue 掌握程度
136 6
|
7月前
|
机器学习/深度学习 数据采集 算法
2024年机器学习入门,2024年最新字节跳动视频面试一般多久会收到结果
2024年机器学习入门,2024年最新字节跳动视频面试一般多久会收到结果
2024年机器学习入门,2024年最新字节跳动视频面试一般多久会收到结果
|
7月前
|
JavaScript 前端开发 程序员
web前端入门到实战:32道常见的js面试题(1),面试哪些
web前端入门到实战:32道常见的js面试题(1),面试哪些
|
7月前
|
JSON JavaScript 前端开发
web前端入门到实战:32道常见的js面试题,2024年最新秋招是直接面试吗
web前端入门到实战:32道常见的js面试题,2024年最新秋招是直接面试吗
|
7月前
|
数据采集 算法 Python
2024年Python最全python基础入门:高阶函数,小米面试编程题
2024年Python最全python基础入门:高阶函数,小米面试编程题
|
7月前
|
算法 Java C++
刷题两个月,从入门到字节跳动offer丨GitHub标星16k+,美团Java面试题
刷题两个月,从入门到字节跳动offer丨GitHub标星16k+,美团Java面试题
|
7月前
|
JavaScript 前端开发 程序员
javascript基础(入门),当上项目经理才知道,推荐程序员面试秘籍
javascript基础(入门),当上项目经理才知道,推荐程序员面试秘籍
|
7月前
|
存储 缓存 算法
Java入门高频考查基础知识4(字节跳动面试题18题2.5万字参考答案)
最重要的是保持自信和冷静。提前准备,并对自己的知识和经验有自信,这样您就能在面试中展现出最佳的表现。祝您面试顺利!Java 是一种广泛使用的面向对象编程语言,在软件开发领域有着重要的地位。Java 提供了丰富的库和强大的特性,适用于多种应用场景,包括企业应用、移动应用、嵌入式系统等。下是几个面试技巧:复习核心概念、熟悉常见问题、编码实践、项目经验准备、注意优缺点、积极参与互动、准备好问题问对方和知其所以然等,多准备最好轻松能举一反三。
111 0
Java入门高频考查基础知识4(字节跳动面试题18题2.5万字参考答案)