




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中国石油大学胜利学院设计测试用例八、编码与测试第八章编码和测试编码概述编码语言与编码工具编码示例
测试的基本概念黑盒测试和白盒测试测试用例设计多模块程序的测试策略面向对象系统的测试中国石油大学胜利学院8.1编码概述1、编码的目的
编码设计模型---->源程序---->可执行代码(不可执行的)
(可执行的)2、编码的过程熟悉所选语言的功能和程序开发环境
仔细阅读设计模型弄清要编码的模块的外部接口与内部过程中国石油大学胜利学院3、编码的风格追求“聪明”和“技巧”---〉提倡“简明”和“直接”
使用标准的控制结构
清晰的前提下求取效率:Kernighan《程序设计风格要素》Makeitrightbeforeyoumakeitfaster.(先求正确后求快)Makeitclearbeforeyoumakeitfaster.
(先求清楚后求快)Keepitrightwhenyoumakeitfaster.
(求快不忘保持程序正确)Keepitsimple
tomakeitfaster.
(保持程序简单以求快)don’tsacrificeclarityfor“efficiency”.
(书写清楚,不要为“效率”牺牲清楚)说明:程序的清晰第一,而不是效率第一8.1编码概述中国石油大学胜利学院3、编码的风格Kernighan《程序设计风格要素》把编码风格归结为:使用标准的控制结构
采用单入口、单出口标准结构实现源程序的文档化(内部文档编制、共同遵守)
有意义的变量名称(命名规约)
适当的注释(段前注释、行尾注释)
标准的书写格式(缩进、注释段与程序段及程序段之间加空行、每行只写一条代码)8.1编码概述中国石油大学胜利学院3、编码的风格满足用户友好的输入输出风格输入:
程序对输入数据进行有效检验;
输入格式力求简单、一致,并尽可能采用自由格式输入;
使用输入结束或文件结束标志终止输入,不要让用户自己来计算输入的项数;
向用户显示“请输入”等提示信息,并说明边界
对多个输入项的组合进行检查,如“三角形的三条边”输出:
标志所有的输出数据,加以必要的说明;
所有报表、报告具有良好的格式;8.1编码概述中国石油大学胜利学院8.2编码语言与编码工具1、编码语言的发展面向机器的语言高级语言(第3代)甚高级语言机器语言(第1代)汇编语言(第2代)结构化语言基础语言面向对象语言第4代语言中国石油大学胜利学院2、常用的编码语言基础语言FORTRANCOBOLBASIC结构化语言PascalCAda面向对象语言C++JavaC#8.2编码语言与编码工具中国石油大学胜利学院3、程序设计语言的选择
要为待开发项目选择合适的程序设计语言,应充分考虑到项目的各种需求,结合各种语言的心理特性、工程特性、技术特性以及应用特点,尽量选取实现效率高且易于理解和维护的语言。选择编码语言的标准应用领域算法与计算复杂性数据结构的复杂性效率的考虑8.2编码语言与编码工具中国石油大学胜利学院适用各类应用领域的语言年代应用领域主要语言其他语言20世纪60年代商业COBOLAssembler科学计算FORTRANALGOL,BASIC,APL系统AssemblerForth人工智能LISPSNOBOL
现代商业COBOL、C++、Java、电子表格C、PL/1科学计算FORTRAN、C、C++、JavaBASIC系统C、C++、JavaAda、Modula人工智能LISP、Prolog
8.2编码语言与编码工具中国石油大学胜利学院4、基于4GL的编码工具EclipseNetBeansVisualStudioDelphiPowerbuilder运用网络,查找相关资料,了解以上语言的出处、特点和适用场合。8.2编码语言与编码工具中国石油大学胜利学院8.3编码示例网上购物系统将设计模型转换为源代码注册维护购物车中国石油大学胜利学院软件开发过程必须伴有质量保证活动。软件测试是软件质量保证的关键元素,代表了规约、设计和编码的最终检查。有关测试的思考题:软件测试需要什么样的专业基础?测试的研究内容是什么?测试的目标是什么?开发一个测试系统之前你是否明白:
可以测试什么?
应该测试什么?最终能够测试什么?8.4测试的基本概念
软件产品最大的成本是检测软件错误、修正软件错误的成本。
在整个软件开发中,测试工作量一般占30%~40%,甚至≥50%。
在人命关天的软件(如飞机控制、核反应堆等)测试所花费的时间往往是其它软件工程活动时间之和的三到五倍。8.4测试的基本概念软件是人编的—所以不完美,实例:1994-1995,迪斯尼的狮子王系统不支持问题Intel的pentium处理器1994年浮点除法缺陷2000年8月28日,1.13MHZ处理器一个可能导致运行程序被挂起的执行指令问题1999年12月3日,美国航天局火星极地登陆飞船失踪1991年爱国者导弹防御系统系统时钟错误积累造成跟踪系统失去精确度千年虫,世界各地解决2000年错误超过数亿美元8.4测试的基本概念人们对软件测试认识的五个阶段:阶段1—测试=调试阶段2—测试是证明软件正确阶段3—测试是发现软件中错误阶段4—测试是减小软件不工作的风险(是度量软件质量要素的过程)阶段5—测试可产生低风险的软件的一种认识上的训练8.4测试的基本概念8.4测试的基本概念1、什么是软件测试?动态查找程序代码中的各类错误和问题的过程测试的目的与任务
目的:发现程序的错误;任务:通过在计算机上执行程序,暴露程序中潜在的错误。中国石油大学胜利学院
G.J.Myers在<软件测试技巧>中认为:1.测试是为了寻找错误而运行程序的过程。2.一个好的测试用例是指很可能找到迄今为止尚未发现的错误的测试。3.一个成功的测试是揭示了迄今为止尚未发现的错误的测试。E.W.Dijkstra指出:“程序测试能证明错误的存在,但不能证明错误不存在。”测试的目的是发现程序中的错误,是为了证明程序有错,而不是证明程序无错。8.4测试的基本概念中国石油大学胜利学院把证明程序无错当作测试目的不仅是不正确的,完全做不到的,而且对做好测试没有任何益处,甚至是十分有害的。
软件测试要设法使软件发生故障,暴露软件错误。测试的“成功”与“失败”能够发现错误的测试是成功的测试,否则是失败的测试。
8.4测试的基本概念中国石油大学胜利学院纠错的目的与任务
目的:定位和纠正错误;任务:消除软件故障,保证程序的可靠运行。测试和纠错的关系:测试:找错纠错:改错软件测试结果错误信息改正信息测试用例期望结果测试评价纠错8.4测试的基本概念中国石油大学胜利学院2、测试的特性挑剔性只有抱着为证明程序有错的目的去测试,才能把程序中潜在的大部分错误找出来复杂性设计测试用例是一项需要细致和高度技巧的工作不彻底性程序测试只能证明错误的存在,但不能证明错误不存在经济性选择一些典型的、有代表性的测试用例,进行有限的测试8.4测试的基本概念中国石油大学胜利学院3、测试的种类软件测试方法的分类软件测试静态测试(程序不执行)动态测试(程序执行)“办公桌”检查会审走查(排查)静态分析器(自动工具)代码评审(人工方式)黑盒测试(测试功能)白盒测试(测试结构)8.4测试的基本概念中国石油大学胜利学院4、测试文档测试计划测试内容说明测试项目的名称各项测试的目的步骤和进度测试用例的设计测试报告测试结果测试项目名称实测结果与期望结果的比较发现的问题测试达到的效果8.4测试的基本概念中国石油大学胜利学院5、软件测试过程测试过程和项目开发过程完全平行,并有机地交互将测试出的问题纳入项目的风险和进度分析中,以调整下一步的开发和测试活动先做测试需求和设计,再后才是测试实施8.4测试的基本概念中国石油大学胜利学院8.5黑盒测试和白盒测试黑盒测试根据被测试程序功能来进行测试等价分类法边界值分析法错误猜测法白盒测试以程序结构为依据的测试方法逻辑覆盖法路径测试法中国石油大学胜利学院黑盒测试与白盒测试比较
黑盒测试是从用户观点,按规格说明书要求的输入数据与输出数据的对应关系设计测试用例,是根据程序外部特征进行测试。
白盒测试是根据程序内部逻辑结构进行测试8.5黑盒测试和白盒测试中国石油大学胜利学院
黑盒测试与白盒测试优缺点比较
黑盒测试
白盒测试
优点缺点性质①适用于各阶段测试②从产品功能角度测试③容易入手生成测试数据①可构成测试数据使特定程序部分得到测试②有一定的充分性度量手段③可获较多工具支持①某些代码得不到测试②如果规格说明有误,则无法发现③不易进行充分性测试①不易生成测试数据(通常)②无法对未实现规格说明的部分进行测试③工作量大,通常只用于单元测试,有应用局限是一种确认技术,回答“我们在构造一个正确的系统吗?”是一种验证技术,回答“我们在正确地构造一个系统吗?”1、黑盒测试
(1)等价分类法(equivalencepartitioning)把输入数据的可能值划分为若干等价类如何划分等价类?有效等价类(合理等价类)无效等价类(不合理等价类)每一无效等价类至少需要一个测试用例
例子:某工厂公开招工,规定报名者年龄应在16周岁至35周岁之间(到2008年3月止)即出生年月不在上述范围内,将拒绝接受,并显示“年龄不合格”等出错信息。
8.5黑盒测试和白盒测试中国石油大学胜利学院第一步:等价类划分
“出生年月”的等价分类表输入数据有效等价类无效等价类出生年月①6位数字字符②有非数字字符③少于6个数字符④多于6个数字符对应数值⑤在197302—199203之间⑥<197302⑦>199203月份对应数值⑧在1—12之间⑨等于“0”
⑩>128.5黑盒测试和白盒测试中国石油大学胜利学院第二步:设计有效等价类测试用例:197511测试范围:
①
⑤⑧第三步:设计无效等价类测试用例:测试数据期望结果测试范围
MAY,75输入无效②19755 输入无效
③1978011输入无效
④195512 年龄不合格⑥199606 年龄不合格⑦198200 输入无效⑨197522 输入无效⑩8.5黑盒测试和白盒测试中国石油大学胜利学院(2)边界值分析法边界值分析法与等价类划分法区别(1)边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。(2)边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况被测试子域测试内点测试外点软件边界与悬崖很类似8.5黑盒测试和白盒测试中国石油大学胜利学院边界条件类型
如果软件测试问题包含确定的边界,那么数据类型可能是:数值字符位置数量速度地址尺寸……还要考虑数据类型的特征:第一个/最后一个最小值/最大值开始/完成空/满最慢/最快相邻/最远超过/在内……8.5黑盒测试和白盒测试中国石油大学胜利学院测试边界线测试临近边界的合法数据,以及刚超过边界的非法数据.越界测试通常简单地加1或很小的数
(对于最大值)和减1或很小的数(对于最小值).
8.5黑盒测试和白盒测试中国石油大学胜利学院输入条件出生年月1个数字字符5个数字字符7个数字字符有1个非数字字符全部是非数字字符6个数字字符显示出错显示出错显示出错显示出错显示出错输入有效对应数值月份范围“出生年月”边界值分析法测试用例测试用例说明测试数据期望结果选取理由51970519680052001.5MAY---200105月份为1月月份为12月月份<1月份>12197302199203197300197413197302199203197301199204输入有效输入有效显示出错显示出错输入有效输入有效显示出错显示出错在有效范围边界上选取数据仅有1个合法字符比有效长度少1比有效长度多1只有1个非法字符6个非法字符类型及长度均有效最小日期最大日期刚好小于最小日期刚好大于最大日期最小月份最大月份刚好小于最小月份刚好大于最大月份中国石油大学胜利学院1、黑盒测试(3)错误猜测法(errorguessing)
猜测被测程序在哪些地方容易出错
针对可能的薄弱环节来设计测试用例根据经验来设计测试用例的方法例如,数据测试中的:缺省值空白空值零值无
8.5黑盒测试和白盒测试中国石油大学胜利学院2、白盒测试
逻辑覆盖测试法(logiccoveragetesting)
用流程图来设计测试用例
逻辑覆盖测试的5种标准发现错误的能力
弱
强语句覆盖每条语句至少执行一次判定覆盖每一判定的每个分支至少执行一次条件覆盖每一判定中的每个条件,分别按“真”、“假”至少各执行一次判定/条件覆盖同时满足判定覆盖和条件覆盖的要求条件组合覆盖求出判定中所有条件的各种可能组合值,每一可能的条件组合至少执行一次8.5黑盒测试和白盒测试中国石油大学胜利学院例:PROCEDURESAMPAL(A,B:REAL;VARX:REAL);BEGINIF(A>1)AND(B=0)THENX:=X/AIF(A=2)OR(X>1)THENX:=X+1END;8.5黑盒测试和白盒测试中国石油大学胜利学院开始(A>1)AND(B=0)(A=2)OR(X>1)返回X=X/AX=X+1FFTTabdce(1)语句覆盖使程序中每个语句至少执行一次8.5黑盒测试和白盒测试中国石油大学胜利学院语句覆盖开始(A>1)AND(B=0)(A=2)OR(X>1)返回X=X/AX=X+1FFTTabdce(1)语句覆盖只需设计一个测试用例:输入数据:A=2,B=0,X=4即达到了语句覆盖;语句覆盖是最弱的逻辑覆盖8.5黑盒测试和白盒测试中国石油大学胜利学院(2)判定覆盖(分支覆盖)
使每个判定的真假分支都至少执行一次8.5黑盒测试和白盒测试中国石油大学胜利学院判定覆盖开始(A>1)AND(B=0)(A=2)OR(X>1)返回X=X/AX=X+1FFTTabdce(2)判定覆盖(分支覆盖)例:可设计两组测试用例:A=3,B=0,X=3可覆盖c、d分支
A=2,B=1,X=1可覆盖b、e分支两组测试用例可覆盖所有判定的真假分支语句覆盖仍是弱的逻辑覆盖8.5黑盒测试和白盒测试中国石油大学胜利学院(3)条件覆盖使每个判定的每个条件的可能取值至少执行一次8.5黑盒测试和白盒测试中国石油大学胜利学院第一判定表达式:设条件A>1
取真记为T1
假T1
条件B=1
取真记为T2
假T2第二判定表达式:设条件A=2
取真记为T3
假T3
条件X>1
取真记为T4
假T4条件覆盖开始(A>1)AND(B=0)(A=2)OR(X>1)返回X=X/AX=X+1FFTTabdce满足条件:T1,T1,T2,T2T3,T3T4,T4测试用例
通过满足的覆盖ABX
路径条件分支103abeT1,T2,T3,T4b,e211abeT1,T2,T3,T4b,e
两个测试用例覆盖了四个条件八种可能取值。未覆盖c、d分支,不满足判定覆盖的要求.条件覆盖不一定包含判定覆盖判定覆盖也不一定包含条件覆盖(4)判定/条件覆盖选取足够多的测试用例,使判断中的每个条件的所有可能取值至少执行一次,同时每个判断本身的所有可能判断结果至少执行一次.8.5黑盒测试和白盒测试中国石油大学胜利学院判定/条件覆盖开始(A>1)AND(B=0)(A=2)OR(X>1)返回X=X/AX=X+1FFTTabdce满足条件:T1,T1,T2,T2T3,T3T4,T4测试用例
通过满足的覆盖ABX
路径条件分支204aceT1,T2,T3,T4c,e211abdT1,T2,T3,T4b,d
能同时满足判定、条件两种覆盖标准。取值。测试用例
通过满足的覆盖ABX
路径条件分支203aceT1,T2,T3,T4c,e211abeT1,T2,T3,T4b,e103abeT1,T2,T3,T4b,e111abdT1,T2,T3,T4b,d
(5)条件组合覆盖
所有可能的条件取值组合至少执行一次
A>1,B=0A>1,B≠0A≯1,B=0A≯1,B≠0A=2,X>1A=2,X≯1A≠2,X>1A≠2,X≯18.5黑盒测试和白盒测试中国石油大学胜利学院测试用例
通过满足的覆盖ABX
路径条件分支204aceT1,T2,T3,T4c,e211abeT1,T2,T3,T4b,e102abdT1,T2,T3,T4b,d111abdT1,T2,T3,T4b,d
2、白盒测试
路径测试法(pathtesting)着眼于程序执行路径的测试方法
程序图(programgraph)
点覆盖边覆盖路径覆盖8.5黑盒测试和白盒测试中国石油大学胜利学院穷举测试
白盒测试例:含4个分支,循环次数≤20,从A到B的可能路径执行时间:设测试一次需2ms
穷举测试需5亿年.=5+5+..+5+5≈1020121914AB8.5黑盒测试和白盒测试中国石油大学胜利学院
不论黑盒还是白盒测试都不能进行穷尽测试,所以软件测试不可能发现程序中存在的所有错误,因此需精心设计测试方案,力争尽可能少的次数,测出尽可能多的错误.8.5黑盒测试和白盒测试中国石油大学胜利学院8.7多模块程序的测试策略1、测试的层次性
(步骤)单元(模块)测试(unittesting)综合(集成)测试(integrationtesting)确认测试(validationtesting)系统测试(systemtesting)中国石油大学胜利学院测试与开发前期工作的关系决定软件与系统的配合关系需求分析概要设计详细设计
编码单元测试集成测试确认测试系统测试2、单元测试目的
通过模块测试,使其代码达到模块说明书的需求
任务
(1)对模块代码进行编译,发现并纠正其语法错误;(2)进行静态分析,验证模块结构及其内部调用序列是否正确;(3)确定模块的测试策略,并据此设计一组测试用例和必要的测试软件;(4)用选定的测试用例对模块进行测试,直至满足测试终止标准为止;(5)编制单元测试报告。
8.7多模块程序的测试策略中国石油大学胜利学院2、单元测试实施步骤编译静态分析器检查代码评审动态测试测试驱动模块测试桩模块8.7多模块程序的测试策略中国石油大学胜利学院3、集成测试
目的将经过单元测试的模块逐步组装成具有良好一致性的完整的程序任务制订集成测试实施策略确定集成测试的实施步骤,设计测试用例逐一地添加模块,进行测试8.7多模块程序的测试策略中国石油大学胜利学院3、集成测试
策略与步骤
自顶向下测试
先广后深实施步骤
先深后广实施步骤
由底向上测试
混合方式测试(sandwichtesting)
对上层模块采取自顶向下测试
对关键模块或子系统采取由底向上测试
8.7多模块程序的测试策略中国石油大学胜利学院4、确认测试目的
确认组装好的程序是否满足(SRS)的要求任务有效性测试(黑盒测试)配置复审(confingurationreview)
验收测试—专用
alpha与beta测试—通用8.7多模块程序的测试策略中国石油大学胜利学院5
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年能源与资源行业新能源产业投资风险预警与防范策略
- 医疗与医药行业:生物制药行业发展趋势与市场分析报告
- 工业互联网网络运维 课件 任务2.1-1 工业电气符号
- 2024新版2025秋苏教版二年级数学上册教学课件:第1单元 2. 第2节 6的乘法口诀
- 2022-2023学年海南省澄迈县八年级下学期期末语文试题及答案
- XX矿体露天开采建设项目可行性研究报告
- 轻工业安全管理员考试题及答案
- 融资论文题目及答案
- 数电面试试题及答案解析
- 死结活结题目及答案
- 2025年公务员考试时事政治考试题库附完整答案详解(考点梳理)
- 2025年国家电网招聘电工类-本科、专科(官方)-第五章公共与行业知识历年参考试题库答案解析(5卷100道合辑-单选题)
- 黄冈市英山县城区社区招聘社区工作者考试真题2024
- 传媒公司劳动合同2025年
- 2025年设备人员 试题及答案
- 汽车经销商内部管理课件
- 济南露天烧烤管理办法
- 家长育儿教育课件
- 2025年安全管理人员考试试卷及答案
- 2025年内蒙古中考道德与法治真题解读及答案讲评(课件)
- 2025西藏山南旅游文化投资有限责任公司招聘15人笔试历年参考题库附带答案详解
评论
0/150
提交评论