软件工程测试工程

上传人:好** 文档编号:101108335 上传时间:2019-09-26 格式:PPT 页数:36 大小:1.79MB
返回 下载 相关 举报
软件工程测试工程_第1页
第1页 / 共36页
软件工程测试工程_第2页
第2页 / 共36页
软件工程测试工程_第3页
第3页 / 共36页
软件工程测试工程_第4页
第4页 / 共36页
软件工程测试工程_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《软件工程测试工程》由会员分享,可在线阅读,更多相关《软件工程测试工程(36页珍藏版)》请在金锄头文库上搜索。

1、软件工程,第七章 测试技术,本章学习目标,2,3,掌握基本的白盒测试和黑盒测试方法。,了解软件测试的目标、评估准则、软件静态分析的通用评审过程等及主要类型。,理解软件测试的定义、常用术语、基本原则和代码审查。,软件测试的重要性,据推测,由于软件缺陷而引起的损失额每年高达595 亿美元。这一数字相当于美国国内生产总值的0.6%。 软件测试是软件开发过程中包装软件质量、提高软件可靠性的最主要的手段之一,它是在软件产品在交付之前,对分析、设计、编码等开发工作的最后检查和复审。 在整个软件系统的开发过程中,软件测试占了其中4050%的工作量。,软件测试的定义,软件测试的对象,软件测试的对象: 软件测试

2、不等于程序测试。 软件测试贯穿于软件定义和开发的整个过程。 软件开发过程中所产生的需求规格说明、概要设计规格说明、详细设计规格说明以及源程序都是软件测试的对象。,软件测试的常用术语,1.软件缺陷 至少满足下列一个条件才称发生了一个软件缺陷: 软件未实现产品说明书要求的功能。 软件出现了产品说明书指明不能出现的错误。 软件实现了产品说明书未提到的功能。 软件未实现产品说明书虽未明确提及但应该实现的目标。 软件难以理解、不易使用、运行缓慢或者从测试员的角度看最终用户会认为不好。,软件缺陷的定义,软件测试的常用术语,2.验证和确认 验证(Verification): 保证软件特定开发阶段的输出已经正

3、确完整地实现了规格说明 确认(Validation): 根据原始需求检查开发结果的过程称为确认 举例 验证:我们是否正确地完成了产品? 确认:我们是否完成了正确的产品?,软件测试的常用术语,3.测试与质量保证 软件测试人员的目标是尽早找出软件缺陷,并确保缺陷得以修复 软件质量保证人员的主要职责是创建和执行改进软件开发过程并防止软件缺陷发生的标准和方法 人员职责上有交叉,软件测试的常用术语,4.质量与可靠性 功能性(functionality):系统所需具备的能力的所有特征。 可靠性(reliability):软件产品在具体使用中持续地提供其功能的能力。 可用性(usability):软件着眼于

4、用户使用方面的特性 效率(efficiency):软件为完成任务所消耗的资源和所需要的时间。 可维护性(maintainability):软件着眼于可进行指定的修改的特性。 可移植性(portability):软件着眼于可从一种使用环境迁移到另一种使用环境的特性。,软件测试的常用术语,5.软件测试与调试 两者都包含有处理软件缺陷和查看代码的过程 二者的区别在于,测试的目标是发现软件缺陷的存在,调试的目标是定位与修复缺陷。,软件测试的常用术语,6.测试用例 测试用例(test case)是测试输入、执行条件以及预期结果的集合,是为特定的目的开发的,例如执行特定的程序路径或验证与指定的需求相符合。

5、,软件测试的目标(IEEE 1983),确认系统满足其预期的使用和用户的需要。 确认解决了所需解决的问题(如实现商业规则和使用合适的系统假定)。 为测试的过程建立责任和可解释性。 便于及早发现软件和系统的异常。 及早提供软件和系统的性能的评估。 为管理提供真实信息,以决定在当前状态下发布产品在商业上的风险 鉴别出程序在功能等方面的异常集聚之处。,注意:测试用例的设计应尽力发现系统中的错误,而不是“说 明程序能正确地执行它应有的功能”,也不是“表明程序没有 错误”。,软件测试的基本原则,穷尽测试是不可能的 测试无法显示潜伏的软件缺陷 测试活动应尽早进行 软件缺陷具有群聚性 注意杀虫剂现象 应尽量

6、由独立的测试团队进行测试,软件测试方法,软件测试方法,动态测试,静态测试,黑盒测试,白盒测试,在不知道程序内部结构,只知道程序规格的情况下采用的测试技术或策略。,在知道程序内部结构的情况下采用的测试技术或策略。,黑盒测试方法和白盒测试方法综合的策略。,不实际运行程序,而是通过检查和阅读等手段来发现错误并评估代码质量的软件测试技术。也称为静态分析技术。,实际运行程序,并通过观察程序运行的实际结果来发现错误的软件测试技术。,白盒测试,灰盒测试,静态测试与动态测试,1.静态测试 静态测试是采用人工检测和计算机辅助静态分析的手段对程序进行检测,方法如下: 人工测试:是指不依靠计算机运行程序,而靠人工审

7、查程序或评审软件。 计算机辅助静态分析:指利用静态分析软件工具对被测试程序进行特性分析,从程序中提取一些信息。 2.动态测试 动态测试与静态测试相反,主要是设计一组输入数据,然后通过运行程序来发现错误。,软件测试的主要方法,黑盒测试 黑盒测试指忽略系统或组件的内部机制,仅关注于那些响应所选择的输入及相应执行条件的输出的测试形式,也称功能性测试。 白盒测试 白盒测试指考虑系统或组件的内部机制的测试形式(如分支测试、路径测试、语句测试等),也称结构性测试。 灰盒测试 测试方法兼具备黑盒测试和白盒测试的特性。,软件测试的评估准则,覆盖率 故障插入 变异分值,覆盖率,给定一个测试需求集合TR 和一个测

8、试集合T,覆盖率可以定义为T 满足的测试需求占TR 总数的比例。 100%覆盖率在实际中是不现实的 商用自动化测试工具,故障插入,故障插入(fault seeding)是一种统计方法,用于评价遗留在一个程序中的故障的数量和种类。具体而言,在测试前被有意地插入一些故障到程序中,在测试执行中,有一部分插入的故障会因测试而显露出来,但可能一些故障在测试中没有暴露出来,仍存在于程序中。,变异分值,该指标和变异测试密切相关。所谓变异测试是一种特殊的测试方法,在这种测试方法中,程序进行两个或更多个变异,然后用同样的测试用例执行测试,可以评估这些测试用例探测程序变异间的差异的能力。,也叫玻璃盒测试、结构测试

9、或逻辑驱动测试,对软件的过程性细节做细致的检查。这一方法是把测试对象看作一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,来设计或选择测试用例,对程序所有逻辑路径进行测试。 白盒测试是在程序内部进行,主要用于完成软件内部操作的验证。,白盒测试,关键技术:如何设计测试用例进行彻底的测试,白盒测试技术,基于代码的测试,白盒测试局限性:是穷举路径测试,贯穿程序独立路径数是天文数字,即使每条路径都经过了测试,仍可能有未发现错误。,白盒测试的局限性,白盒测试技术分类 基于逻辑结构的测试 基于控制流图的测试,逻辑覆盖测试,逻辑覆盖是以程序内部的逻辑结构为基础的设计 测试用例的技术。它属白盒测

10、试。 语句覆盖 分支覆盖 条件覆盖 条件组织覆盖,问题:若AND错写为OR,或X1错写为X1,则错误无法由上例测出。,Test case : A=2 , B=0 , X=4.,a,b,c,d,e, 语句覆盖(Statement coverage):选择足够多的测试数据,使被测程序中每个语句至少执行一次。,语句覆盖,判定覆盖(Branch coverage):在的基础上,每个判定的每个分支至少执行一次。也成分支覆盖。,Test cases: A=3 , B=0 , X=3 A=2 , B=1 , X=1,问题:若X1错写为X1,仍然无法被测出。,a,c,b,e,d,判定覆盖, 条件覆盖(Cond

11、ition coverage):在的基础上,使每个判定表达式的每个条件都取到各种可能的结果。,d,b,a,c,e,条件覆盖, 条件覆盖(Condition coverage):在的基础上,使每个判定表达式的每个条件都取到各种可能的结果。,d,b,a,c,e,真,真,真,真,假,假,假,假,Test cases: A=2 , B=0 , X=4 (满足A1, B=0; A=2, X1),A=1, B=1, X=1 (满足A1, B0; A 2, X1),条件覆盖, 条件覆盖(Condition coverage):在的基础上,使每个判定表达式的每个条件都取到各种可能的结果。,Test cases

12、: A=2 , B=0 , X=4 (满足A1, B=0; A=2, X1) A=1, B=1, X=1 (满足A1, B0; A 2, X1),问:条件覆盖 ? 判定覆盖,答: 不一定。 反例: A=2, B=0, X=1 A=1, B=1, X=2,d,b,a,c,e,条件覆盖,(4) 条件组合覆盖:每个判定表达式中条件的各种可能组合都至少出现一次。,全部可能的条件组合为: A1, B=0 A1, B 0 A1, B=0 A1, B 0 A=2, X1 A=2, X 1 A 2, X1 A 2, X 1,问题:没有测试到(T F)的情形,没有覆盖所有的路径。,e,c,a,b,d,条件组合覆

13、盖,4种覆盖对比,4种覆盖标准的对比,控制流图覆盖测试,控制流图覆盖测试是将代码转变为控制流图,基于 其进行测试的技术。 节(结)点覆盖 边覆盖 路径覆盖,符号为控制流图的一个节点,表示一个或多个无分支的PDL语句或源程序语句。箭头为边,表示控制流的方向。,程序的控制流图,在选择或多分支结构中,分支的汇聚处应有一个汇聚结点。 边和结点圈定的区域叫做区域,当对区域计数时,图形外的区域也应记为一个区域。 如果判断中的条件表达式是由一个或多个逻辑运算符 (OR, AND, NAND, NOR) 连接的复合条件表达式,则需要改为一系列只有单个条件的嵌套的判断。,判断结构的CFG表达,节点1代表了测试条件xy,有不止一条出边,称为决策节点。节点4 有不止一条入边,称为汇合节点。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 初中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号