软件测试中的测试分析(测试依据)是什么?
软件测试简介
软件测试是对软件产品或服务的质量进行检查以向利益相关者提供信息的活动。程序测试还可以为公司提供对软件的客观、无偏见的看法,从而使他们能够理解和认识到与软件实施相关的风险。测试是指执行程序或应用程序以查找故障并确保软件产品适合使用的过程。
软件测试是通过执行软件组件或系统组件来评估一个或多个感兴趣的质量的过程。通常,这些质量反映了被测组件或系统
它应该满足指导其设计和开发的标准
它应该对各种输入做出适当的响应
它应该在合理的时间内完成其功能
它应该适合使用,
它可以在其设计所在的位置安装和使用
它应该为所有利益相关者实现预期的结果
鉴于即使对于简单的软件组件,可能的测试数量也几乎无限,所有软件测试都采用某种方法来选择在可用时间和资源范围内可行的测试。因此,软件测试通常(但并非总是)涉及尝试运行程序或应用程序以检测由软件缺陷引起的错误。当一个问题得到纠正时,它可能会由于更深层次的缺陷而突出显示其他故障,甚至可能产生新的故障,因此测试是一个迭代过程。
软件测试可以为用户和发起者提供关于软件质量和故障风险的客观、无偏见的信息。
软件测试可以在可执行软件(即使只是部分完成的)可用时开始。何时以及如何进行测试通常取决于软件开发的总体策略。例如,在分阶段方法中,大部分测试发生在系统需求开发完毕并在可测试程序中实现之后。在敏捷方法中,需求、编程和测试经常同时进行。
测试分析
在软件测试中,测试分析是检查和分析测试工件以创建测试条件或测试用例的过程。测试分析的目标是收集需求并创建测试目标,以便可以建立测试条件。因此,它也称为测试依据。测试分析是评估测试依据(所有可以从中推导出组件或系统需求的文档)并定义测试目标的过程。它以测试条件的形式指定了要测试的内容,并且可以在每个测试级别的测试基础设置好后立即开始。
它可以与测试设计并行、集成或迭代地进行。测试分析评估和审查测试目标和产品风险,并定义精确的成功衡量标准和目标。
在确定细节级别时,请记住以下几点:
测试的程度;细节程度和测试基础的质量
系统/软件的复杂性和使用的开发生命周期
与项目和产品相关的风险
测试前提、应测试的内容以及应如何测试之间的关系。
使用了测试管理工具。
测试过程的成熟度,以及测试分析师的能力和知识
测试设计和其他测试工作交付物的规范程度。
利益相关者参与协商的意愿
我们从中获取测试信息的来源如下所述。
软件需求规格说明
软件需求规格说明书 (SRS 文档) 说明了如何构建软件系统。简而言之,SRS 为所有参与者提供了一个项目路线图。它提供了软件功能和非功能规范的高级描述,以及用例,这些用例展示了用户在系统完成后如何与系统交互。
SRS 文档中通常会看到以下元素:
正在开发的软件的目标是什么?
软件的总体概述
软件的功能,或者它的设计目的
软件在生产环境中的性能
非功能性规范
外部接口,或者软件将如何与硬件或其他软件通信。
软件设计施加的约束或其运行环境施加的约束
业务需求规格说明
它概述了软件的功能规范的高级概述。这是一个正式的文档,描述了客户的需求(书面,口头)。它通常由与客户互动并从客户的互动和需求中得出的业务分析师生成。
业务流程是对交易伙伴如何旨在履行其角色、建立业务关系和分担职责的详细描述,以便在各自的信息系统的帮助下有效地进行互动。
功能设计文档
功能设计规范 (FDS) 是一个解释流程或控制系统如何工作的文档。
功能设计规范中没有高度技术性的细节。相反,它解释了计划中的系统将如何工作,人们将如何与它互动,以及在各种运行情况下会发生什么。功能设计规范有很多用途。其中一个主要原因是,如果没有某种关于系统应该完成什么的书面共识,那么制作图纸或编写 PLC 代码将更加费时。
功能设计规范可以与相关团队成员、客户和利益相关者共享,以便在最终文档达成一致并签署之前获得反馈和审查。此审查和更改过程对于确保最终设计适合目的并满足利益相关者的需求至关重要。之后,该文档将提供给工程团队进行技术设计和编程,功能规范作为指导。
如果完成了功能设计规范,工程师将知道要设计什么,程序员将知道代码应该执行什么,利益相关者将知道将交付什么。
功能设计规范概述了在典型的工业软件工程生命周期中必须实现的内容。
案例研究
让我们来看一个案例研究,以便更好地理解测试分析。
考虑以下场景:客户向您发送以下内容:
应该向电子商务商店添加搜索功能。
即使应用程序尚未完成,也尝试为该需求提出一些测试用例。在此处暂停,完成您的作业,然后继续进行解决方案:
以下是您可能考虑的众多测试用例中的一些。
未输入任何术语时,查看搜索结果。
输入的关键字没有对应的产品时,查看搜索结果。
可以访问输入的关键字的多个对应产品时,检查搜索结果。
您检查测试依据(客户的要求),分析它,并将其转换为测试条件。
这就是 V 模型各个阶段发生的情况。在各个阶段,使用相关的文档准备测试计划/用例。