软件测试技术软件测试技术 软件测试策略1.策略?软件测试策略?2.软件测试策略的重要性3、软件测试策略的目的4、软件测试策略的影响因素5、软件测试策略的制定过程6.测试策略有哪些6.1 分析的测试策略6.2 基于模型的测试策略6.3 系统的测试策略6.4 面向过程的测试策略6.5 动态测试策略6.6 哲学的测试策略6.7 回归测试策略7.测试策略文档范例第 4 章1软件测试技术软件测试技术1.策略?软件测试策略?1策略:在一定的政治路线指导下,根据具体条件而规定的斗争原那么、方式和方法2软件测试策略:在一定的软件测试标准、测试标准的指导下,依据测试工程的特定环境约束而规定的软件测试的原那么、方式、方法的集合2软件测试技术软件测试技术2.软件测试策略的重要性1任何一个完全测试或穷举测试的工作量都是巨大的,在实践上是行不通的,因此任何实际测试都不能保证被测程序中不遗漏错误或缺陷;2为了最大程度较少这种遗漏,同时最大限度发现可能存在的错误,在实施测试前必须确定适宜的测试方法和测试策略,并以此为依据制定详细的测试案例3软件测试技术软件测试技术3、软件测试策略的目的p是不是所有软件测试都要运用现有软件测试方法去测试呢?答案是否认的。
依据软件本身性质、规模和应用场合的不同,我们将选择不同测试方案,以最少的软硬件、人力资源投入得到最正确的测试效果,这就是测试策略的目标所在4软件测试技术软件测试技术4、软件测试策略的影响因素软件测试策略随着软件生命周期的变化、软件测试方法、技术与工具的不同发生的变化这就要求我们在制定测试策略时候,应该综合考虑测试策略的影响因素及其依赖关系这些影响因素可能包括:测试工程资源因素、工程的约束和测试工程的特殊需要等5软件测试技术软件测试技术5、软件测试策略的制定过程1输入需要的软硬件资源的详细说明;针对测试和进度约束而需要的人力资源的角色和职责;测试方法、测试标准和完成标准;目标系统的功能性和技术性需求;系统局限即系统不能够提供的需求等等2输出已批准和签署的测试策略文档、测试用例、测试方案;需要解决方案的测试工程;6软件测试技术软件测试技术3过程1确定测试的需求测试需求所确定的是测试内容,即测试的具体对象测试需求必须是可观测、可测评的行为在每个用例或系统的补充需求与测试需求之间不存在一对一的关系测试需求可能有许多来源,其中包括用例模型、需求、访谈和文档等应该对所有这些来源进行检查2评估风险并确定测试优先级成功的测试需要在测试工作中成功地权衡资源约束和风险等因素。
为此,应该确定测试工作的优先级,以便先测试最重要、最有意义或风险最高的用例或构件3确定测试策略一个好的测试策略应该包括:实施的测试类型和测试的目标、实施测试的阶段、技术、用于评估测试结果和测试是否完成的评测和标准、对测试策略所述的测试工作存在影响的特殊事项等内容7软件测试技术软件测试技术如何才能确定一个好的测试策略呢?从两个方面来答复:基于测试技术的测试策略的要点著名测试专家给出了使用各种测试方法的综合策略:任何情况下都必须使用边界值测试方法;必要时使用等价类划分方法补充一定数量的测试用例;对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度,看是否到达了要求;如果程序功能规格说明中含有输入条的组合情况,那么已开始可以选择因果图方法基于测试方案的测试策略对于基于测试方法的测试策略,一般来说应该考虑如下方面:根据程序的重要性和一旦发生故障将造成的损失来确定它的测试等级和测试重点;认真研究,使用尽可能少的测试用例发现尽可能多的程序错误,防止测试过度和测试缺乏!8软件测试技术软件测试技术6.测试策略有哪些p从是否需要执行被测软件的角度,可分为静态测试和动态测试p从测试是否针对系统的内部结构和具体实现算法的角度来看,可分为白盒测试和黑盒测试 p下面从其他角度来看参考课本第四章9软件测试技术软件测试技术6.1 分析的测试策略p对象导引策略Object-guided strategyp基于风险的策略risk-based strategyp全面了解的策略fully-informed strategy 10软件测试技术软件测试技术6.2 基于模型的测试策略p基于场景的策略scenario-based strategyp基于域的策略domain-based strategy11软件测试技术软件测试技术6.3 系统的测试策略p基于学习的策略learning-based strategyp基于功能的策略function-based strategyp基于质量的策略 quality-based strategy 12软件测试技术软件测试技术6.4 面向过程的测试策略p标准化策略standardized strategyp敏捷策略agile strategyp自动化策略automated strategy 13软件测试技术软件测试技术6.5 动态测试策略p直觉策略intuitive strategyp探索性策略exploratory strategyp缺陷围猎策略bug hunting strategy 14软件测试技术软件测试技术6.6 哲学的测试策略p散弹枪式测试策略shotgun strategyp外部导引的测试策略externally strategy15软件测试技术软件测试技术6.7 回归测试策略p本地回归p暴露回归p远程回归p回归策略1:重复所有测试p回归策略2:重复局部测试16软件测试技术软件测试技术7.测试策略文档范例从测试目的、资源需求、测试环境、测试过程4个方面考虑:测试目的:1 测试的范围,哪些功能要包括在内,哪些要排除在外2 谁是客户和最终用户,谁就是测试结果的验收者3 测试的次序和日程安排4 验收的条件,成功因素,限制17软件测试技术软件测试技术资源需求:1 制定方案和运行测试需要哪些技术和经验2 相关人员的角色和责任3 谁将对测试工作进行全盘协调4 谁负责测试资料管理,版本控制,错误跟踪18软件测试技术软件测试技术测试环境:1 用于测试的系统配置怎样2 需要什么自动化工具3 需要哪些测试数据数据库和输入交易,如何安装4 您如何前调系统时钟19软件测试技术软件测试技术测试过程:1 运行测试时要遵循哪些过程设置、执行、记录2 测试案例如何制定,其标准格式是什么3 测试案例定义的覆盖要求是什么4 遇到问题如何决定其严重程度,对问题如何处理软件测试实践-zhjr04-软件测试过程 20软件测试技术软件测试技术21。