福建工程学院软件测试期末重点.doc

上传人:h**** 文档编号:1372250 上传时间:2019-02-23 格式:DOC 页数:13 大小:646.50KB
下载 相关 举报
福建工程学院软件测试期末重点.doc_第1页
第1页 / 共13页
福建工程学院软件测试期末重点.doc_第2页
第2页 / 共13页
福建工程学院软件测试期末重点.doc_第3页
第3页 / 共13页
福建工程学院软件测试期末重点.doc_第4页
第4页 / 共13页
福建工程学院软件测试期末重点.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、第一章1,软件测试的作用: 保证产品质量;控制研发成本;保障用户体验2,软件测试学科的发展:以缺陷预防为导向,测试是为了展示软件符合设计要求,发现和预防缺陷3,软件测试定义:由“验证(Verification) ”和“ 有效性确认(Validation) ”活动构成的整体4,测试驱动开发(TDD):要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行;有助于编写简洁可用和高质量的代码,并加速开发过程5,TDD 实例-Fibonacci 数列:第一章课件 30-42 页第二章1, 缺陷是质量的对立面:缺陷(Defect)是相对质量(Qualit

2、y)而存在的2, 软件质量标准:功能性,可用性,可靠性,性能,容量,可测量性,可维护性,兼容性,可扩展性3, 产生软件缺陷的原因:技术原因,团队工作原因,软件本身原因4, 软件评审的类别:管理评审,流程评审,技术评审,文档评审5, 软件质量保证(SQA):通过对软件产品和活动,有计划的进行评审和审计,来验证软件是否合乎标准的系统工程活动6, 软件质量保证(SQA)与软件测试的关系:SQA 是管理工作、审查对象是流程、强调以预防为主;测试是技术工作、测试对象是产品、主要是以事后检查为主;SQA 指导测试、监控测试;测试为 SQA 提供依据7, 软件测试的分类:按测试的对象或范围分类,如单元测试、

3、文档测试、系统测试等) ;按测试目的分类,如功能测试、回归测试、性能测试、可靠性测试、安全性测试和兼容性测试等;根据测试过程中被测软件是否被执行,分为静态测试和动态测试;根据是否针对系统的内部结构和具体实现算法来完成测试,可分为白盒测试和黑盒测试8, 软件测试的各个阶段:需求分析,设计审查,功能验证,系统测试,确认测试,版本发布9, 单元测试的对象:程序系统中的最小单元模块或组件10,集成测试中的两种集成方式:一次性集成方式和渐增式集成方式11,软件测试的工作范畴:软件测试工作的组织与管理;测试工作的实施12,软件测试的工作流程:第三章(一)白盒测试方法: 语句覆盖判定覆盖条件覆盖判定条件覆盖

4、条件组合覆盖路径覆盖基本路径覆盖1,语句覆盖:使程序中的每个可执行语句至少被执行一次:P1: 1-2-4 (M=T N=T) K:c=c/a 测试用例:a=2, b=1, c=6 P2: 1-2-5 (M=T N=F) J:c=c+1 a=2, b=1, c=5P3: 1-3-4 (M=F N=T) P:c=b+cP4: 1-3-5 (M=F N=F)2,判定覆盖:使得程序中每个判断的取真分支和取假分支至少经历一次,即判断真假值均曾被满足;一个判定往往代表着程序的一个分支,所以判定覆盖也被称为分支覆盖测试用例:a=2,b=1,c=6 a=-2,b=1,c=-6a=2,b=1,c=2 a=-2,

5、b=1,c=-53,条件覆盖:要使每个判断中的每个条件的可能取值至少满足一次测试用例:a=2, b=-1, c=-2 a=-1, b=2, c=3a=2, b=-1, c=-2 a=-1, b=2, c=64,判定-条件覆盖:使得判断条件中的 所有条件可能取值至少执行一次,同时,所有判断的可能结果至少执行一次。c1: a0 (T1 F1)c2: b0 (T2 F2)c3: a1 (T3 F3)c4: c0 (T4 F4)a=2, b=1, c=6a=2, b=1, c=5T1, T2, T3, T4 M=T, N=T P1: 1-2-4a=-1, b=-2, c=-3a=-1, b=-2, c

6、=-5F1, F2, F3, F4 M=F, N=F P4: 1-3-55,条件组合覆盖:使得判断中 每个条件的所有可能至少出现一次,并且每个判断本身的判定结果也至少出现一次。条件组合覆盖与条件覆盖的差别是它不是简单地要求每个条件都出现“真”与“假 ”两种结果,而是要求让这些结果的所有可能组合都至少出现一次。123 45Ma0&b0Na1|c0KJPTTFF组合编号 覆盖条件取值 判定条件取值 判定- 条件组合1 T1, T2 M=T a0,b0,M 取真2 T1, F2 M=F a0,b0,M 取假4 F1, F2 M=F a1,c1 ,N 取真6 T3, F4 N=T a1,c1,N 取真

7、8 F3, F4 N=F a=1,c=1,N 取假测试用例 覆盖条件 覆盖路径 覆盖组合输入: a=2,b=1 ,c=6输出: a=2,b=1 ,c=5 T1, T2, T3, T4 P1: 1-2-4 1, 5输入:a=2, b=-1,c=-2输出:a=2, b=-1,c=-2 T1, F2, T3, F4 P3: 1-3-4 2, 6输入:a=-1,b=2,c=3输出:a=-1,b=2,c=6 F1, T2, F3, T4 P3: 1-3-4 3, 7输入:a=-1 ,b=-2,c=-3输出:a=-1 ,b=-2,c=-5 F1, F2, F3, F4 P4: 1-3-5 4, 86,路径

8、覆盖就是设计所有的测试用例,来覆盖程序中的所有可能的执行路径:测试用例 覆盖条件 覆盖路径 覆盖组合输入: a=2,b=1 ,c=6输出: a=2,b=1 ,c=5 T1, T2, T3, T4 P1: 1-2-4 1, 5输入:a=1, b=1,c=-3输出:a=1, b=1,c=-2 T1, T2, F3, F4 P3: 1-2-5 1, 8输入:a=-1,b=2,c=3输出:a=-1,b=2,c=6 F1, T2, F3, T4 P3: 1-3-4 3, 7输入:a=-1 ,b=-2,c=-3输出:a=-1 ,b=-2,c=-5 F1, F2, F3, F4 P4: 1-3-5 4, 8

9、7,基本路径测试法的步骤: 1. 依据代码绘制流程图;2. 确定流程图的圈复杂度;3. 确定线性独立路径的基本集合;4. 设计测试用例覆盖每条基本路径V(G) = 3A-C-EA-B-C-EA-B-C-D-E(二)黑盒测试:等价类划分法、边界值分析法、判定表法、因果图法、正交试验法、功能图法、错误推测法1,等价类划分法:分为有效等价类和无效等价类。ACEBD等价类创建测试用例的过程:(1)建立等价类表,列出所有划分出的等价类:输入条件 有效等价类 无效等价类 (2)为每个等价类规定一个唯一的编号(3)设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类(4)重复(3) ,最后使得所有有

10、效等价类均被测试用例所覆盖(5)设计一个新的测试用例,使其只覆盖一个无效等价类。(6)重复(5)使所有无效等价类均被覆盖例:有一报表处理系统,要求用户输入处理报表的日期合法的日期为 2000 年 1 月-2020 年 12 月,用 6 位数字表示(如 201501)输入条件 有效等价类 无效等价类报表日期 (1 )6 位数字字符(4)有非数字字符(5)少于 6 个数字字符(6)多于 6 个数字字符年份范围 (2)2000-2020 (7)小于 2000(8)多于 2020月份范围 (3)1-12 (9)等于 0(10)大于 122,边界值分析法:确定边界情况(输入或输出等价类的边界) ;选取正

11、好等于、刚刚大于或刚刚小于边界值作为测试数据3,判定表方法:条件桩:列出问题的所有条件动作桩:列出可能针对问题所采取的操作条件项:针对所列条件的具体赋值动作项:列出在条件项(各种取值)组合情况下应该采取的动作规则:任何一个条件组合的特定取值及其相应要执行的操作判定表制定步骤:1)列出所有的条件桩和动作桩2)填入条件项3)填入动作项,制定初始判定表4)简化、合并相似规则或者相同动作测试用例:打印机程序测试: 条件桩:驱动程序是否正确、是否有纸张、是否有墨粉动作桩:打印内容、警告(缺纸、没有墨粉、驱动程序错误)初始化的判定表序号 1 2 3 4 5 6 7 8驱动程序是否正确 0 0 0 0 1

12、1 1 1是否有纸张 0 0 1 1 0 0 1 1条件是否有墨粉 0 1 0 1 0 1 0 1打印内容 0 0 0 0 0 0 0 1警告驱动程序不对 0 0 0 1 0 0 0 0动作警告没有纸张 1 1 0 0 1 1 0 0警告没有墨粉 0 0 1 0 0 0 1 0优化的判定表序号 1 2 3 4驱动程序是否正确 - - 0 1是否有纸张 0 1 1 1条件是否有墨粉 - 0 1 1打印内容 0 0 0 1警告驱动程序不对 0 0 1 0警告没有纸张 1 0 0 0动作警告没有墨粉 0 1 0 04,主动测试方法:测试人员主动向被测试对象发送请求、或借助数据、事件驱动被测试对象的行

13、为,从而验证被测试对象的反应或输出结果被动测试方法:测试人员不干预产品的运行,而是被动地监控产品在实际环境中运行,通过一定的被动机制来获得系统运行的数据,包括输入、输出数据第四章1,软件测试过程模型:瀑布模型、 、原型模型、RAD 型、改进的 V 模型、螺旋模型、增量模型和迭代模型、构件组装模型、并发模型、XP 模型2,V 模型: W 模型:3,TMM 的五个级别:4,TPI 的检查点:为了能客观地决定各个关键域的级别,TPI 模型提供的一种度量工具第五章1,软件测试的 4 个阶段:(1)单元测试(2)集成测试(3)系统测试(4)验收测试2,单元测试:定义:单元测试是对软件基本组成单元进行的测

14、试时机:一般在代码完成后对象:模块,组件,单元目的:确保模块被正确编码依据:详细设计过程:设计、脚本开发、执行、调试和分析结果执行者:由程序开发人员和测试人员共同完成测试方法:白盒测试为主,黑盒测试为辅评估:通过所有单元测试用例,代码没有严重缺陷3,单元测试的意义:尽早发现错误、检测代码是否符合设计与规范4,单元测试的目标:确保模块被正确编码5,单元测试的任务:任务 1:独立执行路径测试任务 2:单元局部数据结构测试任务 3:单元接口测试任务 4:单元边界条件测试任务 5:单元的错误处理通路测试任务 6:内存分析6,静态测试技术: 静态测试:不运行被测试程序,对代码通过检查、阅读进行分析代码评

15、审:走查 (Walk Through) 、审查 (Inspection)7,静态测试技术的规范与标准: 标准:必须遵守的规则规范:建议遵守的做法不遵守规范和标准的系统,即使能够正常运行,也存在隐患8,实施静态测试技术的规范与标准的原因:(1)可靠性(2)可读性和可维护性(3)可移植性9,代码评审的一些经验:一次检查 200-400 行代码,时间在 60-90 分钟每小时少于 300-500 行代码代码作者应对代码进行注释使用检查表建立量化指标10,走查与审查的比较:走 查 审 查准备 通读设计和编码准备好需求描述文档、程序设计文档、程序的源代码清单、代码编码标准和代码缺陷检查表形式 非正式会议

16、 正式会议参加人员 开发人员为主 项目组成员包括测试人员主要技术方法 无 缺陷检查表注意事项 限时、不要现场修改 代码 限时、不要现场修改代码生成文档 会议记录 静态分析错误报告目标 代码标准规范,无逻 辑错误 代码标准规范,无逻辑错误11,审查通过的原则:充分审查了所规定的全部代码,遵守了全部编码准则,审查中发现的错误已全部修改12,驱动模块与桩模块的作用:为了隔离正在执行动态测试的被测单元13,驱动模块:用于模拟被测模块的上级模块,负责接收测试数据、调用被测模块、并把先关数据传给被测模块桩模块:负责模拟被测模块的下级模块,由被测模块调用,并进行少量的数据处理14,单元测试通过的一般准则:软

17、件单元功能与设计需求一致软件单元接口与设计需求一致能够正确处理输入和运行中的错误在单元测试中发现的错误已经得到修改并且通过了测试达到了相关的覆盖率的要求完成软件单元测试报告 15, 单元测试的管理:在详细设计阶段完成单元测试计划建立单元测试环境,完成测试用例设计、驱动与桩程序的开发执行单元测试用例,并详细记录测试结果判定测试用例是否通过提交单元测试报告第六章1,集成测试前的准备:人员准备,测试计划,测试内容,集成模式,测试方法2,集成测试的模式:非渐增式与渐增式3,非渐增式与渐增式的比较(优缺点):(1)渐增式测试需要编写的软件较多,工作量较大,而非渐增式测试开销较小(2)渐增式测试发现模块间

18、接口错误较早,而非渐增式测试较晚(3)非渐增式测试发现错误较难诊断(4)渐增式测试如果发现错误,往往与最近加进来的那个模块有关(5)渐增式测试更彻底(6)渐增式测试需要较多的机器时间(7)非渐增式可进行并行测试4,自顶向下集成:(1)对主控模块进行测试,用桩程序替代所有直接附属于主控模块的模块(2)根据选定的结合策略(深度优先或广度优先) ,每次用一个实际模块代替一个桩程序(3)在结合下一个模块的同时进行测试(4)进行回归测试(全部或部分重复以前做过的测试)5,自顶向下集成优缺点:优点:不需要驱动程序;能够较早地验证系统的主要功能,以及发现上层模驱 动 模 块被 测 单 元桩 模 块桩 模 块

19、 桩 模 块块的接口错误。缺点:需要桩程序;低层关键模块中的错误发现较晚;在早期不能充分展开人力6,自底而上集成:(1)把低层模块组合成实现某个特定子功能的族(2)编写驱动程序,协调测试数据的输入和输出(3)对由模块组成的子功能族进行测试(4)去掉驱动程序,沿软件结构自下向上移动,把子功能族组合起来,形成更大的子功能族(5)重复上述步骤,直至测试完成注:自底而上法的优缺点和自顶而下法刚好相反7,大棒集成:先对每个子模块进行测试,然后将所有模块一次姓全集成起来进行集成测试8,大棒集成法的缺点:因为所有模块是一次性集成的,所以很难确定出错的真正位置、所在模块和错误原因;大棒集成法只适用于规模较小的

20、系统9,三明治集成:从两头向中间集成10,三明治集成法优缺点:优点:它将自顶向下和自底向上的集成方法有机地结合起来,不需要写桩程序因为在测试初自底向上集成已经验证了底层模块的正确性;缺点:在真正集成之前每一个独立的模块都没有被完全测试过11,集成方法的性能比较:自底向上 自顶向下 混合策略 大棒 三明治 改进三明治集成 早 早 早 晚 早 早基本程序能工作时间 晚 早 早 晚 早 早需要驱动程序 是 否 是 是 是 是需要桩程序 否 是 是 是 是 是工作并行性 中 低 中 高 中 高特殊路径测试 容易 难 容易 容易 中等 容易计划与控制 容易 难 难 容易 难 难12,功能测试(黑盒测试也

21、常称为功能测试)定义:功能测试是指根据产品规格说明书,来检验被测系统是否满足各方面功能的使用要求;功能测试可以在单元测试中进行,也可以在集成测试、系统测试中进行13,单元功能测试的目的:保证所测试的每个独立模块的功能是正确的14,系统功能测试不仅要考虑模块之间的相互作用,而且要考虑系统的应用环境15,功能测试的权衡标准:实现产品规格说明书上所要求的功能16, 针对不同系统,功能测试的内容差异较大,但都可归为界面、数据、操作、逻辑、接口等几个方面。17, 常见的功能测试的方法:等价类划分法,边界值分析法,错误推测法,因果图法,组合分析法18, 回归测试的目的:(1)回归测试在程序发生修改的情况下

22、,保证原有功能正常的一种测试策略与方法(2)当对严重的软件缺陷进行了修改或增加了新功能的情况下,需要对修改后的程序进行测试,检验所做的修改是否正确,保证没有引入新的严重错误。注:正确性包括两层含义:修改达到了预定目的;不影响软件原有功能的正确性19, 非功能性测试:非功能性测试又称系统测试,是将经过集成测试后的软件,作为计算机系统的一个部分,与计算机硬件、支撑软件、数据和人员等系统元素结合起来,在实际运行环境下对计算机系统进行的测试20, 非功能性测试包括:性能测试,压力测试,容量测试,安全性测试,可靠性测试,容错性测试21, 性能测试的目的:为了验证系统是否达到用户提出的性能指标,同时发现系

23、统中存在的性能瓶颈,起到优化系统的目的22, 性能测试的需求:用户对各项指标提出的明确需求;如果用户没有提出性能指标则根据用户需求、测试设计人员的经验来设计各项测试指标。 (需求+经验)23, 性能测试的主要性能指标:服务器的各项指标(CPU、内存占用率等) 、后台数据库的各项指标、网络流量、响应时间24, 性能测试的方法:(1)负载模拟:并发用户并发数量 + 思考时间 + 每次请求发送的数据流 + 负载模式(2)并发用户:在同一时刻做相同或不同操作的在线用户(3)思考时间:浏览器在收到响应到提交下一个请求之间的间隔时间(4)负载类型:负载加载方式,如随机加载、峰谷交替加载等25,系统性能指标

24、包括:系统资源使用率和系统行为表现;资源使用率越低,系统一般会有更好的性能表现;系统行为的性能指标很多,如:请求响应时间、事务响应时间、数据吞吐量等25, 性能测试步骤:(1)确定性能测试需求(2)根据测试需求,选择测试工具和开发相应的测试脚本(3)建立性能测试负载模型,就是确定并发虚拟用户的数量、每次请求的数据量、思考时间、加载方式和持续加载的时间等(4)执行性能测试(5)结果分析,并提交性能测试报告26,性能测试的要点:性能测试的用例主要涉及整个系统架构的问题,测试用例一旦生成,改动一般不大,所以重复使用率一般比较高26, 压力测试:也称为强度测试、负载测试;27, 压力测试定义:模拟实际

25、应用的软硬件环境及用户使用过程的系统负荷,长时间或超大负荷地运行测试软件,来测试被测系统的性能、可靠性、稳定性等;压力测试总是迫使系统在异常的资源配置下运行(数据输入频率、存储空间要求、中断频率等)执行科重复的负载测试,以检查程序对异常情况的抵抗能力,找出性能瓶颈;从本质上来说,测试者是想要破坏程序28, 测试压力估算:(1)依据设计说明书的要求(2)依据以往版本的实际运行经验29, 压力稳定性测试:(1)在选定的压力值下,持续运行 24 小时以上(2)监视服务器和客户端的必要性能指标(3)在压力测试期间,各型性能指标应在指定范围内(4)在压力测试期间,不出现内存泄露、系统崩溃、功能性故障等问

26、题30,破坏性加压测试:(1)在压力稳定性测试中,可能会出现系统性能明显下降等问题(2)但仅从稳定性测试中,很难暴露出问题的真正原因(3)通过破坏性的不断加压,能够快速暴露出系统的问题31,容量测试目的:通过测试预先分析出反映软件系统应用特征的某项指标的极限值(如最大并发用户数、数据库记录数等)32,容量测试完成的标准:所计划的测试已经全部执行,而且达到或超出指定的系统限制时,没有出现任何软件故障;对软件容量的测试,可以让开发人员了解软件系统的承载能力或提供服务的能力33,安全性测试:根据 ISO 8402 的定义,安全性是“使伤害或损害的风险限制在可接受的水平内”34,安全性测试作用:检查系

27、统对非法入侵的防范能力35,测试人员假扮非法入侵者,采用各种办法试图突破防线:试图通过浏览非保密数据,推导所需信息等等36,安全性的两个层次:应用程序级别和系统级别37,安全性测试的方法包括: 静态的代码安全测试 动态的渗透测试 程序数据扫描38,可靠性测试:理论上说,可靠的软件系统应该是正确、完整、一致和健壮的39,容错性测试定义:检查软件在异常条件下,自身是否具有防护性的措施或者某种灾难性恢复的手段40,容错性测试的两个方面:(1)输入异常数据或进行异常操作,以检验系统的保护性(2)灾难恢复性测试41,数据恢复测试:对于必须持续运行的系统所进行的测试;测试当主系统发生故障时,备用系统能否无

28、缝替代主系统,以避免丢失任何数据或事务42,系统测试的衡量维度:从质量的三个维度:可靠性,功能,性能。P144(表 6-3)第七章1,验收测试:指在软件产品完成了功能测试和系统测试之后、产品发布之前所进行的软件测试活动它是技术测试的最后一个阶段,也称为交付测试2,验收测试的过程与内容:(1)前提:软件已经通过了系统测试(2)验证系统是否达到了用户需求规格说明书(可能包括项目或产品验收准则)中的要求,测试试图尽可能地发现软件中存留的缺陷,从而为软件进一步改善提供帮助,并保证系统或软件产品最终被用户接受。主要包括易用性测试、兼容性测试、安装测试、文档(如用户手册、操作手册等)测试等几个方面的内容3,验收测试的步骤:(1)制定测试计划,测试项,测试策略及验收通过准则,并经过客户参与的计划评审(2)建立测试环境,设计测试用例,并经过评审(3)准备测试数据,执行测试用例,记录测试结果(4)分析测试结果,根据验收通过准则分析测试结果,作出验收是否通过及测试评价(5)提交验收测试报告4,产品规格说明书的审核(在评审过程中):(1)从客户的角度和立场进行审核工作(2)检验套用标准的正确性,不要和行业规范相抵触(3)审查、研究同类产品(4)验证产品规格说明书的完整性、准确性、一致性、合理性等特性5,用户界面的要素:符合标准和规范,直观、一致性、灵活性、舒适性、正确性、实用性

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

当前位置:首页 > 教育教学资料库 > 试题真题

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。