制订和实施测试策略

制定和实施一项软件测试的策略包含四项内容:

  • 确定测试由谁来执行
    软件产品开发中有通常有开发者和测试者两种角色。开发者通过开发形成产品,如分析、设计、编码调试或文档等可交付物,测试者通过测试检测产品中是否存在缺陷,包括根据特定目的而设计的测试用例、测试过程构造、执行测试和评价测试结果。通常的做法是开发者负责完成组件级别的测试,而集成级别和系统级别的测试则由独立的测试人员或专门测试机构完成。但也可有其他策略,如在组件级别的测试,专门测试人员加入。
  • 确定测试的对象
    测试经验表明,通常表现在程序中的故障,不一定由编码所起。它可能是由软件详细设计、概要设计阶段,甚至需求分析阶段的问题所致。要排除故障、修正错误必须追溯到前期工作,事实上,软件需求分析、设计和实施阶段是软件故障的主要来源
  • 确定何时进行测试
    测试是与开发并行的过程,还是在开发完成某阶段任务之后的活动,或是在整个开发结束后的活动。软件开发经验和事实证明,随着开发过程深入,越是早期没有进行测试的模块对整个软件潜在隐忠及破坏作用就越明显。
  • 确定怎样进行测试
    软件的“规格说明”界定了软件本身应达到的目标,而程序的“实现”则是对应各种输入,并如何产生输出的一种算法,规格说明界定软件要做什么,而程序实现表达了软件怎样做。确定怎样进行测试,也就是要根据软件“规格说明”和程序实现的对应关系,确定采用何种测试策略与技术方法,设计并生成有效测试用例,对其进行检验。
    确定怎样进行测试还包括采用哪些技术方法或手段,如手工测试、自动化测试或混合模式的测试,测试环境构建等等。
  • 明确测试类型
    一个软件的特性或特征主要表现为软件的功能性和非功能性两方面,功能性方面主要包含了适应性、准确性、互操作性、安全性以及遵从性5类,而非功能性则包含了可靠性、可用性、有效性、可维护性及可移植性5类,每个类又包含若干个子属性.因此,在进行测试设计时需要明确测试类型,并可进一步细分为功能性测试、非功能性测试、恢复性测试与确认性测试。
    (1)功能性测试
    功能测试是验证软件系统输入/输出行为的各种功能,其基础是明确功能的需求和系统行为,定义了其基于功能需求验证,检验其实现的功能,同时检验其功能的正确性和完整性,因此,就需要采用一系列的测试用例来进行验证。其中,每个测试用例要覆盖功能特定的输入/输出行为的检测。
    功能测试通常采用黑盒测试技术来设计测试用例。功能测试是所有软件测试活动中最基本与最重要的测试任务,几乎所有的软件都必须要进行功能测试。功能测试除了输入域定义所期望的输出之外,也常需要进行健壮性测试,即针对无效输入数据的处理情况,检查程序对异常数据的处理能力,是否存在着缺陷,并会导致程序运行的瘫痪,如死机或溢出等。健壮性测试通常也称为功能测试的负面测试(negative test) 。
    (2)非功能性测试
    非功能描述功能行为的属性,或称为系统属性。非功能测试包括:性能测试、负载测试、安全性测试、可靠性(或稳定性)测试、兼容性测试、可维护性测试以及文档测试等。
    (3)恢复测试
    这项测试主要检查软件系统的容错能力。当软件出错时,能否在指定时间内修正错误并重启系统。恢复测试首先采用各种办法强迫系统失败,然后验证系统能否尽快恢复。对于自动恢复需验证重新初始化、检查点、数据恢复和重新启动等机制的正确性。对人工干预的恢复系统,还需估测平均修复的时间确定是否在可接受范围。
    (4)确认测试
    (5)验收测试
    通常是指软件测试生命周期的一个阶段,是一项确定产品是否能够满足合同或用户所规定需求的测试。由相关用户或独立测试人员根据测试计划和产品
    (系统)进行测试和接收
    。验收测试由用户决定是否接收系统。
    验收测试一般有三种方法:正式验收;非正式验收;Alpha 测试、Beta 测
    试。
    (6) 回归测试
    回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错
    误或导致其他代码产生错误。回归测试策略分完全重复测试和选择性重复测试两种,完全重复测试的意义很明确,实际工作中采用选择性重复测试较多。
    选择性重复包括下面几种方式:
  • 覆盖修改法
    它是针对被修改的部分,选取或重新构造测试用例验证没有错误再次发生的一种用例选择方法。
  • 周边影响法
    这种方法不但要包含覆盖修改法确定的测试用例,还要分析其修改后可能产生的扩散影响,对那些受到修改间接影响的部分选择测试用例验证其没有受到不良影响。该方法依赖于测试者的经验,测试程度要比覆盖修改的方法更加充分一些。
  • 指标达成法
    类似于单元测试的方法,在重新执行测试之前,先确定一个要达到的指标,如修改部分100%的覆盖\与修改由关接口60%的覆盖等.基于这种要求,选择一个最小的测试用例集合。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值