设计验证和确认流程

设计验证

设计验证 是评估软件产品是否符合最终用户或利益相关者的确切要求的过程。设计验证的目的是在开发后测试软件产品,以确保其满足用户环境中的应用要求。

设计验证

验证旨在证明设计在满足用户需求方面的一致性和完整性。在此阶段,您将实际构建产品版本并根据用户要求进行验证。

下图代表设计验证过程。

验证过程

目的是用客观证据证明产品满足用户需求的文件。客观证据不过是输出的任何物理证明,例如图像、文本或音频文件,表明该过程已经完成。

此过程将通过客观证据持续检查产品是否符合预先定义的要求。此过程涉及测试活动、检查和分析等。

设计验证

设计验证 是一种通过检查和提供证据来确认所设计的软件产品的输出是否符合输入规范的方法。软件开发过程中的设计验证过程的目标是确保所设计的软件产品与所规定的相同。

设计输入是任何作为设计目的基础的物理和性能要求。设计输出是每个设计阶段的结果,也是整个设计工作的结束。最终设计输出是设备主记录的基础。

设计验证和确认之间的区别

人们总是对验证和确认存在误解。它们是在开发过程的每个阶段执行的不同活动。

设计验证 设计验证
设计验证用于实际设计输出应与满足产品规格的预期设计输出相同的地方。 设计验证用于定义最终设计是否符合用户需求的期望。
设计验证问:你设计的产品正确吗? 设计验证问:您设计了正确的产品吗?
设计验证包括单元和主要集成级测试。 设计验证包括二级或更高级别的集成和系统级测试。
设计验证的某些方面可以在设计验证期间完成,但设计验证不能代替设计验证。 设计验证遵循成功的设计验证。
设计验证可以在任何条件下对单个模块或完整的系统进行。 设计验证应根据用户要求在规定条件下进行。
设计验证可能使用静态技术。它包括系统检查、分析和形式验证(测试)活动。 设计验证包括经过审核、批准和签署的最终报告(测试执行结果)。这些文件将被保存以供将来参考。

设计验证过程

鉴别与准备:

  • 在规范的开发阶段,验证活动的识别是并行进行的。这使设计人员能够确保规范是可验证的。因此,测试工程师可以开始制定详细的测试计划和程序。规范中的任何更改都应进行通报。
  • 确定进行验证的最佳方法,定义测量方法、所需资源、工具和设施。
  • 在最终确定计划之前,设计团队将审查已完成的验证计划以确定问题。

规划:

  • 验证规划是核心团队和开发团队共同开展的活动。该活动贯穿整个项目生命周期。当设计输入发生任何变化时,该活动将更新。
  • 在此阶段,应在范围内记录被测软件或系统。
  • 在此阶段制定初步测试计划和测试计划细化。测试计划捕捉关键里程碑,降低项目风险。
  • 工具、测试环境、开发策略以及通过检查或分析确定需求。

发展:

  • 测试用例开发将与 SDLC 方法 由项目团队实施。在此阶段确定了各种测试方法。
  • 必须开发设计输入,包括明确且可验证的最简单的验证活动。
  • 按顺序进行类似概念的验证可以减少验证时间。甚至一个测试的输出也可以作为后续测试的输入。
  • 在测试用例和相应的设计输入之间建立可追溯性链接,以确保所有需求都经过测试,并且设计输出满足设计输入。

执行:

  • 开发阶段创建的测试程序按照测试计划执行,在验证活动中严格遵循。
  • 如果出现任何无效结果或任何程序需要修改,则记录更改并获得适当的批准非常重要。
  • 在此阶段,任何问题都会被识别并记录为缺陷。
  • 可处理性矩阵 旨在验证验证测试计划中确定的所有设计输入是否均已测试并确定通过率。

报告:

  • 此活动在验证执行的每个阶段结束时执行。
  • 设计验证报告给出了验证结果的详细摘要,包括配置管理、每种测试的测试结果以及验证活动期间发现的问题。
  • 在需求和相应的测试结果之间创建设计验证可追溯性报告,以验证所有需求都已测试并提供了适当的结果。
  • 任何不符合的情况都将被记录下来并得到适当处理。
  • Rev设计验证活动完成后将提出意见并分别获得批准。

设计验证过程

  • 一些设计可以通过与执行类似用途的类似设备进行比较来验证。这种方法特别适用于验证现有基础设施的配置更改,或要纳入新系统或应用程序的标准设计。
  • 可以使用演示和/或检查来验证产品的要求和其他功能。
  • 可以通过数学建模等方式对设计进行分析,从而重新创建所需的功能。
  • 对最终设计进行测试,以验证系统按照指定设计运行的能力。
  • 测试计划、执行和结果应作为设计记录的一部分进行记录和维护。因此,验证是所有验证活动结果的集合。
  • 当在最终设计验证中使用等效产品时,制造商必须记录其与初始生产的相似性以及是否存在任何差异。

例如:

  • 让我们举一个简单的产品的例子:防水手表。
  • 产品需求文件可能会规定“手表在游泳时必须防水”。
  • 设计规范可能会指出“即使用户长时间游泳,手表也应该能够正常工作。”
  • 测试结果应确认手表符合这些要求,否则将进行重新设计迭代,直到满足要求为止。

设计验证和确认的优势

  • 我们可以持续监控设计,从而能够在每个阶段满足用户定义的要求。
  • 验证设计将指出功能的工作方式与预期工作方式之间的差异。
  • 记录验证程序将有助于在未来任何阶段轻松了解功能是否可能发生任何变更或增强。
  • 开发时间将持续缩短,生产效率将不断提高,从而能够按预期交付产品。
  • 该过程包括需要采用的每种验证方法的范围和范围。
  • 可以使用代表最终用户要求的详细设计数据进行验证。
  • 必须记录结果和用户需求文档之间的任何差异。
  • 验证设计的变化导致重新验证活动。
  • 记录验证期间发生的每一项活动非常重要,这充分证明设计满足用户要求。