软件测试与质量保证期末复习资料整.doc

上传人:精*** 文档编号:878873 上传时间:2024-03-09 格式:DOC 页数:11 大小:256.34KB
下载 相关 举报
软件测试与质量保证期末复习资料整.doc_第1页
第1页 / 共11页
软件测试与质量保证期末复习资料整.doc_第2页
第2页 / 共11页
软件测试与质量保证期末复习资料整.doc_第3页
第3页 / 共11页
软件测试与质量保证期末复习资料整.doc_第4页
第4页 / 共11页
软件测试与质量保证期末复习资料整.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、复习提纲第一部分 软件测试概述11.软件测试的背景11.1 软件危机与软件质量11.2 软件缺陷 (分类,来源,累积和放大效应)11.3 软件测试的意义12.软件测试的含义12.1 什么是软件测试12.2 软件测试的目的12.3 软件测试的对象12.4 测试调试12.5 软件测试的特征13.软件测试的过程13.1 软件测试的生命周期13.2 软件测试的步骤23.3 测试用例=输入+预期输出23.4 通过维恩图理解测试用例相交的地方尽可能大23.5 测试用例的设计23.5.1 功能性测试(黑盒测试)23.5.2 结构性测试(白盒测试)2错误与缺陷分类2软件测试的级别2软件测试的分类2 边界值分析

2、 (依据,含义,方法)2 健壮性测试2 最坏情况测试32. 等价类测试 (书:第6章)33. 基于决策表测试 (书:第7章)3因果图测试法,基于正交表的测试法 (了解)3黑盒测试总结4第三部分 白盒测试4逻辑覆盖 分类及其含义4基本路径测试将测试路径压缩在一定的限度内4数据流测试4用白盒测试的覆盖率指标评估黑盒测试5第四部分 软件测试的级别5确认与验证的区别5确认测试(黑盒测试)5验收测试、回归测试的含义5单元测试,5集成测试找出模块间的接口和交互错误5系统测试6第五部分 软件测试工具6第六部分 软件质量保证71 软件质量保证及其目标72缺陷管理73SQA模型7第七部分 Beta测试有计划地把

3、产品分发到目标市场,收集反馈信息8Beta测试的特点8Beta测试的组织结构图8如何高效的获得Beta测试结果?8第八部分 软件本地化测试8软件国际化和软件本地化的含义及其关系8软件本地化测试的内容(再创造过程)9理解Unicode, Hard-Code 和 资源文件(.rc)的作用9第九部分 高级内容9变异测试的基本思想和过程9复习提纲第一部分 软件测试概述1.软件测试的背景1.1 软件危机与软件质量软件质量保证SQA,软件测试ST;1.2 软件缺陷 (分类,来源,累积和放大效应)l 常见的软件缺陷:1. 软件没有达到规格说明书表明的功能2. 软件出现了规格说明书指明不会出现的问题3. 软件

4、没有达到规格说明书虽未指明,但应该达到的功能4. 软件功能超出规格说明书指明的范围5. 软件测试人员或者用户认为软件难以理解、不易使用、运行速度慢。l 原因:1. 软件的需求规格说明书;2. 软件的设计;3. 代码的错误l 累积和放大效应:前期的软件缺陷会在后期逐步扩大1.3 软件测试的意义为了发现软件缺陷,软件测试必不可少;开销占总成本的30%50%;2.软件测试的含义2.1 什么是软件测试是为了发现错误而执行程序的过程。2.2 软件测试的目的发现问题;对质量或可接受性做出判断;2.3 软件测试的对象1. 需求分析2. 概要设计3. 详细设计4. 编码2.4 测试调试测试发现错误调试;这是一

5、个交叉循环的过程;测试是一种检验,有一套完整的理论,不需要了解设计细节,有非程序设计者完成,且测试的设计和执行能够自动化;2.5 软件测试的特征l 风险性彻底测试程序是不可能的;l 不修复原则并非所有软件缺陷都需要修复;l 群集现象错误的集中;l 寄生虫性找到缺陷越多,残存的缺陷越多3.软件测试的过程3.1 软件测试的生命周期需求规格说明设计编码测试缺陷分类缺陷隔离缺陷解决3.2 软件测试的步骤1. 制定测试计划2. 设计测试用例和测试过程3. 运行测试用例(核心)4. 评估测试结果3.3 测试用例=输入+预期输出3.4 通过维恩图理解测试用例相交的地方尽可能大3.5 测试用例的设计3.5.1

6、 功能性测试(黑盒测试)l 依据于软件的规格说明;l 与软件的具体实现无关;l 优:并行进行,测试用例与实现的改变无关;l 缺:用例冗余度大;会有漏洞,不能发现多余缺陷;3.5.2 结构性测试(白盒测试)l 依据于程序实现;l 利用程序内部的逻辑结构;l 优:具有覆盖率指标;l 缺:不能发现遗漏缺陷;错误与缺陷分类l 以出现相应错误的开发阶段来划分;l 以相应失效产生的后果来划分;l 以解决难度来划分;l 以不解决会产生的风险来划分软件测试的级别1. 单元测试详细设计信息,白盒测试为主;2. 集成测试概要设计信息,模块的组合测试;3. 系统测试软件需求;4. 确认测试依照需求规格说明书;5.

7、验收测试用户参与,黑盒测试;软件测试的分类l 静态测试不运行被测试程序;l 动态测试运行被测试的程序;l 自动测试利用自动化测试工具;l 人工测试人工走查和代码审查;第二部分 黑盒测试1. 边界值测试 (书:第5章) 边界值分析 (依据,含义,方法)l 含义:针对各种边界情况设计测试用例;l 依据:大量的错误是发生在输入或输出范围的边界上;l 方法:以基于但却像和输入空间的边界值分析,设有n个输入变量,则对应有4n+1个测试用例。l 局限性:只适用于变量之间没有依赖的情况;不适用于布尔变量; 健壮性测试l 含义:例外情况时的系统表现;n个变量对应6n+1个测试用例; 最坏情况测试l 用例为边界

8、值集合的笛卡儿积(5n个测试用例) 健壮最坏情况测试7n个测试用例 特殊值测试主观性和有效性 随机测试使用随机数生成器,直到每种输出至少出现一次;2. 等价类测试 (书:第6章) 等价类测试的思想n 依据:集合的划分,无冗余(不代表测试用例不冗余),完备性;n 基本思想:划分等价类;从中选取测试用例,以覆盖所有的等价类;n 关键:如何划分等价类;n 特点:典型的黑盒测试方法 有效/无效等价类l 有效等价类:合理的输入数据,是否实现了预期的功能;l 无效等价类:无意义的输入数据,检验程序对于无效数据的处理; 强/弱,健壮/一般 等价类测试l 弱一般等价类:单缺陷假设,不考虑无效值,不完备l 强一

9、般等价类:多缺陷假设,不考虑无效值,不完备l 弱健壮等价类:单缺陷假设,考虑无效值,不完备;l 强健壮等价类:多缺陷假设,考虑无效值,完备; 基于输入/输出的等价类测试 等价类测试的经验根据输入条件,划分等价类的原则l 如果确知以划分的等价类中的各元素在程序中的处理方式不同,则应进一步划分成更小的等价类。等价类测试的步骤(案例)n 建立等价类表;n 生成测试用例,规定一个唯一的编号;n 对有效等价类: 用一个测试用例覆盖尽可能多;n 对无效等价类: 每个测试用例只覆盖一个;不适合情况l 输入条件之间存在依赖关系;l 由多个输入条件的取值组合,决定是否执行某操作;3. 基于决策表测试 (书:第7

10、章)案例特点n 能够表示复杂逻辑关系;n 在详细设计和测试阶段均可使用;n 最严格的黑盒测试方法;适用于:l 逻辑很突出;l 输入输出之间存在因果关系;因果图测试法,基于正交表的测试法 (了解)l 因果图测试法:考虑输入情况的各种组合,和输入情况之间的相互制约关系;l 基于正交表的测试法:选出食量的,具有代表性的点;黑盒测试总结l 如果变量引用的是物理量,可采用定义域测试和等价类测试;l 如果变量时独立的,可采用定义域测试和等价类测试;l 如果变量不是独立的,可采用决策表测试;l 如果可保证是单缺陷假设,可采用边界值分析和健壮性测试;l 如果可以保证是多缺陷假设,可采用最坏情况测试、健壮最坏情

11、况测试、决策 表测试。l 如果程序包含大量的异常处理,可采用 健壮性测试和决策表测试;l 如果变量引用的是逻辑量,可采用等价类测试用例和决策表测试;第三部分 白盒测试逻辑覆盖 分类及其含义l 含义:根据一定的逻辑覆盖的目标以及程序内部的逻辑结构生成测试用例;l 分类:u 语句覆盖每个语句至少执行一次u 判定覆盖对于每个判断,每个取真,取假分支至少经历一次,有可能查不出某个子条件的错误;u 条件覆盖每个子条件的可能取值至少执行一次,不一定满足判定覆盖u 判定-条件覆盖前两者的结合,有可能查不出某个子条件中的错误;u 条件组合覆盖每个判断的所有可能的子条件取值组合至少执行一次,没有考虑多个判定之间

12、的组合;u 路径覆盖所有可能的路径;基本路径测试将测试路径压缩在一定的限度内l 控制流图一圈一个区域,圈外也算是区域;l 从程序导出控制流图,遇到复合条件时的转换复合条件改为单个条件的嵌套的判断;环路复杂性=V(G)= 边数E -节点数N + 2(或等于区域数)图矩阵(了解)用矩阵来计算控制流图,有方向的;适合测试控制密集型的程序。数据流测试l 数据流问题 定义变量:值被改变; 使用变量:使用了内存中的变量变量的定义使用路径定义节点使用节点:谓词使用(判断语句);计算使用;定义-使用路径:从定义节点到使用节点;定义清晰路径:定义-使用路径中没有其他定义节点;覆盖路径时,不考虑即是定义又是使用的

13、节点;适合测试计算密集型和控制密集型的程序路径覆盖准则: 全定义一使用路径准则包含全部的定义清晰路径 全定义准则每个定义节点到一个使用的定义清晰路径 全使用准则定义节点到每个使用节点的定义清晰路径 全谓词使用部分计算使用准则每个定义节点到所有谓词使用节点的定义清晰路径 全计算使用部分谓词使用准则每个定义节点到所有计算使用节点的定义清晰路径l 基于程序片的测试 (了解)影响某个变量在某个点上的取值的一组程序语句用白盒测试的覆盖率指标评估黑盒测试覆盖 C(M,S) = 所覆盖的路径数n / 总路径数s冗余 R(M,S) = 测试用例个数m / 总路径数s净冗余 NR(M,S)= 测试用例个数m /

14、 所覆盖的路径数n第四部分 软件测试的级别确认与验证的区别确认:关注最终产品,与用户需求相一致;验收:关注各个开发阶段;与当前步骤的规范相一致;确认测试(黑盒测试)含义是否满足用户的需求依据说明书的确认准则;测试:与测试:的区别测试由若干用户或公司内部人员进行测试;测试由最终用户进行测试;验收测试、回归测试的含义验收测试:主要由用户执行,检查是否符合验收标准;回归测试:在软件被修改之后,重新执行以前执行过的测试用例;(bug被修复后可能会产生新的bug);单元测试,含义对源代码的每一个单元和模块进行测试,以发现模块内部的错误白盒为主,黑盒为辅;错误的检查范围:l 模块接口测试(数据流的检查,参

15、数,返回值,全局量);l 局部数据结构测试(与变量相关的错误,数据类型,数组越界和地址异常);l 边界测试(边界值、运行时间);l 错误处理测试(出错的描述、显示、处理);l 路径测试(基本执行路径,最常见的错误执行路径);测试方法:静态测试;动态测试:驱动模块模拟调用模块;桩模块模拟被调用模块;集成测试找出模块间的接口和交互错误基于功能分解树的集成(关注静态结构)l 分类l 比较优点缺点一次性集成可以说没有很难定位错误自顶向下集成较早发现控制方面的错误过多的回归测试,大量桩模块(模块数-1)自底向上驱动模块(总-底层),并行测试多个模块主控部分出错要导致返工混合渐增式桩和驱动模块少定位缺陷的

16、难度(子系统一次性集成基于调用图的集成(模块之间的调用关系)l 分类:成对集成;邻居集成;l 缺点:缺陷难以隔离和定位,回归测试量大;基于路径 的集成(关注模块间的交互)模块可执行路径始于一个源节点,终于一个汇节点;MM-路径 起点:主模块的源节点,终点:消息静止点;从主模块开始,到主模块结束;与系统测试无缝连接,面向对象软件案例 集成测试的组织与实施(了解)系统测试 含义由确认测试的软件和系统的其他成分结合在一起,进行集成测试和确认测试常见的系统测试(理解定义)nl 功能测试检验功能的实现;l 性能测试性能是否达标;l 负载测试边界(满负载)的情况下的性能问题l 压力测试资源紧缺的情况下的功

17、能或性能问题;l 配置测试保证硬件的组合多样化;l 兼容性测试两个软件之间的交互;l 安全性测试安全性和保密性是否发挥作用,漏洞;l 可靠性测试平均失效时间,因故障而停机时间;l 恢复测试故障后的恢复情况,不对系统造成任何伤害;l 安装测试安装过程中出现的错误;l 易用性测试使用的合理性和方便性;l 文档测试系统文档的齐全、多余和规范例子第五部分 软件测试工具软件测试工具的常见功能n 测试计划和管理n 源代码控制n 自动测试用例生成;n 标准测试用例包n 内存泄露测试n 测试框架n 捕获、回放与比较(无人照料、机械重复测试)n 模拟负载测试n 模拟并发测试n 测试覆盖率分析优点l 测试流程和数

18、据的标准化、规范化;l 与项目计划、开发计划集成;l 测试用例、缺陷报告、缺陷分析与测试计划集成;l 测试文档管理l 缺陷跟踪和管理、测试评估;l 测试脚本和测试用例可以重复使用、重新编辑;l 测试数据与测试过程/脚本分离;l 适合回归测试与压力测试、负载测试、疲惫测试;l 管擦程序内部信息(对象属性、方法,内部数据变化;缺点n 费用风险n 集成风险n 银弹风险没有任何技术或管理上的进展,能够独立地许诺十年内使生产率、可靠性或简洁性获得数量级上的进步。n 测试套件(不同厂商之间没有统一标准)n 本地化问题n 平台多样性开发测试工具的著名公司第六部分 软件质量保证1 软件质量保证及其目标SQA确

19、保软件的开发过程和结果符合预期要求,按照规程进行评价;尽早地检测错误;目标在软件开发的各个阶段(需求分析,规格定义,设计,编码,测试,维护)进行过程控制;2缺陷管理bug 的生命周期:未确定的新加入的(已确定为bug)需要帮助的(找开发人员)被重新分配的被解决的被验证的bug的严重程度和优先级别严重程度:CriticalGraveSeriousBlockerImportantNormalMinorTrival优先级别:ImmediateUrgentHighNormalLow3SQA模型CMM与微软实践CMM分为几个级别?初始级可重复级已定义级已管理级优化级微软测试的两大经验:里程碑(MileS

20、tone)和每日构建(Daily build)的含义?里程碑(CMM2)每个里程碑完成部分功能;便于团队集中力量完成一个又一个功能;提供多个机会以适应需求的更改; 每日构建(CMM3)使模块得以及时整合;最新代码check in放入代码库;第七部分 Beta测试有计划地把产品分发到目标市场,收集反馈信息Beta测试的特点在产品发布之前,邀请公司的客户参与产品的测试工作;并不是实验室的测试;Beta测试的组织结构图 1 如何选择高效的Beta测试参与者?确定测试参与人员数确定测试候选人的条件确定申请表确定并发布召集书如何高效的获得Beta测试结果?找到动力,驱动参与者;第八部分 软件本地化测试软

21、件国际化和软件本地化的含义及其关系国际化(基础)处理多种语言和文化传统,不需要重新设计源程序代码的软件工程方法;本地化按照国家需要进行加工,是国际化用于特定的本地环境的体现;软件本地化测试的内容(再创造过程)功能性测试(基本功能);翻译测试(术语准确性);可用性测试(UI);兼容性测试(硬件,版本);文化、宗教、喜好等适用性测试;手册验证(联机文件,在线帮助)理解Unicode, Hard-Code 和 资源文件(.rc)的作用Unicode同意的字符编码标准,采用双字节对字符进行编码,16位;Hard code指程序代码中包含一些特定的数据,本应作为变量处理,而将其数据存在数据库或初始化文件中;资源文件.rc可直接调整用户界面的灵活性,以适应翻译文本的尺寸;第九部分 高级内容变异测试的基本思想和过程对测试集的充分性进行评估;没有测试数据的选择规则;排错能力强,自动化程度高;基本思想:对程序进行微调,若产生结果不同,则变异体被杀死,若相同,则为活的变异体;1. 程序的中间表示形式(IR)(了解)9

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

当前位置:首页 > 实用文档 > 其他

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922