V-model验证模型
V-model/V 和 V 模型/验证和验证模型
这个模型克服了瀑布模型的缺点。在这个模型中,测试从需求阶段本身开始。
在这个模型中,首先,所有的活动都沿着向下的方向,在某个时间点,它开始向向上的方向移动,以在测试过程中重新使用测试文档并形成V形状。因此它被称为 V 模型。
当我们选择这个模型时
我们选择 V 和 V 模型以下原因:
对于大型和复杂的应用程序,这里的大型意味着 n 个模块和复杂的指定模块之间的大量依赖项。
它也用于长期项目。
在深入了解这个模型之前,首先我们要了解需求:
需求
这是一个从客户;在这里,我们有两种不同类型的需求文档,如下所示:
CRS/BRS
SRS/FS
CRS/BRS
CRS 或 BRS 代表客户需求规范或业务需求规范。对于CRS,BA(业务分析师)会用简单的业务(英语)语言编写详细信息,开发人员和测试工程师无法理解。
让我们看看Gmail 应用程序的客户需求规范示例:
1. |
客户安全入口 |
2. |
可选创建邮件 |
3. |
可以看到邮件 |
4. |
删除不需要的内容 |
|
--- |
|
---- |
15. |
成功关闭应用程序。 |
SRS/FS
它代表软件需求规范或功能规范;在这里,所有的细节都被转换成详细的文档,开发人员和测试工程师都可以理解。
让我们看一个 Gmail 应用程序的软件需求规范示例:
1. |
登录(模块) |
1.1 |
用户名→ 文本框(功能说明) |
1.1.1 |
用户名→ 只接受 5 个字母 |
1.2 |
密码→ 文本框 |
1.2.1 |
密码→只接受8个字符,其中1个大写,1个特殊字符(@,$,%,&) |
1.3 |
确定→按钮 |
1.3.1 |
确定→ 启用 |
2. |
撰写 |
2.1 |
到→文本框 |
|
----- |
|
----- |
3. |
收件箱 |
3.1 |
---- |
|
---- |
4. |
退出 |
功能需求的特征
要求应该是详细信息,这意味着它包含关于模块、组件和功能规范的所有详细信息,并在适当的流程,这意味着它应该按照顺序。
需求应该用简单的语言编写,每个人都容易理解。
要求应该是可衡量的或可数的。
V 和 V 模型过程
整个 V 模型分两个阶段执行,完整的审查过程在
<强>
验证阶段,整个测试过程都在验证阶段下完成;这就是为什么它也被称为验证和验证模型。
强>
验证和验证过程包括不同阶段:
第一阶段
它将从收集 CRS(客户需求规范)文档开始,从测试工程师将检查以下场景的业务分析师客户:
审查 CRS 基于 不正确的要求 缺少要求 需求冲突
编写验收测试文档
注意: 在所有阶段,测试文档包括测试计划和测试用例。
一旦测试工程师团队审查CRS并发现任何错误或缺陷,他们会将其发送给开发团队以修复错误。修复bug后,开发团队更新CRS,同时开发SRS文档。
Stage 2
完成CRS后,发送SRS提交给测试团队进行审查,然后开发人员开始为应用程序创建 HLD(高级设计)。测试团队将在以下场景中测试 SRS:
对照 CRS 审查 SRS 每个 CRS 都转移到 SRS CRS 未正确转换为 SRS
编写系统测试文档
一旦测试团队审查了 SRS 的每个细节并且 CRS 已正确转换为 SRS,我们将进入下一阶段。
第 3 阶段
HLD完成后,开发者开始为应用创建LLD(Low-level design),同时测试人员会在HLD上进行以下测试:
查看 HLD
编写集成测试文档
第 4 阶段
一旦测试团队完成了 HLD 的审查,开发人员编写代码并开发应用程序,测试团队将完成以下任务:
查看 LLD
编写功能测试文档
Stage 5
在编码部分完成后,开发人员将进行一轮单元测试,也称为白盒测试,以及检查代码的每一行并确保代码正确。
执行单元测试后,将应用程序发送到测试团队,在那里他们执行多项测试,例如功能测试,集成测试、系统测试和验收测试。
一旦测试部分完成,应用程序将最终交付给客户。
注意:
如何处理V和V中的需求变化?
每当需求发生变化时,同样的过程继续进行,文档将被更新。
V和V模型的优缺点
让我们看看V和V模型的优缺点:
V-model/V 和 V 模型/验证和验证模型
这个模型克服了瀑布模型的缺点。在这个模型中,测试从需求阶段本身开始。
在这个模型中,首先,所有的活动都沿着向下的方向,在某个时间点,它开始向向上的方向移动,以在测试过程中重新使用测试文档并形成V形状。因此它被称为 V 模型。
当我们选择这个模型时
我们选择 V 和 V 模型以下原因:
对于大型和复杂的应用程序,这里的大型意味着 n 个模块和复杂的指定模块之间的大量依赖项。
它也用于长期项目。
在深入了解这个模型之前,首先我们要了解需求:
需求
这是一个从客户;在这里,我们有两种不同类型的需求文档,如下所示:
CRS/BRS
SRS/FS
CRS/BRS
CRS 或 BRS 代表客户需求规范或业务需求规范。对于CRS,BA(业务分析师)会用简单的业务(英语)语言编写详细信息,开发人员和测试工程师无法理解。
让我们看看Gmail 应用程序的客户需求规范示例:
优势 |
缺点 |
在这里,审查存在于每个阶段,这就是为什么我们可能会在应用程序中遇到更少的错误。 |
这是一个有点昂贵的过程,因为初始投资很高,因为从开始阶段本身就需要测试团队。 |
V 模型提供了 Parallel 可交付成果,这意味着两个团队可以像这里一样一起工作;开发和测试团队并行工作。 |
这是一个耗时的过程,因为如果发生需求变化,我们需要更改每个文本文档。 |
此模型有助于提供稳健或稳定的产品。 |
在这方面,由于测试用例和所有其他文档,我们需要做更多的文档工作。 |
在这个模型中,测试工程师对产品有更多的了解,因为测试涉及产品开发的每个阶段。 |
V 模型不适合面向对象的项目。 |
文本文档可以重复使用。 |
一旦应用程序处于测试阶段,我们就无法返回并替换功能。 |
1. |
客户安全入口 |
2. |
可选创建邮件 |
3. |
可以看到邮件 |
4. |
删除不需要的内容 |
|
--- |
|
---- |
15. |
成功关闭应用程序。 |
SRS/FS
它代表软件需求规范或功能规范;在这里,所有的细节都被转换成详细的文档,开发人员和测试工程师都可以理解。
让我们看一个 Gmail 应用程序的软件需求规范示例:
1. |
登录(模块) |
1.1 |
用户名→ 文本框(功能说明) |
1.1.1 |
用户名→ 只接受 5 个字母 |
1.2 |
密码→ 文本框 |
1.2.1 |
密码→只接受8个字符,其中1个大写,1个特殊字符(@,$,%,&) |
1.3 |
确定→按钮 |
1.3.1 |
确定→ 启用 |
2. |
撰写 |
2.1 |
到→文本框 |
|
----- |
|
----- |
3. |
收件箱 |
3.1 |
---- |
|
---- |
4. |
退出 |
功能需求的特征
要求应该是详细信息,这意味着它包含关于模块、组件和功能规范的所有详细信息,并在适当的流程,这意味着它应该按照顺序。
需求应该用简单的语言编写,每个人都容易理解。
要求应该是可衡量的或可数的。
V 和 V 模型过程
整个 V 模型分两个阶段执行,完整的审查过程在
<强>
验证阶段,整个测试过程都在验证阶段下完成;这就是为什么它也被称为验证和验证模型。
强>
验证和验证过程包括不同阶段:
第一阶段
它将从收集 CRS(客户需求规范)文档开始,从测试工程师将检查以下场景的业务分析师客户:
审查 CRS 基于 不正确的要求 缺少要求 需求冲突
编写验收测试文档
注意: 在所有阶段,测试文档包括测试计划和测试用例。
一旦测试工程师团队审查CRS并发现任何错误或缺陷,他们会将其发送给开发团队以修复错误。修复bug后,开发团队更新CRS,同时开发SRS文档。
Stage 2
完成CRS后,发送SRS提交给测试团队进行审查,然后开发人员开始为应用程序创建 HLD(高级设计)。测试团队将在以下场景中测试 SRS:
对照 CRS 审查 SRS 每个 CRS 都转移到 SRS CRS 未正确转换为 SRS
编写系统测试文档
一旦测试团队审查了 SRS 的每个细节并且 CRS 已正确转换为 SRS,我们将进入下一阶段。
第 3 阶段
HLD完成后,开发者开始为应用创建LLD(Low-level design),同时测试人员会在HLD上进行以下测试:
查看 HLD
编写集成测试文档
第 4 阶段
一旦测试团队完成了 HLD 的审查,开发人员编写代码并开发应用程序,测试团队将完成以下任务:
查看 LLD
编写功能测试文档
Stage 5
在编码部分完成后,开发人员将进行一轮单元测试,也称为白盒测试,以及检查代码的每一行并确保代码正确。
执行单元测试后,将应用程序发送到测试团队,在那里他们执行多项测试,例如功能测试,集成测试、系统测试和验收测试。
一旦测试部分完成,应用程序将最终交付给客户。
注意:
如何处理V和V中的需求变化?
每当需求发生变化时,同样的过程继续进行,文档将被更新。
V和V模型的优缺点
让我们看看V和V模型的优缺点:
优势 |
缺点 |
在这里,审查存在于每个阶段,这就是为什么我们可能会在应用程序中遇到更少的错误。 |
这是一个有点昂贵的过程,因为初始投资很高,因为从开始阶段本身就需要测试团队。 |
V 模型提供了 Parallel 可交付成果,这意味着两个团队可以像这里一样一起工作;开发和测试团队并行工作。 |
这是一个耗时的过程,因为如果发生需求变化,我们需要更改每个文本文档。 |
此模型有助于提供稳健或稳定的产品。 |
在这方面,由于测试用例和所有其他文档,我们需要做更多的文档工作。 |
在这个模型中,测试工程师对产品有更多的了解,因为测试涉及产品开发的每个阶段。 |
V 模型不适合面向对象的项目。 |
文本文档可以重复使用。 |
一旦应用程序处于测试阶段,我们就无法返回并替换功能。 |