购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4.8 测试策划的实践者方法

测试策划是基于知识和经验的智慧活动,是一个复杂的系统工程过程。我们虽然构建了测试策略价值模型和测试体系架构,讨论了基于风险、能力、架构、对象、环境、流程、组织等的测试策略及测试思维,但却无法构建一套通用的测试策略制定准则。这里,本着过程模型驱动、范围覆盖完整、关注关键过程、突出特殊过程、强化风险控制的基本原则,总结了如下测试策划的实践方法,供读者参考。

(1) 强化总体策划 。以系统工程思想为指导,基于不同思维方式,对系统特征、系统行为及其约束条件等进行综合分析,以目标为驱动,以结果为导向,总体策划,确保测试工作规范组织、有序推进、风险受控及质量、效率、效益综合平衡;基于领域分析、测试经验及知识工程,定义领域范围、特定领域元素、特定领域设计,实现需求约束与领域模型关联,开发测试过程模型,确定测试目标,识别测试风险,制定测试准则;以测试级别全包含、测试类型全覆盖、测试要素全受控为原则,确定测试级别、测试类型、测试项、测试方法、测试环境、通过准则;结合有关试验验证同步开展软件测试,尽可能在真实环境下实施软件测试,减小环境差异影响,确保任务场景覆盖;充分考虑新研、新增、改进、优化及开源软件对软件系统的影响,控制影响及其错误的蔓延或扩散。

(2) 强化风险控制 。基于系统特征、系统行为及测试能力、测试环境等约束条件,确定质量风险及等级,构建基于风险的测试策略矩阵,规定测试优先级、测试次序、覆盖要求及需求跟踪方法,确保高风险要素优先覆盖;基于质量效率最优原则,对系统边界域设定、性能数据设定、输出数据实时干预、开源依赖等缺陷高发要素进行重点测试,确保高风险要素重点覆盖;对运行流程、操作使用、任务场景、环境依赖、系统效能等关乎系统能力的要素进行重点测试和评价;建立测量与反馈机制,实施全过程基于多源数据分析的测试决策,持续改进测试过程。

(3) 强化专业测试 。基于软件系统的总体需求,通过测试需求分析工具,如RBT对软件需求的逻辑关系进行图形化分析和检查,保证测试需求的完整性、正确性、有效性、一致性和可达性;基于测试需求,选择或开发适宜的测试技术,如基于功能分解、等价类划分、边界值分析等技术设计测试用例,使用测试用例优选与测试过程录制工具,结合测试用例优化算法推导出最小的测试用例集,实现最大的测试覆盖率;对于特殊测试对象或特定的测试需求,采用专业领域知识和技术,准确地识别测试需求,确保测试的完备性;采用专业的分析技术和工具,对软件缺陷及测试结果进行分析,如对于可靠性、安全性攸关软件,采用FTA或FMEA,确定软件问题的严重程度;采用可靠性评估方法,确定被测软件的缺陷密度、平均故障间隔时间等可靠性指标,为问题整改提供指导,为软件质量保证和过程能力提升提供指南。

(4) 强化系统测试 。在单元测试、集成测试、确认测试迭代的基础上,针对系统的主要功能、性能指标、外部接口、运行流程、使用场景、运行环境等系统需求,强化基于能力驱动的系统测试,确保系统的适合性、可达性、有效性等在真实环境中得到验证,尤其是外围设备接口、多处理器设备之间的接口不相容、系统时序匹配、性能容量、使用效能、系统强度、系统运行环境适配性及实时性与安全性等能够在确定的运行环境下得到全面验证。在系统测试过程中,应尽可能将系统运行流程转化为系统数据流和控制流,实现基于数据流与控制流的系统流程覆盖。

(5) 强化重用测试 。软件变更可能是源于发现错误修改,也可能是因为需求变更,如果错误跟踪与管理系统不够完善,可能造成纠错遗漏;对错误理解不透彻或存在偏差,可能导致纠错失败,且错误修改可能产生副作用或引入新的错误;新增代码不仅可能包含错误,还有可能对原有代码带来影响。当软件变更时,必须重新组织测试,以确定其变更是否达到预期目的,检查变更是否损害原有功能;软件继承和重用也是软件错误重用、新错误引入的过程,可能导致软件系统免疫力下降或丧失,忽视对继承和重用软件的测试,有悖于软件质量改进要求。

(6) 强化环境差异控制 。测试策划过程中,首先制定测试准入检查策略,对测试环境的充分性、有效性、适宜性进行检查确认,确保能够最大限度地使用真实的运行环境,使用陪试驱动软件构建外围测试环境,实现软件系统与外部设备数据通信;使用相应的通用接口测试工具、网络收发工具等与被测设备相结合构建完整的测试流程,仿真相应场景,完成相应功能输入、关键数据处理,能够通过接口对异常功能流程的测试进行人工干预,实现构建最小差异的测试环境。

(7) 强化质量分析 。根据软件系统的使命任务、功能、性能、操作使用等,从构件层、交互层、业务层、系统层构建质量评价指标体系与度量模型,在测试过程中,采集数据,进行质量度量,对被测系统进行分析评价,建立基于数据驱动的纠正预防措施及改进提升策略,持续改进测试过程,持续提升测试过程能力。

(8) 强化测试管理 。强化软件测试工程化管理,确保测试项目受控。管理层统筹策划保证进度;技术层提供保障服务,深层挖掘、攻克难点;质量层进行过程监督,及时纠正,确保测试过程质量。同时,测试方同开发方建立良好沟通互动机制,全面互动,深度融合,全面把握测试质量,共同推进测试项目管理及测试问题整改。 ZovaZ8Fm3txUqnydiNFHpF6Z9+WFjDfTngj2KuC251n5Re9MUpdeODx1V/4sc2Z0

点击中间区域
呼出菜单
上一章
目录
下一章
×

打开