理解测试策略

理解测试策略

简单的说测试策略就是回答:“测什么,怎么测”这六个字。

测试策略文档描述组织的通用测试方法,包括用测试管理产品和项目风险、测试级别的划分和与测试相关的概要活动的方式。(同一个组织在不同情况下可能有不同的策略,例如不同的软件开发生命周期,不同的风险级别,或不同的规定要求。)测试策略及其描述的测试过程和测试活动应与测试方针一致。它为组织或一个或多个项目提供通用测试入口和出口准则。

理解测试策略_第1张图片

测试策略描述一般测试方法,通常包括:

  • 分析型策略,如基于风险的测试。在这种情况下,测试团队分析测试依据,以识别要覆盖的测试条件。例如,在基于需求的测试中,通过测试分析从需求中导出测试条件,再设计和实施测试来覆盖这些条件。然后执行测试,通常用每个测试覆盖的需求的优先级来决定测试运行的顺序。从需求状态方面汇报测试结果,如通过了测试的需求,测试了需求但未通过,还未完全测试需求,需求测试受阻,等等。
  • 基于模型的策略,如基于运行概况测试。在这种情况下,测试团队开发一个模型,该模型展现了系统存在的环境(基于实际或期望的情况),系统应该接受的输入和系统运行的条件,以及系统应如何运行。例如,在针对高速发展的移动设备应用程序的基于模型的性能测试中,基于当前的使用情况和项目随着时间推移的发展情况,可能会开发出展现往来的网络通信量、活跃和不活跃的用户以及造成的处理负载的模型。另外,也可能开发出当前生产环境的硬件、软件、数据容量、网络和基础设施的模型。还可能开发出理想的、预期的和最小的吞吐率、响应时间和资源分配的模型。
  • 系统化的策略,如基于质量特征的测试。在这种情况下,测试团队使用既定的一套测试条件,如测试规范(如ISO 9126)(ISO 9126 标准正在被ISO 25000 标准所取代),有关特定领域、应用或测试类型(如安全性测试)的一般化的逻辑测试条件的检查表或集合,每个迭代或每次发布期间使用这一套测试条件。例如,在对一个简单的,稳定的电子商务网站进行维护测试时,测试人员可能会用检查表来识别每一页的关键功能、属性和环节。测试人员会在每次修改该网站时都会覆盖检查表上的相关要素。
  • 符合过程或标准的策略。在这种情况下,测试团队遵循一系列由标准委员会或其它专家组制定的过程,这些过程使用文档描述了如何适当的识别和使用测试依据和测试基准,以及组建测试团队。例如,在遵循敏捷管理技术的项目中,每次迭代期间测试人员分析描述特定特性的用户故事,作为该迭代的计划过程的一部分,估算测试每个特性所需的工作量,识别每个用户故事的测试条件(通常称为“验收准则”),执行覆盖这些条件的测试。执行测试时,将每个用户故事的状态(未测试、测试失败或测试通过)汇报给Scrum Master
  • 应对型策略,如缺陷攻击测试。在这种情况下,测试团队在收到了软件后才开始设计和实施测试,对待测的实际系统作出反应。例如,在对基于菜单的个人电脑应用程序进行探索性测试时,可能会开发出一套与特性、菜单选择和屏幕对应的测试章程。每个测试人员都分到了一套测试章程,然后使用这些章程来组织探索性测试的会话。测试人员定期向测试经理汇报测试会话的结果,测试经理再根据发现的结果修改测试章程。
  • 咨询式策略,如用户导向的测试。在这种情况下,测试团队根据一个或多个关键干系人的输入决定要覆盖的测试条件。例如,在对基于网站的应用程序进行外包兼容测试时,公司可能会提供外包的测试服务供应商一份浏览器版本、反病毒软件、操作系统、连接类型和其它配置项的优先级清单,他们想要根据这份清单对照自己的应用软件进行评估。然后测试服务供应商就可以用诸如结对测试(针对高优先级项)的测试技术和等价类划分(针对低优先级项)来生成测试。
  • 面向回归测试策略,如广泛采用自动化来进行测试。在这种情况下,测试团队使用各种技术来管理回归风险,尤其是一个或多级别的功能和/或非功能回归测试自动化。例如,如果对一个基于网站的应用程序进行回归测试,测试人员可以使用基于GUI 的测试自动化工具来自动化该应用的一般和特殊用例。然后在每次修改该应用程序时执行这些测试。

不同的测试策略可以相互组合。所选的测试策略应符合组织的需要和方法,并可根据其特定的业务或项目进行修改。

测试策略可描述要执行的测试级别。在这种情况下,应给出制定每个测试级别的入口准则和出口准则的概要指导以及这些测试级别之间的关系(例如,不同的测试级别对应不同的测试覆盖目标)。

测试策略通常包括的内容

  • 测试级别
  • 不同测试级别之间的关系
  • 不同测试级别之间如何集成(集成方法)
  • 每一个测试级别的准入和准出规则
  • 测试技术和方法
  • 测试规约说明技术
  • 测试独立性(可根据不同的测试级别而有所变化)
  • 必需的和可选的应遵守的标准
  • 测试环境
  • 测试自动化级别
  • 回归测试方法
  • 测试工具
  • 软件工作产品和测试工作产品的可重用性
  • 确认测试(再测试)和回归测试
  • 测试控制和测试汇报
  • 测试度量和度量标准
  • 缺陷管理
  • 测试件的配置管理方法
  • 角色和职责

长期和短期的测试策略可能有必要区分开来。不同的测试策略适合不同的组织和项目。例如,对于安全关键的应用,应使用比其它应用更精确详细的测试策略。此外,测试策略还因开发模型不同而异。

你可能感兴趣的:(软件测试方法论)