第3讲 白盒测试.pdf
上传人:yy****24 上传时间:2024-09-10 格式:PDF 页数:38 大小:2.6MB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

第3讲 白盒测试.pdf

第3讲白盒测试.pdf

预览

免费试读已结束,剩余 28 页请下载文档后查看

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

回顾软件测试是由“验证(Verification)”和“有效性确认(Validation)”活动构成的整体n 验证n 是检验软件是否已正确地实现了产品规格书所定义的系统功能和特性n 有效性确认n 是确认所开发的软件是否满足用户真正需求的活动。回顾1. 客户需求-CustomerRequirements2. 市场需求文档-MRD(MarketingRequirementDocument)3. 软件规格说明书-Specifications4. 技术设计文档–TechnicalDesignDocs5. 测试文档TestDocuments6. 在线帮助-Onlinehelp7. 产品发布注释-ReleaseNotes/ReadMe8. 产品软件包-Releasepackages回顾n 至少满足以下5个规则之一才称为软件缺陷:n 软件未实现产品说明书要求的功能n 软件出现了产品说明书指明不应出现的错误n 软件实现了产品说明书未提到的功能n 软件未实现产品说明书虽未明确提及但应该实现的目标n 软件难以理解、不易使用、运行缓慢或者从测试员的角度看最终用户会认为不好回顾在真正的程序测试之前,通过审查、评审会可以发现更多的缺陷。规格说明书的缺陷会在需求分析审查、设计、编码、测试等过程中会逐步发现,而不能在需求分析一个阶段发现回顾测试阶段或层次验收测试系统测试集成测试单元测试方法功能测试强壮性测试白盒测试黑盒测试性能测试适用性测试安全性测试可靠性测试目标/特性软件测试方法和技术第2版第2讲白盒测试陈君f1chencq@gmail.com方法论和具体方法!p 在测试中有许多对立统一体p 白盒测试和黑盒测试p 静态测试和动态测试p 自动化测试和手工测试p 软件测试的方法论来源于软件工程的方法论p 有面向对象的开发方法,就有面向对象的测试方法p 有敏捷方法,就有和敏捷方法对应的测试方法黑盒子和白盒子!客户需求结构测试逻辑驱动测试输出输入事件驱动功能测试数据驱动测试白盒测试的方法1语句覆盖2判定覆盖3条件覆盖4判定条件覆盖5条件组合覆盖6路径覆盖7基本路径测试法白盒测试方法n 逻辑覆盖n 以程序的内部逻辑结构为基础n 分为语句覆盖、判定覆盖、判定-条件覆盖、条件组合覆盖等n 基本路径测试n 在程序控制流程的基础上,分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例代码示例inta,b;doublec;if(a>0&&b>0)c=c/a;if(a>1||c>1)c=c+1;c=b+c;程序流程图12MK34NJ5P1语句覆盖p 基本思想p 设计若干测试用例,运行被测程序p 使程序中的每个可执行语句至少被执行一次p 如果是顺序结构,就是让测试从头执行到尾p 如果有分支、条件和循环p 需要相应的方法,执行足够的测试覆盖全部语句2判定覆盖p 基本思想p 设计若干用例,运行被测程序p 使得程序中每个判断的取真分支和取假分支至少经历一次p 判定覆盖也被称为分支覆盖p 一个判定往往代表着程序的一个分支分支测试(示例)voidsumm(intmaxint,intn){intresult=0,i=0;if(n<0)n=-n;while(i<n&&result<=maxint){i++;result=result+i;}if(result<=maxint)cout<<result<<endl;elsecout<<"超限"<<endl;}分支测试(示例)startresult=0i=0测试覆盖全部语句:Nn<<00yesn=-n;maxintnno10-1(n>=0)i++;0-1result=result+I;(i<n)yes但没有覆盖所有分支;&&(result<=maxint)noyesresult<=maxintnocoutcoutexit分支测试(示例)startresult=0i=0yesNn<<00n=-n;用例采取:nomaxintNi++;103result=result+I;0-1(i<n)yes&&(result<=maxint)则覆盖全部分支n