`
love19820823
  • 浏览: 935749 次
文章分类
社区版块
存档分类
最新评论

ISTQB AL-TA/TTA连载系列02:问题驱动的软件测试设计

 
阅读更多

[概述]

测试人员在测试过程中经常会面临各种测试设计方面的问题和挑战。如何应用各种不同的测试设计技术和测试理念来有效解决这些问题和挑战,是每个测试人员必须考虑的。本文将简单介绍“问题驱动的软件测试设计”的方法,以及它是如何解决测试设计过程中的各种挑战的。

[正文]

测试人员在测试过程中每天都会面临各种测试设计方面的问题和挑战。如何应用各种不同的测试设计技术和测试理念来有效解决这些问题和挑战,是每个测试人员必须考虑的。本书结合作者丰富的软件测试设计理论知识及多年软件测试设计实践经验,并经过不断的提炼和总结,提出了“问题驱动的软件测试设计”的方法。该方法将不同的测试设计技术融合贯通,形成一套完整的测试设计思想,并将它们应用于具体的软件测试设计过程中,从而更好的解决前面提及的各种问题和挑战。问题驱动的软件测试设计的架构如图1所示。

图1 问题驱动的软件测试设计

问题驱动的软件测试设计,详细描述了这四类不同的软件测试设计思想,并通过具体的示例和案例分析,阐述了它们是如何有针对性的解决了测试人员在测试设计过程中面临的四类问题。问题驱动的软件测试设计,主要包括:

1)经典测试设计技术

尽早发现测试对象中的缺陷是软件测试的一个重要目的。尽早发现和修改缺陷,不仅可以降低成本,同时也可以防止将缺陷引入到开发的下个阶段,从而避免缺陷的雪崩效应。为了有效的开展软件测试活动,应该将软件测试贯穿于整个软件开发生命周期,而不仅仅作为代码编写之后的一个阶段。而静态测试是测试人员在早期介入时可以选择的一个重要技术。

除了静态测试,通过运行测试对象而进行的动态测试,也是测试过程中的重要测试活动。测试人员通过应用经典测试设计技术,可以更加科学的选择测试对象的输入以及输入组合进行测试用例的设计,不仅可以有效的减少测试用例的数目,避免测试用例的冗余,而且可以更好的实现对各种覆盖率的要求。

经典测试设计技术主要包括:

  1. 静态测试
  2. 基于结构的测试
  3. 基于规格说明的测试

2)基于质量特性的测试

软件质量是带有内在主观性质的,不同的利益相关者对同一个产品的质量理解和要求是不一样的。作为测试人员,为了更好的满足不同利益相关者对产品质量的不同要求,测试人员需要系统的了解软件或者软件产品应该具备的质量特性。

软件产品的质量不仅依赖于产品的基本功能特性,产品的实际表现行为,即非功能特性也是客户评价产品质量的重要因素。因此,测试人员在测试设计过程中,不仅要考虑功能测试用例,也需要考虑产品的非功能测试用例,从而更好的实现产品对不同质量特性的覆盖。测试人员可以根据软件产品应该具备的质量特性,更好的设计测试用例来验证和检查产品的质量是否满足质量要求。

基于质量特性的测试主要包括:

  1. 质量模型
  2. 功能测试
  3. 非功能测试

3)基于风险的测试

测试人员对软件或者软件产品进行测试的时间是有限的。另外,由于成本等方面的原因,测试人员能够获取的测试资源也是非常有限的。在有限的测试时间和测试资源的情况下,测试人员必须考虑如何确定测试的重点和测试优先级以有效的开展测试活动。

采用基于风险的测试策略,测试人员首先可以根据风险对测试范围进行优先级的划分,将测试设计和执行放在优先级高的区域,即选择测试重点;其次,可以将测试资源分配到高风险的地方,从而更加有效的利用测试资源;第三,可以帮助测试人员确定测试对象在哪些地方容易出现错误,并设计相应的测试用例来发现这些错误;第四,基于风险可以更好的对测试状态和测试结果进行报告,从而更好的对测试过程和测试质量进行监控,并根据实际的测试状态对后续测试进行及时调整。

基于风险的测试主要包括:

  1. 认识风险
  2. 基于风险的测试技术
  3. 基于风险的测试管理

4)基于经验的测试

软件或者软件产品的需求规格说明是进行测试用例设计和执行的基础。但是实际的测试过程中,测试人员面对的需求可能是不完善的、经常变更的,甚至是没有任何需求文档。这个时候,如何利用测试团队以前的经验,对于有效开展测试活动是至关重要的。

不管是测试人员自己的经验还是测试团队的经验,它们都是开展基于经验的测试的基础。测试的经验可以帮助选择针对测试对象的显现和隐现的需求;也可以帮助测试人员获取测试点,从而帮助测试用例的设计;假如测试人员对测试对象的功能和测试范围没有任何经验,通过探索性的测试活动,可以逐步了解测试对象,并不断调整测试的内容和方向。

基于经验的测试主要包括:

  1. 基于缺陷分类的测试
  2. 探索性测试
  3. 基于应用的测试

测试人员在测试过程中将会面临各种各样的测试设计相关的问题和挑战。问题驱动的软件测试设计,提供了四类不同的测试思想,它们可以有针对性的解决测试设计过程中面临的问题。问题驱动的软件测试设计中的四类测试设计思想并不是完全独立的,就像测试设计过程中各种问题会交织出现一样,测试人员也需要综合应用这些测试技术。

问题驱动的软件测试设计,综合了软件测试设计技术和作者多年软件测试设计实践经验,可以为读者提供系统的测试设计思路,从而不断提高测试人员的测试设计能力。

更多资料,欢迎访问:http://blog.csdn.net/Wenqiang_Zheng


分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics