`
kong_bai
  • 浏览: 138635 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

测试执行中非常有效的策略

阅读更多

对于大型项目,软件测试的执行,除了需要很好的测试范围分析、测试计划制定和测试资源的分配与组织之外,还是有一个容易被大家忽视的策略问题。

对于大多数应用项目(非国防、载入飞船上天、净室工程等),我们都知道,测试不是为了证明所有的功能能正常工作,恰恰相反,测试就是为了找出那些不能正常工作、不一致性的问题,也就是说,测试的一般工作就是发现缺陷 (detect bug),当然这些缺陷包括需求分析、设计等的缺陷,不仅仅是程序中的运行。测试的启动和项目启动是同时发生的,测试的重要工作是在测试用例的设计,这是随后测试执行的基础。同时,我们应该承认,测试的主要工作是在测试的执行,当自动化测试工具在功能测试中发挥作用比较困难时,测试执行的工作量还是很大的。

如何更早地发现缺陷又不增加风险?测试的本质是什么,发现缺陷还是风险评估?如何引导大家向着一个目标——产品及时高质量发布努力?

1. 首先就要向测试人员灌输一个概念——“测试的一般工作就是发现缺陷 (detect bug)”,达成共识,这是很重要。这样,测试人员,就知道什么是自己真正的工作。这一点,不仅在测试执行时发挥作用,而且在设计测试用例时更能发挥作用。

2. 测试执行阶段可以划分为两个子阶段,前一个阶段的目的非常清楚,就是发现缺陷,督促大家就是找出缺陷。测试用例的执行,应该是帮助我们更快地发现缺陷,而不是成为“发现缺陷”的障碍——使发现缺陷的能力降低。从理论上说,如果缺陷都找出来了,质量也就有保证了。所以在这一阶段,要不顾风险,就是发现缺陷,这样不仅对开发团队也非常有利,能尽早地修正大部分缺陷;对测试有利,测试效率高,后面的回归测试也会稳定,信心更充分。

3. 在代码冻结或产品发布前的稍后的子阶段,目的是减少风险,增加测试的覆盖度,这时测试的效率会低一些,以损失部分测试效率以极大降低风险、获得更高质量的收益。

4. 在前一阶段,测试用例的执行速度要低一些,测试人员多思考,多做些ad-hoc 测试,这样又帮助提高测试用例的质量,从而对随后的回归测试提供了更有力的保障。

 5. 测试执行要进行有效监控,包括测试执行效率(缺陷数/KTC, KTC = 1000 test cases)、Bug历史情况和发展趋势等。根据获得的数据,必要时对测试范围、测试重点等进行调整,包括对测试人员的调整、互换模块等手段,提高测试覆盖度,降低风险

6. 测试总是是有风险的,正是始终存在的风险,使之测试更具有艺术性。

 

 

虽然我们都认为,有效的测试计划是指导测试用例设计、测试执行的指导性文件,是成功测试的前提和必要条件,测试用例设计是测试工作的核心,测试用例的成功设计已经完成了一半的测试任务,但是测试的执行是基础,是测试计划和测试用例实现的基础,严格的测试执行使测试工作不会半途而废。而且,测试执行的管理相对复杂些,在整个测试执行阶段中,我们需要面对一系列问题,如:
如何确保测试环境满足测试用例所描述的要求?

- 如何保证每个测试人员清楚自己的测试任务和要达到的目标?

- 如何保证每个测试用例得到百分之百的执行?

- 如何保证所报告的软件缺陷正确、描述清楚、没有漏掉信息?

- 如何在验证Bug或新功能与回归测试之间寻找平衡?

- 如何跟踪Bug处理的进度使严重的Bug及时得到解决?

要实现上述目标,得到一个真实、符合要求的执行过程,需要很好地全程跟踪测试过程、过程度量和评审、借助有效的测试管理系统等来实现。主要的方法和措施有:

1. 执行前,动员会是必要的,如同打战,要鼓舞士气,更重要阐述策略,回答大家的问题,使测试计划、测试范围和所有测试项目的定义都十分清楚。

2.   严格审查测试环境,包括硬件型号、网络拓扑结构、网络协议、防火墙或代理服务器的设置、服务器的设置、应用系统的版本,包括被测系统以前发布的各种版本和不定包、以及相关的或依赖性的产品。

3.  将要执行的所有测试用例进行分类,基于测试策略和历史数据的统计分析,包括测试策略和缺陷的关联关系,构造有效的测试套件(Test Suite),然后在此基础上建立要执行的测试任务,这样任务的分解有助于进度和质量的有效控制,减少风险。

4.  所有测试用例、测试套件、测试任务和测试执行结果,都通过测试管理系统进行管理,使之测试执行的操作、过程记录在案,具有良好的可跟踪性、控制性和追溯性,容易控制好测试进度和质量。

5. 要确保每一个测试人员理解测试策略、测试目标,对测试进程进行审查(Audit),确保测试策略得到执行,可以通过一些奖励手段进行引导。测试经理、组长要用于承担风险,使之测试人员有发挥、想象的空间,但同时也要给予适当的压力,提高工作效率和责任心。

6. 缺陷的跟踪和管理一般由数据库系统来执行,容易对缺陷进行跟踪、统计分析和趋势预测,并设定一些有效的规则和流程来配合测试执行,如通过系统自动发出邮件给相应的开发人员和测试人员,使得任何缺陷都不会错过,并能得到及时处理。而且事先建立基于缺陷跟踪系统的缺陷报表、缺陷趋势曲线,对各模块、各测试人员、整体项目等进行实时跟踪。

7. 进行常规的缺陷审查,如Daily Bg review, bug scrub meeting,包括Bug的严重性、Bug的描述、Bug修正的反应速度等,及时发现问题、纠正问题,使整个测试进程在控制轨道上发展。

8. 对每个阶段的测试结果进行分析,保证阶段性的测试任务得到完整的执行并达到预定的目标。

9. 良好的沟通,不仅和测试人员保持经常的沟通,还要求和项目组的其他人员保持有效的沟通,如每周例会,可以及时发现测试中问题或不正常的现象。

分享到:
评论

相关推荐

    软件测试用例执行中有效的策略

    软件测试用例执行中有效的策略软件测试对于大型项目,软件测试的执行,除了需要很好的测试范围分析、测试计划制定和测试资源的分配与组织之外,还是有一个容易被大家忽视的策略问题。如何更早地发现缺陷又不增加风险...

    软件测试策略模板.docx

    软件测试策略是软件开发过程中的重要组成部分,它定义了如何有效地进行测试,以确保产品的质量、性能和稳定性。以下是对“软件测试策略模板.docx”文档的详细解读: 1. **概述** 软件测试策略的概述部分通常会简要...

    Android Monkey测试执行策略及标准

    本文将深入探讨“Android Monkey测试执行策略及标准”,并结合提供的资源进行详细解析。 首先,Monkey测试源自Android SDK,它通过模拟用户随机的触摸事件、按键输入、系统事件等来对应用进行压力测试,旨在发现...

    测试流程和测试策略方法说明

    - **定义测试标准**:设立测试执行中需遵循的规则,包括测试入口标准、测试出口标准、测试暂停和继续标准等。 - **定义测试环境**:确定测试所需的硬件、操作系统、浏览器等具体配置。 - **定义测试管理**:制定...

    测试准备和测试执行流程图

    测试准备和测试执行是软件开发过程中的关键环节,它们确保产品的质量与稳定性。在这个过程中,测试人员需要系统地规划、设计、实施以及监控测试活动,以发现并修复潜在的缺陷。下面将详细阐述这两个阶段涉及的知识点...

    软件测试策略.ppt

    自动化测试脚本的设计和维护也是测试策略中的关键任务。 综上所述,软件测试不仅是一种技术,更是一种艺术。它要求测试人员不仅要具备深厚的理论知识和实践经验,还要有精确的判断力和灵活应用策略的能力。优秀的...

    测试策略编写方法

    因此,在测试策略中详细说明测试环境是非常必要的。 - **具体内容**: - 操作系统:例如Windows XP SP2、Windows 10等。 - 补丁与安全更新:确保测试环境与实际部署环境尽可能一致。 - **示例**:如果一款Web应用...

    软件性能测试评估模型、测试策略

    测试执行** - **基准测试**:在没有额外负载的情况下,测试系统的性能表现。 - **压力测试**:逐步增加负载,观察系统性能的变化。 - **稳定性测试**:在长时间的高负载下测试系统的稳定性。 - **性能调优**:根据...

    软件测试策略与过程

    下面将详细讨论“软件测试策略与过程”中的各个知识点。 首先,我们来理解软件测试策略的定义。测试策略是根据项目需求和风险评估制定的总体计划,它指导整个测试活动的方向。策略应包括测试范围、资源分配、时间表...

    测试策略分类

    测试策略分类是软件测试中的一种方法,它将测试策略分为静态测试、动态测试、黑盒测试、白盒测试、手工测试、自动测试、冒烟测试等多种类型。这些测试策略的选择取决于软件测试的目标、资源和时间限制。 一、静态...

    常用测试技术及测试策略

    本阶段的关键产出有《测试执行报告》和《缺陷跟踪表》等。 - **评估测试阶段**:在测试完成后,需要对测试结果进行评估,确认软件产品是否满足既定的质量标准和业务需求。这一阶段通常涉及对测试覆盖率、缺陷统计、...

    启发式测试策略模型

    启发式测试策略模型(Heuristic Test Strategy Model,简称HTSM)是一种重要的测试方法论,旨在帮助测试工程师提高测试覆盖度并有效避免遗漏,从而确保产品质量。HTSM由测试大师James Bach提出,通过一系列模式的...

    软件测试的有效方法(第3版)

    - 测试策略是否考虑到了软件测试可能扮演的不同角色,并确定哪些角色将被纳入组织的测试策略中? - 例如,除了传统的功能测试外,还应考虑性能测试、安全性测试等多种类型的测试。 #### 管理层支持 **1. 必要资源...

    基于代数规约的Web服务自动测试执行引擎.pdf

    这些关键词揭示了论文的核心研究内容,即利用代数规约的理论来构建测试执行引擎,处理不同类型的Web服务接口,同时优化测试序列的执行策略,以适应并发测试的需求。 总的来说,这篇论文为Web服务自动化测试提供了一...

    产品开发SDV测试策略模板

    综上所述,SDV测试策略模板是一个系统化、全面的框架,它涵盖了从需求分析到测试执行的全过程,旨在保证软件产品的高质量和用户满意度。通过严格遵循这一策略,可以有效地预防和解决开发过程中的问题,确保产品的...

    一个项目中的测试策略,指导项目测试

    测试策略是指在软件开发项目中,为了确保软件质量,所采取的一系列测试活动。测试策略的目的是为了确保软件满足业务需求,达到预期的质量目标。测试策略通常包括测试对象、测试类型、测试方法、测试阶段、测试工具等...

    接口测试计划.docx

    在"接口测试计划.docx"文件中,我们看到一个全面的测试策略,涵盖了测试过程的多个方面,包括测试的前期准备、测试范围、测试策略、测试进度、测试资源以及测试风险管理。 1. **测试计划的编写**: 测试计划首先...

Global site tag (gtag.js) - Google Analytics