下载

1下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 SoftwareTestingOverview3

SoftwareTestingOverview3.ppt

SoftwareTestingOverview3

恩你
2013-10-30 0人阅读 举报 0 0 暂无简介

简介:本文档为《SoftwareTestingOverview3ppt》,可适用于IT/计算机领域

第部分软件测试技术第部分软件测试技术本部分课程目标本部分课程目标测试技术的基本概念测试技术的使用技巧测试技术的应用范围软件测试技术的分类软件测试技术的分类静态黑盒测试动态黑盒测试静态白盒测试动态白盒测试静态与动态静态与动态静态只是检查和审阅动态运行和使用软件黑盒与白盒黑盒与白盒黑盒:软件测试人员只需知道软件要做什么即可无法看到盒子中是如何运行的。白盒:软件测试人员可以访问程序员的代码并通过检查代码来测试可以看到盒子里面。静态黑盒测试静态黑盒测试对产品说明书进行高级审查设身处地为用户着想研究现有的标准和规范审查和测试同类软件静态黑盒测试静态黑盒测试测试标准:、公司惯用语和约定、行业要求、国家标准、硬件和网络标准、图形用户界面(GUI)。产品描述属性检查清单产品描述属性检查清单完整准确精确一致合理代码无关可测试产品描述用语检查清单产品描述用语检查清单是否有绝对、肯定和切实认定的叙述针对其设计用例。比较模糊的用语。某些、有时·····功能清单是否有等等、诸如此类、依此类推无法测试的词汇。在性能上不确定的说法。隐藏大量需要说明的功能如果·····那么·····(没有否则)。产品说明案例分析产品说明案例分析◆国产电子软件的巅峰之作包含本权威词典、本专业词典最新收录原汁原味的美语英汉双解词典:《美国传统词典》◆强大的网络功能定时更新最新词库、词霸界面、随时下载功能插件◆国际顶尖的TTS语音全程技术彻底实现单词乃至整篇文章的流畅朗读◆新增“生词本”功能是您学习英语的好帮手智能的即指即译功能可在任意窗口下实现中英文对译。静态黑盒测试的小结静态黑盒测试的小结标准产品描述属性检查产品描述用语检查动态黑盒测试边界值分析动态黑盒测试边界值分析边界值测试的基本原理:错误更可能出现在输入变量的极值附近失效极少由两个(或多个)缺陷的同时发生引起的。Min、min+、nom、max和max。动态黑盒测试边界值测试动态黑盒测试边界值测试如果函数F实现了一个程序则输入两个变量x和x会有一些边界:a≤x≤bc≤x≤d区间a,b和c,d是x和x的值域。动态黑盒测试边界值分析动态黑盒测试边界值分析动态黑盒测试边界值分析动态黑盒测试边界值分析动态黑盒测试边界值分析动态黑盒测试边界值分析边界的数据类型可能是:数值速度字符地址位置尺寸数量动态黑盒测试边界值分析动态黑盒测试边界值分析边界值类型的描述:第一个最后一个最小值最大值开始完成超过在内空满最短最长最大最小最高最低相邻最远动态黑盒测试次边界值分析动态黑盒测试次边界值分析次边界条件:有些边界条件在软件内部最终用户几乎看不到但是软件测试仍有必要检查。这样的边界条件称为次边界条件或者内部边界条件。如的乘方和ASCⅡ。软件中的的乘方软件中的的乘方部分的ASCⅡ制表部分的ASCⅡ制表动态黑盒测试边界值分析动态黑盒测试边界值分析边界值分析的特点和局限性对于一个n变量函数边界值分析会产生n+个测试用例。边界值的取值取决于变量本身的性质。边界值分析对布尔变量没有什么意义。边界值分析假设变量是完全独立的。动态黑盒测试健壮性测试动态黑盒测试健壮性测试健壮性测试是边界值分析的一种简单扩展动态黑盒测试最坏情况测试动态黑盒测试最坏情况测试最坏情况测试用例动态黑盒测试健壮最坏情况测试动态黑盒测试健壮最坏情况测试健壮最坏情况测试用例动态黑盒测试练习动态黑盒测试练习、写出三角形问题的边界值分析测试用例、写出NextDate函数的最坏情况测试用例动态黑盒测试佣金问题的测试用例动态黑盒测试佣金问题的测试用例动态黑盒测试佣金问题的测试用例动态黑盒测试佣金问题的测试用例写出佣金问题的输出边界值分析测试用例动态黑盒测试佣金问题的测试用例动态黑盒测试佣金问题的测试用例动态黑盒测试佣金问题的测试用例动态黑盒测试佣金问题的测试用例边界值测试的小结边界值测试的小结这类测试方法是基于一种假设:输入的变量是真正独立的。这些方法的区别是:正常值与健壮值单缺陷与多缺陷。动态黑盒测试等价类测试动态黑盒测试等价类测试等价分配:是指分步骤地把过多(无限)的测试案例减小到同样有效的小范围的过程。等价类别或者等价区间是指测试相同目标或者暴露相同软件缺陷的一组测试。在寻找等价区间时想办法把软件的相似输入、输出、操作分成组。这些组是等价区间。动态黑盒测试等价类测试动态黑盒测试等价类测试弱一般等价类测试用例动态黑盒测试等价类测试动态黑盒测试等价类测试强一般等价类测试用例动态黑盒测试等价类测试动态黑盒测试等价类测试弱健壮等价类测试用例动态黑盒测试等价类测试动态黑盒测试等价类测试强健壮等价类测试用例动态黑盒测试等价类测试动态黑盒测试等价类测试写出三角形问题的输入等价类和输出等价类写出NextDate函数的输入等价类写出佣金问题的输入和输出等价类Windows文件名可以包含除了、:*?“〈〉。文件名长度是个字符。写出文件名创建测试用例。三角形问题弱强一般等价类测试用例三角形问题弱强一般等价类测试用例三角形问题弱健壮等价类测试用例三角形问题弱健壮等价类测试用例三角形问题强健壮等价类测试用例三角形问题强健壮等价类测试用例等价类测试的小结等价类测试的小结等价类测试的弱形式不如对应的强形式的测试全面。如果错误条件非常重要则进行健壮性的测试是合适的。如果输入数据以离散值区间和集合定义则等价类测试是合适的。在发现合适的等价类关系之前可能需要进行多次尝试。动态黑盒测试基于决策表的测试动态黑盒测试基于决策表的测试在所有功能测试方法中基于决策表的测试方法是最严格的因为决策表具有逻辑严格性。决策表很适合描述不同条件集合下采取行动的若干组合的情况。动态黑盒测试基于决策表的测试动态黑盒测试基于决策表的测试动态黑盒测试基于决策表的测试动态黑盒测试基于决策表的测试动态黑盒测试基于决策表的测试动态黑盒测试基于决策表的测试动态黑盒测试基于决策表的测试动态黑盒测试基于决策表的测试动态黑盒测试基于决策表的测试动态黑盒测试基于决策表的测试动态黑盒测试基于决策表的测试动态黑盒测试基于决策表的测试动态黑盒测试基于决策表的测试动态黑盒测试基于决策表的测试动态黑盒测试基于决策表的测试动态黑盒测试基于决策表的测试动态黑盒测试基于决策表的测试动态黑盒测试基于决策表的测试M={月份:每月有天}M={月份:每月有天}M={月份:此月是月}D={日期:≤日期≤}D={日期:日期=}D={日期:日期=}D={日期:日期=}Y={年:年是闰年}Y={年:年不是闰年}。动态黑盒测试基于决策表的测试动态黑盒测试基于决策表的测试动态黑盒测试基于决策表的测试动态黑盒测试基于决策表的测试M={月份:每月有天}M={月份:每月有天}M={月份:此月是月}D={日期:≤日期≤}D={日期:日期=}D={日期:日期=}D={日期:日期=}Y={年:年=}Y={年:年是闰年}Y={年:年是平年}。动态黑盒测试基于决策表的测试动态黑盒测试基于决策表的测试动态黑盒测试基于决策表的测试动态黑盒测试基于决策表的测试动态黑盒测试基于决策表的测试动态黑盒测试基于决策表的测试M={月份:每月有天}M={月份:每月有天月除外}M={月份:此月是月}M={月份:此月是月}D={日期:≤日期≤}D={日期:日期=}D={日期:日期=}D={日期:日期=}D={日期:日期=}Y={年:年是闰年}Y={年:年不是闰年}。动态黑盒测试基于决策表的测试动态黑盒测试基于决策表的测试动态黑盒测试基于决策表的测试动态黑盒测试基于决策表的测试动态黑盒测试基于决策表的测试动态黑盒测试基于决策表的测试动态黑盒测试基于决策表的测试动态黑盒测试基于决策表的测试动态黑盒测试基于决策表的测试动态黑盒测试基于决策表的测试写出NextDate函数的决策表测试用例基于决策表的测试的小结基于决策表的测试的小结决策表技术适用于具有以下特征的应用程序:Ifthenelse逻辑很突出输入变量之间存在逻辑关系。涉及输入变量子集的计算。输入与输出之间存在因果关系。很高的圈复杂度。迭代会有所帮助第一次不见得会成功。动态黑盒测试基于正交阵列动态黑盒测试基于正交阵列动态黑盒测试基于正交阵列动态黑盒测试基于正交阵列Web浏览器(Netscape、IE、Opera)插件(无、RealPlayer、MediaPlayer)应用服务器(IIS、Apache、NetscapeEnterprise)操作系统(Windows、WindowsNT、Linux)动态黑盒测试基于正交阵列动态黑盒测试基于正交阵列动态黑盒测试其他动态黑盒测试其他即席测试随机测试半随机测试探测性测试动态黑盒测试的小结动态黑盒测试的小结边界值分析法等价类测试决策表测试正交阵列测试随机类测试静态白盒测试静态白盒测试静态白盒测试是在不执行的条件下有条理地仔细审查软件设计、体系结构和代码从而找出软件缺陷的过程。好处:尽早发现软件缺陷。为黑盒测试员提供思路。静态白盒测试静态白盒测试审查是正式、严格、具有深度的技术评审以便尽可能准确地确定问题之所在。审查过程的目的:在软件开发过程中尽可能早地发现问题。确保对需要重做部分达成一致意见。验证任何重做部分满足预先定义的准则。静态白盒测试静态白盒测试一次审查一般需要人至人这些角色是:主审员:协调本次审查并主持讨论。责任人:负责被审查的产品。讲解员:在审查会上讲解被审查的产品。审查员:审查产品。记录员:记录在审查会议上讨论的问题。经理:责任人的管理者。静态白盒测试静态白盒测试选择要审查的代码模块的准则:对于正确操作产品起关键作用的模块。复杂度较高的模块与过去发生错误率较高的模块功能类似的模块。相对较新的或缺乏经验的软件程序师编写的模块。静态白盒测试静态白盒测试为什么要坚持编码标准和规范?可靠性。可读性维护性移植性静态白盒测试静态白盒测试大多数计算机语言和信息技术的国家和国际标准可以通过以下途径获得:国际工程协议(IEC):wwwiecorg国际标准化组织(ISO):wwwisoch信息技术标准国家委员会(NCITS):wwwncitsorg计算机械联合会(ACM):wwwacmorg电子电气工程学会(IEEE):wwwieeeorg静态白盒测试静态白盒测试通用代码审查清单数据引用错误数据声明错误计算错误比较错误控制流程错误子程序参数错误输入输出错误其他检查。静态白盒测试静态白盒测试数据引用错误是否引用了未初始化的变量?数组和字符串的下标是整数值吗?是否在应该使用常量的地方使用了变量?变量是否被赋予不同类型的值?为引用的指针分配内存了吗?一个数据结构是否在多个函数或者子程序中引用在每一个引用中明确定义结构了吗?静态白盒测试静态白盒测试数据声明错误所有变量都赋予正确的长度和类型了吗?变量是否在声明的同时进行了初始化?存在声明过、但从未引用或者只引用过一次的变量吗?在特定模块中所有变量都显示声明了吗?静态白盒测试静态白盒测试计算错误计算中是否使用了不同数据类型的变量?计算中是否了解和考虑到编译器对类型或长度不一致的变量的转换规则?在数值计算过程中是否可能出现溢出?除数模是否可能为零?变量的值是否超过有意义的范围?对于包含多个操作数的表达式求值的次序是否混乱运算优先级对吗?静态白盒测试静态白盒测试比较错误比较得正确吗?存在分数或者浮点值之间的比较吗?如果有精确问题会影响比较吗?每一个逻辑表达式都正确表达了吗?逻辑计算如期进行了吗?求值次序有疑问吗?逻辑表达式的操作是逻辑值吗?静态白盒测试静态白盒测试控制流程错误如果程序包含begin…end和do…while等语句组end是否对应?程序、模块、子程序和循环能否终止?可能存在永远不停的循环吗?循环可能从不执行吗?静态白盒测试静态白盒测试子程序参数错误子程序接受的参数类型和大小与调用代码发送的匹配吗?如果子程序有多个入口点引用的参数是否与当前入口点没有关联?常量是否当作形参传递意外在子程序中改动?静态白盒测试静态白盒测试输入输出错误软件是否严格遵守外部设备读写数据的专用格式?文件或者外部不存在或者未准备好的错误情况有处理吗?软件是否处理外部设备未连接、不可用或者读写过程中存储空间占满等情况?静态白盒测试静态白盒测试同行审查仅在编写代码的程序员和充当审查者的其他一两个程序员和测试员之间进行。保证审查的高效率注意审查的个关键要素:确定问题遵守规则审查准备编写报告。静态白盒测试的小结静态白盒测试的小结代码评审同行审查检查单动态白盒测试动态白盒测试动态白盒测试是指利用查看代码功能和实现方式得到的信息来确定哪些要测试哪些不要测试如何开展测试。动态白盒测试的另一个常用名称是结构测试因为软件测试员可以查看并使用代码的内部结构从而设计和执行测试。动态白盒测试路径测试动态白盒测试路径测试结构性测试方法的突出特点是它们都基于被测程序的源代码而不是基于定义。由于这种绝对化的基础结构性测试方法支持严格定义、数据分析和精确度量。动态白盒测试路径测试动态白盒测试路径测试动态白盒测试路径测试动态白盒测试路径测试动态白盒测试路径测试动态白盒测试路径测试动态白盒测试路径测试动态白盒测试路径测试定义DD路径是程序图中的一条链使得:情况:由一个节点组成内度=。情况:由一个节点组成外度=。情况:由一个节点组成内度≥或外度≥。情况:由一个节点组成内度=并且外度=。情况:长度≥的最大链。动态白盒测试路径测试动态白盒测试路径测试结构性测试覆盖指标结构性测试覆盖指标语句覆盖:选择足够的测试用例是程序中每个可执行语句至少执行一次判定覆盖(分枝覆盖):选择足够的测试用例使得程序中每个判定至少都获得一次“真”值和“假”值条件覆盖:设计若干测试用例执行被测程序后是每个判定中每个条件的可能值至少满足一次结构性测试覆盖指标结构性测试覆盖指标判定条件覆盖:判定条件覆盖要求设计足够的测试用例使得判定中的每个条件的所有可能(真假)至少出现一次并且每个判定本身的结果(真假)也至少出现一次条件组合覆盖:执行足够的测试用例使得每个判定中条件的各种可能组合都至少出现一次显然满足条件组合覆盖的测试用例一定满足“判定覆盖”、“条件覆盖”和“判定条件覆盖”路径覆盖:设计足够的测试用例要求覆盖程序中所有可能的路径语句覆盖语句覆盖PRINT“Helloyou”PRINT“Thedateis:”DatePRINT“Thetimeis:”TimeEND判断覆盖(分枝覆盖)判断覆盖(分枝覆盖)PRINT“Helloyou”IFDate=“”THENPRINT“HappyNewYear”ENDIFPRINT“Thedateis:”DatePRINT“Thetimeis:”TimeEND条件覆盖条件覆盖PRINT“Helloyou”IFDate=“”ANDTime=“::”THENPRINT“HappyNewYear”ENDIFPRINT“Thedateis:”DatePRINT“Thetimeis:”TimeEND动态白盒测试基路径测试动态白盒测试基路径测试动态白盒测试基路径测试动态白盒测试基路径测试动态白盒测试循环测试动态白盒测试循环测试简单循环其循环的最大次数为n测试:跳过整个循环只循环一次循环两次循环m次其中m<n分别循环n次n次n次动态白盒测试循环测试动态白盒测试循环测试串接循环如两个串接循环是独立的则可分别采用简单循环的测试方法测试不独立第一个循环计数器是第二个循环的初值则可采用嵌套循环方法进行测试动态白盒测试循环测试动态白盒测试循环测试嵌套循环如果嵌套循环也采用简单循环的办法此时会随嵌套层数成几何级数增加导致不可测Beizer提出一种减少测试级数的方法从最内层循环开始测试内层循环按简单循环策略所有外层循环次数设到最小数由内向外一次向上回退一次嵌套循环回退后进行测试本层循环的所有外层循环仍取最小值本层循环嵌套的循环取一次“典型”值继续向外回退直到所有循环测试完毕动态白盒测试循环测试动态白盒测试循环测试非结构循环按结构化程序设计思想首先将程序结构化再进行测试动态白盒测试数据流测试动态白盒测试数据流测试早期的数据流分析常常集中于现在叫做定义引用异常的缺陷:变量被定义但是从来没有使用。所使用的变量没有被定义。变量在使用之前被定义两次。动态白盒测试定义使用测试动态白盒测试定义使用测试定义节点n∈G(P)是变量v∈V的定义节点记做DEF(v,n),当且仅当变量v的值由对应节点n的语句片段处定义。动态白盒测试定义使用测试动态白盒测试定义使用测试定义节点n∈G(P)是变量v∈V的使用节点记做USE(v,n),当且仅当变量v的值由对应节点n的语句片段处使用。动态白盒测试定义使用测试动态白盒测试定义使用测试定义使用节点USE(v,n)是一个谓词使用(记做Puse),当且仅当语句n是谓词语句否则USE(vn)是计算使用(记做Cuse)。动态白盒测试定义使用测试动态白盒测试定义使用测试定义关于变量v的定义使用路径(记做dupath)是PATHS(P)中的路径使得对某个v∈V,存在定义和使用节点DEF(v,m)和USE(v,n),使得m和n是该路径的最初和最终节点。动态白盒测试定义使用测试动态白盒测试定义使用测试定义关于变量v的定义清除路径(记做dcpath),是具有最初和最终节点DEF(v,m)和USE(v,n)的PATHS(P)中的路径使得该路径中没有其他节点是v的定义节点。动态白盒测试定义使用测试动态白盒测试定义使用测试动态白盒测试定义使用测试动态白盒测试定义使用测试动态白盒测试定义使用测试动态白盒测试定义使用测试动态白盒测试定义使用测试动态白盒测试定义使用测试Stocks的定义使用路径Locks的定义使用路径Totallocks的定义使用路径sales的定义使用路径commission的定义使用路径动态白盒测试定义使用测试动态白盒测试定义使用测试T是拥有变量集合V的程序P的程序图G(P)中的一个路径集合。定义集合T满足程序P的全定义准则当且仅当所有变量v∈VT包含从v的每个定义节点到v的一个使用的定义清除路径。动态白盒测试定义使用测试动态白盒测试定义使用测试定义集合T满足程序P的全使用准则当且仅当所有变量v∈VT包含从v的每个定义节点到v的所有使用以及到所有USE(v,n)后续节点的定义清除路径。动态白盒测试定义使用测试动态白盒测试定义使用测试定义集合T满足程序P全谓词使用部分计算使用准则当且仅当所有变量v∈VT包含从v的每个定义节点到v的所有谓词使用的定义清除路径并且如果v的一个定义没有谓词使用则定义清除路径导致至少一个计算使用。动态白盒测试定义使用测试动态白盒测试定义使用测试定义集合T满足程序P全计算使用部分谓词使用准则当且仅当所有变量v∈VT包含从v的每个定义节点到v的所有计算使用的定义清除路径并且如果v的一个定义没有计算使用则定义清除路径导致至少一个谓词使用。动态白盒测试定义使用测试动态白盒测试定义使用测试定义集合T满足程序P的全定义使用路径准则当且仅当所有变量v∈VT包含从v的每个定义节点到v的所有使用以及到所有USE(v,n)后续节点的定义清除路径并且这些路径要么有一次的环经过要么没有环路。动态白盒测试定义使用测试动态白盒测试定义使用测试全路径全定义使用路径全使用全计算使用部分谓词使用全谓词使用部分计算使用全节点全边全谓词使用全定义动态白盒测试基于程序片的测试动态白盒测试基于程序片的测试程序片是确定或影响某个变量在程序某个点上的取值的一组程序语句。动态白盒测试基于程序片的测试动态白盒测试基于程序片的测试定义给定一个程序P和P中的一个变量集合V变量集合V在语句n上的一个片记做S(V,n),是P中对V中的变量值做出贡献的所有语句集合。动态白盒测试基于程序片的测试动态白盒测试基于程序片的测试定义给定一个程序P和一个给出语句及语句片段编号的程序图G(P)以及P中的一个变量集合V变量集合V在语句片段n上的一个片记做S(V,n),是P中在n以前对V中的变量值作出贡献的所有语句片段编号的集合。动态白盒测试基于程序片的测试动态白盒测试基于程序片的测试五种形式的使用谓词使用用在谓词(判断)中。计算使用用在计算中。输出使用用于输出。定位使用用于定位(指针、下标)。迭代使用迭代(内部计数器、循环指示)。动态白盒测试基于程序片的测试动态白盒测试基于程序片的测试标识两种定义节点:输入定义通过输入定义赋值定义通过赋值定义动态白盒测试基于程序片的测试动态白盒测试基于程序片的测试写出Stocks、locks、barrels的片写出totalStocks、totallocks、totalbarrels的片写出sales、commission的片Sale与commission上的格Sale与commission上的格小结小结静态黑盒测试是指检查产品描述并在投入软件编写之前查找问题。动态黑盒测试是指在不了解软件如何工作的前提下进行测试。静态白盒测试是指通过正式审查和检验检查代码的细节。动态白盒测试是指在看到软件的工作方式时根据获得的信息对软件进行测试。

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/124

SoftwareTestingOverview3

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利