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

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

对于大多数应用项目(非国防、载入飞船上天、净室工程等),我们都知道,测试不是为了证明所有的功能能正常工作,恰恰相反,测试就是为了找出那些不能正常工作、不一致性的问题,也就是说,测试的一般工作就是发现缺陷 (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. 良好的沟通,不仅和测试人员保持经常的沟通,还要求和项目组的其他人员保持有效的沟通,如每周例会,可以及时发现测试中问题或不正常的现象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值