版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
董渊
(SystemSoftware&SoftwareEngineering)
DepartmentofComputerScience&Technology
TsinghuaUniversity软件验证与确认
董渊
(SystemSoftware&Soft内容提要基本概念FaganInspection软件测试基本概念软件测试的分类软件测试用例设计测试自动化总结内容提要基本概念透视软件质量问题软件缺陷开销需求定义设计编码测试维护152050100缺陷分布透视软件质量问题软件缺陷开销需求定义设计编码测试维护1520验证与确认(V&V)验证(Verification)Arewebuildingtheproductright?Softwareconformstoitsspecification保证:软件软件正确实现特定功能(软件~SPEC)确认(Validation)Arewebuildingtherightproduct?Softwaremeetstheusers’needs保证:软件的实现满足用户需求(需求~SPEC)验证与确认(V&V)验证(Verification)Staticvs.DynamicV&V审查(Inspection)Analyzeandchecksystemrepresentationsuchasrequirementsdocuments,designdiagramsandtheprogramsourcecode.Allthestagesofsoftwarelifecycle测试(Testing)ExecutionwithtestdataandexaminingoperationalbehaviourStaticvs.DynamicV&V审查(Inspe内容提要基本概念FaganInspection软件测试基本概念软件测试的分类软件测试用例设计测试自动化总结内容提要基本概念软件审查非正式的文档/代码走查(Walkthrough)作者和评估者,二人讨论正式的软件审查Fagan[76],Gilb[94]审查前活动
审查会议
审查后活动审查角色:作者、审查员、测试员软件审查非正式的文档/代码走查(Walkthrough)Fagan审查IBM,MichaelFagan,1976IBMHuston,航天飞机软件,200万行代码,审查发现85%的错误,测试发现另15%IBMNorthHarbor,审查发现93%的缺陷,生产力提高9%Fagan审查IBM,MichaelFagan,197Fagan审查—主要角色主审员规划审查,主持会议,遵循Fagan方针,解决冲突,记录缺陷,确保后继活动实施讲解员讲解交付品,参与评审产品设计者准备数据和材料,修正缺陷测试员分析测试需求Fagan审查—主要角色主审员Fagan审查—主要方针6/304/10-15测试计划125/500100/300代码6/304/10-15设计6/304/10-15需求审查时间6/304/10-15测试计划125/500100/300代码6/304/10-15设计6/304/10-15需求准备时间最多/每小(页)总计/每小(页)区域活动严格标准/放宽标准Fagan审查—主要方针6/304/Fagan审查—主要步骤计划:时间、地点、人员、材料概述:背景材料准备:交付品和其它相关文档审查:缺陷识别,建立缺陷数据库以便进行度量和历史分析分析/过程改进:确定过程中存在的问题修改:缺陷修改后继活动:确保缺陷修正,问题得到解决Fagan审查—主要步骤计划:时间、地点、人员、材料Fagan审查—进入/退出标准设计满足需求设计满足设计标准设计缺陷得到纠正需求通过审查并结束设计文档就绪具有足够领域知识的审查者就绪设计需求满足客户需求所有需求缺陷得到纠正具有足够的评审文档专业技能的审查者准备就绪需求文档就绪需求退出标准进入标准审查类型Fagan审查—进入/退出标准设计满足需求需求通过审查并结束Fagan审查—进入/退出标准代码满足设计和需求代码遵循程序编码标准代码通过完全的编译缺陷排除需求及设计通过审查并结束程序概述就绪具有足够领域知识的审查者就绪代码列表就绪源代码清晰并可编译代码满足程序编码标准代码退出标准进入标准审查类型Fagan审查—进入/退出标准代码满足设计和需求需求及设计通Fagan审查—进入/退出标准测试计划足以胜任需求的测试测试计划遵循测试标准缺陷排除需求/设计结束概述就绪具有足够领域知识的审查者就绪测试计划退出标准进入标准审查类型Fagan审查—进入/退出标准测试计划足以胜任需求的测试需求Fagan审查—问题严重性待调查的项目,暂时不能确认是否为缺陷调查(INV)根据主要缺陷分析得到的过程改进建议过程改进(PI)产品中的非主要问题次要问题(m)产品中的一种缺陷,如果缺陷没有被发现,将会导致客户抱怨主要问题(M)定义问题严重性Fagan审查—问题严重性待调查的项目,暂时不能确认是否为缺Fagan审查—缺陷分类逻辑设计需求可维护性接口数据用量性能标准代码注释系统接口可移植性可靠性可维护性错误处理其他产品目标文件硬件接口竞争分析功能软件接口性能拼写可用性Fagan审查—缺陷分类逻辑系统接口产品目标内容提要基本概念FaganInspection软件测试基本概念软件测试的分类软件测试用例设计测试自动化总结内容提要基本概念基本概念--自测题目假设一程序实现以下功能: 读入3个数据,分别代表三角形的三条边,判断并输出三角形的形状,即:不等边三角形,等边三角形,等腰三角形。请列出可以用来测试该程序的测试用例。基本概念--自测题目假设一程序实现以下功能:自测参考测试用例正确的不等边三角形正确的等边三角形正确的等腰三角形不正确的三角形,两边长度之和等于第三边不正确的三角形,两边长度之和小于第三边不正确的三角形,至少有一边长度小于或等于0输入数据少于或多于3个输入非数据字符自测参考测试用例正确的不等边三角形基本概念--测试的目的G.MyersTestingistheprocessofexecutingaprogramwiththeintentoffindinganerror.(测试是程序执行的过程,目的在于发现错误)Agoodtestcaseisonethathasahighprobabilityoffindinganas-yetundiscoverederror.(好的测试用例在于能发现至今未发现的错误)Asuccessfultestisonethatuncoversanas-yetundiscoverederror.(成功的测试是发现了至今未发现的错误)基本概念--测试的目的G.Myers测试的目的(续)以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。实施测试收集到的测试结果数据为可靠性分析提供依据。测试不能表明软件中不存在错误,它只能说明软件中存在错误。测试的目的(续)以最少的时间和人力,系统地找出软件中潜在的各基本概念--测试的原则“尽早地和不断地进行软件测试”,测试贯穿于整个软件生命周期测试需按计划进行,测试计划需根据需求尽早编写彻底的、无遗漏的测试是不可能的应包括“合理的输入”及“不合理的输入”基本概念--测试的原则“尽早地和不断地进行软件测试”,测试贯测试的原则(续)80-20法则(theParetoprinciple),注意测试的群集现象测试应以用户需求为标准第三方测试(软件分工)妥善保存测试文档,为维护提供方便测试的原则(续)80-20法则(theParetopri内容提要基本概念FaganInspection软件测试基本概念软件测试的分类软件测试用例设计测试自动化总结内容提要基本概念软件测试的分类基本分类黑盒测试,白盒测试按照测试的不同阶段划分单元测试,组合测试,集成测试,系统测试按照不同的测试目的划分功能测试,性能测试,安全测试按照不同的测试对象划分C/S测试,GUI测试,实时软件测试软件测试的分类基本分类软件验证与确认课件单元测试目的针对程序模块,发现各独立模块的错误特点依据详细设计说明书和源程序清单从程序的内部结构出发,设计测试用例以白盒测试为主单元测试目的软件验证与确认课件集成测试在单元测试的基础上,将所有模块根据设计要求组装为系统,并测试组装后的模块集,以发现单元测试中不能发现的集成错误模块间的接口错误模块间是否存在不利的相互影响模块间的功能组合是否达到预期的功能全局数据结构是否正确集成测试在单元测试的基础上,将所有模块根据设计要求组装为系统集成测试非增量式组装增量式组装自顶向下自底向上混合式集成测试非增量式组装软件验证与确认课件系统测试在实际的运行环境中,测试整个计算机系统计算机硬件外设支持软件数据人员系统测试在实际的运行环境中,测试整个计算机系统性能测试确保系统的性能满足需求负载测试在长期、重负载的情况下,监测系统的响应时间和资源占用状况压力测试在短时间内,重负载(大数据量、大用户量)的情况下,监测系统的响应时间和资源占用状况疲劳测试长期、正常负载情况下,监测系统的稳定运行状况性能测试确保系统的性能满足需求验收测试由有用户参与的专门测试小组,来验证软件产品所展示的各种功能/非功能性能验收测试由有用户参与的专门测试小组,来验证软件产品所展示的各内容提要基本概念FaganInspection软件测试基本概念软件测试的分类软件测试用例设计测试自动化总结内容提要基本概念测试用例软件测试的基本依据组成部分:输入数据动作约束条件期望的输出结果测试用例01输入:1.输入数字3;2.输入加号;3.输入数字4。期望的输出:7测试用例软件测试的基本依据测试用例01测试用例的设计原则有效性可能发现软件缺陷经济性尽可能少的资源耗费发现尽可能多的软件错误可仿效性同时测试多项内容,以减少测试用例数量测试用例的设计原则有效性测试用例的设计原则(续)多重性既考虑合理的输入,又考虑不合理的输入无冗余性不同的测试用例,不同的测试目的完备性既要检查软件应具有的功能,又要检查不应有的功能测试用例的设计原则(续)多重性测试用例的基本设计方法黑盒测试方法等价类划分(EquivalentPartition)边界值分析(BoundaryValueAnalysis)白盒测试方法逻辑覆盖法基本路径测试测试用例的基本设计方法黑盒测试方法黑盒测试方法目的从用户的角度发现应用程序的功能性错误,如:遗漏的、误解的功能或接口定义主要特点不考虑程序内部的逻辑结构和内部特性依照需求规格说明书检查程序功能主要问题输入空间不可能穷举黑盒测试方法目的PXYZ输入输出处理X、Y:32位整数可能采用的测试数据组: 232x232=264测试时间(假设每个测试用例1毫秒, 一年工作365x24小时): 5亿年PXYZ输入输出处理X、Y:32位整数等价类划分特点典型的黑盒测试方法,不考虑程序的内部结构,只依据程序的规格说明来设计测试用例。主要方法将所有可能的输入数据,即程序的输入域,划分为若干部分,从每一部分中选取少数有代表性的数据作为测试用例。主要步骤划分等价类选取测试用例等价类划分特点等价类输入域的子集合。在该子集合中,每一个数据对于揭露程序的错误上是等效的。有效等价类对于程序的规格说明来说,是合理的用以检验程序是否满足了规格说明无效等价类对于程序的规格说明来说,是不合理的用以检验程序的意外处理能力,可靠性测试用例的生成方法从每一个等价类中选取代表性的数据等价类P输入数字输出字母功能:1.将1-26的正整数按从小到大的次序依次转换成A-Z大写的英文字母2.将101-126的正整数按从小到大的次序依次转换成a-z小写的英文字母P输入数字输出字母功能:-1.2,3.5小数+,=,/其他a,D,lsd字母00-7,-123负整数127,800正整数>12630,79正整数27-100101,110,120正整数101-1261,2,25,26正整数1-26测试用例等价类有效等价类无效等价类-1.2,3.5小数+,=,/其他a,D,lsd边界值分析特点由于大量的错误常常发生在输入/输出的边界上,选取边界值作为测试用例能有效的检测出错误。是对等价类分析方法的补充:选取边界值,而不是等价类中的任意值不仅考虑输入域,还考虑输出域边界值分析特点主要方法确定输入等价类及输出等价类确定边界值选取正好等于,刚刚大于,和刚刚小于边界值的数据作为测试用例。例如用边界值分析法测试Y2K问题
2000.1.1,2000.2.29用边界值分析法测试三角形判断问题
A=0,B=0,C=0,A+B=C,A+C=B,B+C=A
主要方法白盒测试方法根据程序的内部逻辑结构及有关信息,设计或选择测试用例。对程序模块的所有独立的执行路径至少测试一次对所有的逻辑判定,取“真”与取“假”的两种情况都至少测一次在循环的边界和运行界限内执行循环体测试内部数据结构的有效性白盒测试方法根据程序的内部逻辑结构及有关信息,设计或选择测试穷举测试:不同执行路径:520假设每条路径测试时间为1毫秒,每年的工作时间为24*365小时,则测试时间为3170年。穷举测试:白盒测试--逻辑覆盖法语句覆盖判定覆盖条件覆盖判定-条件覆盖路径测试白盒测试--逻辑覆盖法语句覆盖(A>1)and(B=0)X=X/ATTFFabdce(A=2)or(X>1)X=X+1L1:a->c->eL2:a->b->dL3:a->b->eL4:a->c->d(A>1)and(B=0)X=X/ATTFFabdce(语句覆盖设计测试用例,运行所测程序,使得每一条可执行语句至少执行一次例:可执行语句:X=X/A,X=X+1路径L1:a->c->e逻辑条件:(A>1)^(B=0)^((A=2)V(X>1))测试用例:输入:A=2,B=0,X=4 输出:A=2,B=0,X=3问题:可能不能发现判断中逻辑运算中的错误如:(A>1)and(B=0)误写为(A>1)or(B=0)语句覆盖设计测试用例,运行所测程序,使得每一条可执行语句至少判定(分支)覆盖使得程序中每个判定的取真分支和取假分支至少执行一次A=1B=1X=1A=2B=1X=1A=3B=0X=3A=2B=0X=4测试用例a->b->da->b->ea->c->da->c->e路径0101(A=2)V(X>1)0011(A>1)^(B=0)a->c->e,a->b->d;或者a->c->d,a->b->e问题:无法检查条件错误,x>1误写为x<1判定(分支)覆盖使得程序中每个判定的取真分支和取假分支至少执条件覆盖使得程序中每个判断的每个条件的可能取值至少执行一次。问题:有可能不能覆盖判断的所有分支。A=1,B=0,X=3a->b->e1010A=2,B=1,X=1a->b->e0101测试用例路径X>1A=2B=0A>1条件覆盖使得程序中每个判断的每个条件的可能取值至少执行一次。判定-条件覆盖使得程序中每个判断中所有条件的所有可能取值至少执行一次所有可能的判断结果至少执行一次A=1,B=1,X=1a->b->d0000A=2,B=0,X=4a->c->e1111测试用例路径X>1A=2B=0A>1问题:逻辑表达式错误不一定能检查出来判定-条件覆盖使得程序中每个判断中A=1,B=1,X=1a-路径覆盖使得程序中所有可能的路径都执行至少一次A=3,B=0,X=3a->c->d0011A=1,B=1,X=2a->b->e1000A=1,B=1,X=1a->b->d0000A=2,B=0,X=4a->c->e1111测试用例路径X>1A=2B=0A>1路径覆盖使得程序中所有可能的路径都执行至少一次A=3,B=0白盒测试--基本路径测试将覆盖的路径数压缩到一定限度内,在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合(基本路径集、基本集)保证被测程序的每一条可执行语句至少执行一次白盒测试--基本路径测试将覆盖的路径数压缩到一定限度内,程序控制流图描述程序的控制流节点:表示一个或多个无分支的语句有向边:控制流方向区域:边和接点圈定的区域程序控制流图描述程序的控制流软件验证与确认课件复合逻辑的控制流图复合逻辑的控制流图程序环路复杂性McCabe程序复杂性度量程序控制流图中,有向图G所封闭的环路个数V(G):
V(G)=G中的边数-G中的节点数+2 =G中的判定的节点数+1 =G中的区域数
程序环路复杂性McCabe程序复杂性度量16243578IIIIIIIVV=3+1=416243578IIIIIIIVV=3+1=4独立路径基本路径集合的成员某一程序的独立路径是从程序入口到出口的多次执行中,每次至少一个语句是新的(包括运算、赋值、输入输出或判断)。在控制流图中,从入口进入后,至少要经历一个从未走过的弧。程序中至少引进一个新的处理语句集合或一个条件的任一路径。独立路径基本路径集合的成员基本集V(G)提供了组成基本集独立路径的上界。基本集并不唯一。基本集测试:每一条语句至少执行一次;每一个条件执行时都将分别去T和F。基本导出:控制流图遍历基本集V(G)提供了组成基本集独立路径的上界。独立路径:L1:1-11L2:1-(2,3)-(4,5)-10-1-11L3:1-(2,3)-6-8-9-10-1-11L4:1-(2,3)-6-7-9-10-1-11独立路径:生成测试用例适用于模块的详细设计及源代码以详细设计或源代码为基础,导出程序的控制流图计算得到的控制流图的环路复杂性确定线性无关的基本路径集生成测试用例,确保基本路径集中每条路径的执行生成测试用例适用于模块的详细设计及源代码(A>1)and(B=0)X=X/ATTFFabdce(A=2)or(X>1)X=X+1L1:a->c->eL2:a->b->dL3:a->b->eL4:a->c->d(A>1)and(B=0)X=X/ATTFFabdce(4X=X/A1(A>1)TF2(B=0)TF3(A=2)TF5TF(X>1)6X=X+1784X=X/A1(A>1)TF2(B=0)TF3(A=2)TF环路复杂性:V=11-8+2=4+1=5基本路径集I:L1:1->2->5->6->8L2:1->2->3->5->6->8L3:1->2->3->4->5->6->8L4:1->2->3->4->5->6->7->8L5:1->2->3->4->5->7->82853IIIIIIIVV1476基本路径集II:L1:1->2->5->7-
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 拟扩大开采区域资源情况分析报告(编制提纲)
- 福州外语外贸学院《秘书理论》2025-2026学年期末试卷
- 长春信息技术职业学院《文学批评》2025-2026学年期末试卷
- 中国药科大学《中学生心理教育》2025-2026学年期末试卷
- 长春汽车职业技术大学《财务分析》2025-2026学年期末试卷
- 景德镇学院《发展心理学》2025-2026学年期末试卷
- 安庆医药高等专科学校《工程地质》2025-2026学年期末试卷
- 桐城师范高等专科学校《建设法规》2025-2026学年期末试卷
- 长春师范高等专科学校《精神障碍学》2025-2026学年期末试卷
- 厦门医学院《法律职业伦理》2025-2026学年期末试卷
- 共建鲁班工坊协议书
- 机械设计制造及其自动化专升本2025年真题核心卷(含答案)
- 建设工程管理信息化及BIM技术课件
- 浙江省心理b证笔试题库及答案
- 【《基于PLC的污水厂混合液回流泵控制系统设计与仿真研究》7500字(论文)】
- 清华博士数学试卷
- 年产80万吨己二腈项目-一级氰化合成工段工艺设计
- 血气分析临床应用及报告解读篇讲课文档
- 七年级下册道法期末复习:必刷主观题100题(答案)
- 教育法律法规知识试题及答案
- 妇产科两非两禁止培训
评论
0/150
提交评论