ch52白盒测试课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《ch52白盒测试课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ch52 测试 课件
- 资源描述:
-
1、概览n在本章中,我们将学习:结构性白盒测试概述 程序结构分析 逻辑覆盖 结构性测试案例 课程目录n结构测试结构测试概述概述 n程序结构分析 n逻辑覆盖 n结构测试案例分析n结构测试工具结构性测试(1)n程序实现是已知的,是测试人员能够根据功能实际实现的方式来标识测试用例,又称“白盒测试”、“透明盒测试”。结构性测试(2)方法A覆盖的区域比方法B覆盖的区域大,但两种方法的覆盖区域只能在程序实现部分功能性测试与结构性测试比较n单独使用都有其局限性;n最好的方法:结合两种方法。功能性测试功能性测试结构性测试结构性测试只利用规格说明标识测试用例只利用程序源代码标识测试用例如果程序实现了未描述的行为,功
2、能测试无法意识到。如果已描述的行为未能实现,结构性测试无法意识到。冗余度大,可能会有漏洞具有覆盖率指标结构测试定义 n把测试对象看做一个透明的盒子n白盒测试是根据被测程序的内部结构设计测试用例并完成测试的一种测试方法n白盒测试或逻辑驱动测试n基于一个应用代码的内部逻辑知识,测试覆盖全部代码、分支、路径和条件结构测试特点n可以构成测试数据使特定程序部分得到测试n有一定的充分性度量手段n可获得较多工具支持n通常只用于单元测试结构测试的方法静态测试方法:n程序结构分析代码走查代码审查控制流分析数据流分析信息流分析动态测试方法:n逻辑覆盖语句覆盖分支覆盖条件覆盖分支-条件覆盖路径覆盖代码覆盖率n采用白
3、盒法进行测试时,考虑的是测试用例对程序内部逻辑的覆盖程度n最彻底的白盒法是覆盖程序中的每一条路径,但这往往无法实现n采用其它一些标准来量度覆盖的程度,并希望覆盖程度尽可能高些课程目录n结构测试概述 n程序结构分析程序结构分析 n逻辑覆盖 n结构测试案例分析n结构测试工具使用静态测试静态测试包括代码审查和代码走查,此方法是软件测试的有效手段静态测试技术特点n是指无须执行被测代码,而是借助专用的软件测试工具评审软件文档或程序,度量程序静态复杂度,检查软件是否符合编程标准,借以发现编写的程序的不足之处,减少错误出现的概率。静态测试在主机上完成,不需目标系统支持,测试的主要内容有编程标准验证、数据流分
4、析技术、质量度量信息、代码结构可视化显示、测试外壳的创建。由此看出,静态测试只是对代码进行扫描分析,检测它的语法规则复杂度等是否符合要求,主要是为软件的质量保证提供依据,以提高软件的可靠性和易维护性n静态测试可以手工、自动;静态测试技术特点n静态测试不必动态地执行程序,也就不必要进行测试用例设计和结果判读等工作;n静态测试可以由人工进行,充分发挥人的逻辑思维优势。n静态测试试是不需要特别条件,容易开展。桌面检查n桌面检查由程序员阅读自己所编的程序。n存在一下问题:心理上的原因,没有发现错误的欲望;人存在思维定势;如果对功能理解错误,不容易纠正;n相当于调试程序。代码走查与代码审查nCode I
5、nspection&Walkthrough:是由若干程序员与测试员组成一个小组,集体阅读并讨论程序或者用“脑”执行并检查程序的过程。n分两步走:预先做准备工作;举行会议并讨论;代码走查与代码审查的优点n避免了桌面检查的问题;n一旦发现错误,就可以定位错误的位置和性质,调试所需要化的代价低;n一次能够揭示一批错误,而不是一个错误;n避免了动态调试的一些问题;代码走查与代码审查的优势n能够有效地发现30%70%的逻辑设计和编码错误;nIBM统计使用代码审查的方法,错误的检测效率高达全部查处错误的80%nMyers的研究发现代码审查和代码走查平均查处全部错误的38%。n研究表明:使用代码走查与代码审
6、查发现某类错误比用计算机测试更有效,而对另一类错误情况正好相反。n代码走查与代码审查与计算机测试是相互补充的,缺少任何一种方法都会使错误的检测率损失。代码审查n代码审查测试内容包括:检查代码和设计的一致性;检查代码对标准的遵循、可读性;检查代码的逻辑表达的正确性;检查代码结构的合理性;n代码审查是由一组程序和错误检查技术组成,并且以代码审查组的方式进行。代码审查组n代码审查组由4个人组成,1个组长,组长的条件:称职的程序员;但不是被测程序的编写者;不需要对所检查的程序很熟悉;要有较强的组织协调能力和语言能力;n组长的职责:分配资料;安排计划;主持会议;纪录并保存被发现的错误;代码审查组n其余成
7、员:资深的程序员程序编写者;专职测试人员;代码审查过程n准备:组长将程序目录和设计说明书分发给小组成员。成员熟悉材料;被测试程序的设计和编码人员想审查组详细说明所准备的材料;特别是代码的功能和功能间的关系;n程序阅读:审查组人员仔细阅读代码和相关资料,对照代码审查单标出明显的缺陷及错误。代码审查过程n跟踪及报告:会后将发现的错误登记报表并交给程序开发人员;如果发现错误较多或发现重大错误,在改正后,组长要再次组织审查会议;n审查会议要限制在1.5小时2小时以内。n审查过程所需要的主要技术是代码审查单,通常将程序设计及编码中可能发生的各类错误分类,对没一类尽可能多地列举出典型错误。发现新的错误及时
8、补充道代码审查表中。代码审查单的示例n数据引用错误是否引用了未赋值或未初始化的变量?所有的数组引用,其下标值是否在各自的相应的维数定义界内?所有的数组引用,下标是否整数值?所有引用的指针或变量是否已经分配了内存?在检索操作或用下标引用数组时,是否存在“差1”错误?代码审查单的示例n数据说明错误所有变量是否都显式地说明了?是否每个变量都赋与正常的长度、类型和存储分类?变量的初始化和她的存储类是否无矛盾?n计算错误:是否使用过非一致数据类型的变量进行运算?是否存在混合运算?赋值语句的目标变量是否比其右边的表达式小?代码审查单的示例n代码审查还包括编程风格、标准、规范的符合性方面的内容。n在错误登记
9、表中应标明所查处的错误类型、错误类别、错误的严重程度、错误的原因等。nMyers将错误分为8类:数据引用错误;数据说明错误;计算错误;比较错误;控制流错误;界面错误;输入/输出错误;其他错误;有效地阅读程序n仔细阅读需求、设计等文档,了解软件的整体物理意义、应用背景、在大系统中的地位。n阅读结构化代码:追踪通过每个子程序的主要逻辑行,然后开始跟踪第二条路径,相当于深度优先;按排列顺序跟踪代码,相当于广度优先;代码走查n代码走查就是在项目实施的过程中,在每一个模块单元编程结束,程序员对自己编写的代码测试完毕后,由另外一位程序员(一般情况下为同一项目组)对该程序员的代码和运行程序进行代码走查和运行
10、功能的检查。代码走查的目的n规范代码的编写;n提高代码的稳定性与效率;n增进其他程序员对本模块的了解;n提高程序员的编程水平;检查内容 n程序代码是否符合公司和项目组的编程规范,程序的注释是否便于理解,命名是否清晰、合理、明确;n运行代码如果有界面,其界面规格是否符合项目组制定的统一界面风格;n对用户的提示信息是否简单,清晰,准确;n代码走查人员必须能够看懂代码及代码编写人的思路。n程序所判断的路径是不是永远也走不到的路径;n循环中的死循环;n需要预先预留空间的数据容器(如:一般的数组在初始化时就已经分配了足够的空间,即使用不了,它所占用的空间也不能用做它用);n一些需要关闭的对象(如:文件处
11、理中的流,数据库处理中的连接);n对象编程中的类,方法和变量的保护属性(public,protected,private);n程序中的无用代码最好删除;进入系统实现阶段项目经理指定模块编程人员及代码走查人员编程人员模块实现编程人员模块实现编程人员单元测试编程人员测试完成后,书写代码走查申请单,提交项目经理。A项目经理或其委派人员书写单元测试报告项目经理委派代码走查人员开始代码走查,编程人员予以配合。代码走查完毕后,代码走查人员书写代码走查报告单,提交项目经理。项目经理检查项目经理对代码走查中发现的问题安排编程人员予以改正进入下一阶段A代码走查步骤n本模块编写人在本模块的功能测试完成并优化代码后
12、,向项目经理提供本模块所涉及到的所有代码的清单,填写代码走查申请单,并向项目经理申请做本模块的代码走查;n项目经理指派人员进行某模块的代码走查,走查过程中遇到问题时应该和编写人协商解决,走查结束后,代码走查人员应进一步对本模块进行功能测试,完成后提交项目经理并说明走查的情况,填写代码走查报告单;n项目经理对代码走查和模块功能做20%的抽查;n提交单元测试报告,向测试组申请功能测试或系统测试。代码走查报告单项目名称:项目名称:XXXXXX模块名称:模块名称:XXXXXX走查人:走查人:XXX提交日期:提交日期:XXXXXX 代码列表代码列表:编号:应该和“代码走查申请单”中的对应部分的编号相一致
展开阅读全文