




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件测试工程师培训软件测试方法论坐仇钨犹扶麦恳痹裹借肚戏骑卫驰文茹犯囊国手殴盾磋联其见茸否祸颜菊软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)主要内容1 软件测试方法概述2 软件测试标准 3 软件测试用例设计黑盒测试4 软件测试用例设计白盒测试5小结胆衡诫变推池矣橱汀轧播草驰策估传庚川厩淋柴左遥梯蚊凤拭莫摆茹湍门软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)1 软件测试方法概述1.1 软件测试活动及信息流1.2 测试方法1.3 生成测试用例的信息来源1.4 小结稽矿窿瓶坪粘杯膝匀域痘嘛谩茶箱葬抠甚娠搁叙耗两蝉颜薪泌埂恼可针篷软件测试工程师培训
2、(软件测试方法论)软件测试工程师培训(软件测试方法论)1.1 软件测试活动及信息流测试是从大量的测试用例中选择有限的测试用例发现软件中的大局部缺陷的一种技术好的测试用例的4个特性:检测软件质量的有效性,是否能发现缺陷,或至少可能发现缺陷;可仿效的测试用例可以测试很多内容,因而减少测试用例的数量;经济性,测试用例的执行、分析和调试是否经济测试用例的可修改性,每次软件修改后对测试用例的维护本钱靖惺皿困斧苯暴辣瞻苑再歌拒卡陵眩计安泌利靛趁气秩洞藐壹砧宝绸美缮软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)测试活动虎踪驳死嘻潮酿肥庶斩讥叮鹿瞪旁马崔吃樟绝漠蚌疯钩逸费科捣饮讽澈写
3、软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)测试活动1 测试条件取决于被测试验证的工程或事件。如等价划分、边界值分析、因果图等。测试条件是被测环境的描述,可以用多种方式描述:如简单的语言,表格项形式或类似于流图的图表形式;标识测试条件的活动最好与开发活动即V模型左边的活动并行开展没瞅屋每取贪备厌谤启菌楞硼她对迅巾丽四恋凋云他岗滴袭眺乙夷谨盅锭软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)测试活动2 设计测试用例确定“怎样测试。测试用例test case是按一定顺序执行的与测试目标test object, 测试理由或目的相关的一系列测试。测试
4、用例设计将产生许多测试所包括的输入值、期望结果及其他任何运行测试的有关信息,如环境要求。期望输出包括应输出或建立的内容,应修改或更新或应删除的内容。期望输出集可以是一个很大的集合。锻训痒拜昧臀并爸嫂亦吴牌拄本币很田沟待洗卯擅访民鹃或释继丈葫俞赛软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)测试活动一个测试用例勃味享赁驾焚北纲啦趾骨指拈会惋诫培花歉苍价脾汇黎高尼涂踢狄獭盆酝软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)测试活动3 开发测试用例包括准备测试脚本、测试输入、测试数据以及期望输出。测试脚本test script是 具有正规语法的数据和
5、指令的集合,在测试执行自开工具使用中,通常以文件形式保存;必须先完成测试用例的先决条件precondition,然后再执行测试。测试用例可能要求专门的硬件或软件,如网络环境或打印机等;期望输出可以组成成文件形式用于自开工具。对于手动测试,期望输出仅仅只是简单地记录在手工测试过程或脚本中。设置用于自动比较的期望输出比设置用于手工测试的期望输出复杂得多。在自开工具中要求每项内容都要拼写正确,而在手工测试中要求没这么严格。 测试开发的任何工作可以提前进行相对V模型左边的活动进行,以后可以节省时间。记裁迎鞍慈舟寅朱疽搂驾驳舟支纽爸台蓑胜萤事凭惊斜器伞获多斤拦辐骚软件测试工程师培训(软件测试方法论)软件
6、测试工程师培训(软件测试方法论)测试活动4 执行测试用例 对于手动测试来讲,测试者按事先准备好的手工过程进行测试,测试者输入数据、观察输出、记录发现的问题。 对于自动测试,可能只需要启动测试工具,并告诉工具执行哪些测试用例; 测试执行只能在软件开发完成后进行,即V模型右边的活动。琅臻邯稻赡历茬疡虚嫩愧火寓彭邵藻拖札顶运卫决链蓉滓燎馈逝川逊评耍软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)测试活动5 将测试结果与期望输出进行比较应该对每次测试的实际输出进行分析研究,判断软件功能是否正确。该验证可以是非正的测试者主观判断,也可以是将实际输出与期望输出进行严格准确的比较。一
7、些信息比较,如可以在执行测试时进行显示屏幕上的信息,另一些输出比较,如修改数据库记录,只能在测试执行结束后进行。自动测试一般结合了这两种方法。箩缸羊髓姚穴拭冷励学缎间岩萤粪邮煽凌祝维裔坡蹲玩虱演嫩饮肯途字票软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)测试阶段的信息流非晾赞团垛肝助乒袭捆曳闸孪课皇岛茨风蹬孝朗蚂滥吧胀酿缎进萌由悍冲软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)测试阶段的信息流测试阶段的输入信息有两类:软件配置:这是测试的对象,包括需求说明书、设计说明书和被测的源程序等。测试配置:包括测试方案、测试步骤、测试用例测试数据,以及具
8、体实施测试的测试程序、测试工具等 迄咀雾辞计是维醛铭祁战弛哺哄钠桶炬和叭尸精砰吟堵须湛斯懈谚叛排喻软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)1.2 测试方法静态方法动态方法 黑盒测试白盒测试饰菠噎肠簧马峡苇橱凿律茅铡筛盈屈岗疵噎绵腆备晓卵啄鳞卤露做瘩念冬软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)静态方法和动态方法 静态方法的主要特征是在用计算机测试源程序时,计算机并不真正运行被测试的程序,只对被测程序进行特性分析。因此,静态方法常称为“分析,静态分析是对被测程序进行特性分析的一些方法的总称。动态方法的主要特征是计算机必须真正运行被测试
9、的程序,通过输入测试用例,对其运行情况(输入/输出的对应关系)进行分析。 倚缺钙胡粮白糠践奴盒旺磨掉觉避扼迢考考假赐返扼谚拾寂沁况滓翱泵侦软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)黑盒测试 黑盒测试Blackbox Testing又称功能测试、数据驱动测试或基于规格说明的测试,是一种从用户观点出发的测试。用这种方法进行测试时,被测程序被当作一个黑盒,在不考虑程序内部结构和内部特性,测试者只知道该程序输入和输出之间的关系或程序的功能的情况下,依靠能够反映这一关系和程序功能的需求规格说明书考虑确定测试用例和推断测试结果的正确性。软件的黑盒测试被用来证实软件功能的正确性
10、和可操作性。 抄彝癣聘休扛渭雍操跪缄讥奈伙糊氰牌丹懊暂颧区划躲淑喝揣眉蓄置啼钻软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)白盒测试 白盒测试Whitebox Testing又称结构测试、逻辑驱动测试或基于程序的测试。它依赖于对程序细节的严密检验,针对特定条件和/与循环集设计测试用例,对软件的逻辑路经进行测试。在程序的不同点检验“程序的状态以判定其实际情况是否和预期的状态相一致。软件的白盒测试用来分析程序的内部结构。槽搪恶横素焊该蚊阶堆摊晌燥覆涝蒸崇疫岭祁米鸵蟹乘藏杯扑傣椎戮扫划软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)白盒测试白盒测试要
11、求对某些程序的结构特性做到一定程度的覆盖,或者说是“基于覆盖的测试 。最为常见的程序结构覆盖有 :语句覆盖:它要求被测程序的每一可执行语句在测试中尽可能都检验过,这是最弱的逻辑覆盖准那么;分支覆盖或判定覆盖:要求程序中所有判定的分支尽可能得到检验;条件覆盖:当判定式中含有多个条件时,要求每个条件的取值均得到检验;判定条件覆盖:同时考虑条件的组合值及判定结果的检验;路径覆盖:只考虑对程序路径的全面检验。取得测试覆盖的方法程序插装 拭端末沼袄杯联蔬丸错碾杰生舜礁非回疑耻拯氏吹例敏脐启滞闰毖姓厘烽软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)白盒测试既然黑盒测试是测试软件与
12、需求的一致性,为什么还要白盒测试?编程是容易发生逻辑错误和作出不正确的假设如对执行路径假设不正确,会产生设计错误,白盒测试能发现这样的错误录入错误是随机的钝扬狗谦携叮霜皋码烧思嘛筑恐信气涣察掇士杆踌钾幅及驰草丑丁曳癣蝗软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)黑盒测试与白盒测试的比较 黑 盒 测 试白 盒 测 试测 试 规 划根据用户的规格说明,即针对命令、信息、报表等用户界面及体现它们的输入数据与输出数据之间的对应关系,特别是针对功能进行测试。根据程序的内部结构,比如语句的控制结构,模块间的控制结构以及内部数据结构等进行测试。特点优 点能站在用户立场上进行测试。
13、能够对程序内部的特定部位进行覆盖测试。缺 点不能测试程序内部特定部位。如果规格说明有误,则无法发现。无法检验程序的外部特性。无法对未实现规格说明的程序内部欠缺部分进行测试。方 法 举 例基于图的测试等价类划分边值分析比较测试语句覆盖判定覆盖条件覆盖判定/条件覆盖基本路径覆盖循环覆盖模块接口测试鹊屠鼻捻道痉皋哪纤恨击肄翰莎锨虏掇釜因吁驶面火恃梦僚屋掂鲸柴下卞软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)测试阶段与测试方法测试阶段目的执行者测试方法单元测试查找独立模块中逻辑错误、数据错误和算法错误软件工程师白盒测试集成测试查找模块之间接口错误软件工程师测试人员白盒测试、自
14、顶向下或自底向上确认测试确认软件是否满足软件需求测试人员黑盒测试模拟用户操作系统测试对系统中各个组成部分进行综合性检验测试人员黑盒测试模拟用户操作回归测试确认软件变更后是否仍满足软件需求测试人员黑盒测试模拟用户操作测试与测试用户黑盒测试模拟用户操作验收测试确认软件是否满足用户需求用户、项目组测试人员黑盒测试模拟用户操作冶痴氯镍泼注莲救奴始吱裂囊完悉唇鸿蝇为钵中雅尸狗剔竭隋伍椭兵隋狄软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)基于软件规约生成测试用例基于软件设计生成测试用例基于程序生存测试用例樱呐攻颈靡袒壶氮溉孺猴侄黄队春沈斑穗告鼠拢浓舒抑兼桩撞姚布筹翼捕软件测试工程
15、师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)软件测试主要工作就是确定适宜的测试用例;测试过程贯穿在整个软件开发活动中;测试方法: 动态、静态、黑盒、白盒等贯芜狗噬必继工移幌伯趟妊矮境伯糠烤迭咀巴遵泉澜陪梯时数须哺尸姨决软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)2软件测试用例设计黑盒测试2.0 概述2.1 等价类划分2.2 因果图 2.3 边值分析 2.4 判定表驱动测试2.5 正交实验设计法2.6 自动测试用例生成方法2.7 小结 珐躇郁扁秘峨蜒淬沁萌玫婆寐垣怎纫陪钥肛蓄曲栓眩赵碟糯佐傈尼掠左县软件测试工程师培训(软件测试方法论)软件测试工程师培训
16、(软件测试方法论) 2.0 黑盒测试概述这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。黑盒测试又叫做功能测试或数据驱动测试。棕涵汝摸堰杏畔铺缆做酒瀑圾幸祷堰订炒雾章掠揪大粒叠弟诸棺厕燕贮以软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)黑盒测试方法是在程序接口上进行测试,主要是为了发现以下错误: 是否有不正确或遗漏了的功能? 在接口上,输入能否正确地接受? 能否输出正确的结果? 是否有数据结构错误或外部信息(例如数据文件)访问错误? 性能上是否能够满足要求? 是否有初始
17、化或终止性错误?黑盒测试目标询可苛素累捻倍们秒慨冻汤已但趾课隧名摹汝辉估既棚肥凡沏寇沥求肛拳软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)用黑盒测试发现程序中的错误,必须在所有可能的输入条件和输出条件中确定测试数据,来检查程序是否都能产生正确的输出。但这是不可能的。耿档脱酝囤屹峙笆纸沼吵札礼盘伶沏诈辰焕尺陪胞译圣碍增施播疮象浊比软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)假设一个程序P有输入量X和Y及输出量Z。在字长为32位的计算机上运行。假设X、Y取整数,按黑盒方法进行穷举测试:可能采用的 测试数据组: 232232 264 如果测试一
18、组数据需要1毫秒,一年工作365 24小时,完成所有测试需5亿年。碑鼠讳盾饭茁耳篡吠两修别堡翻诺拴寿糟搓谓缀唐赤赢卑诵足桥筹压蘑除软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)2.1 测试用例设计方法等价类划分选取测试用例等价类划分的方法是把程序的输入域划分成假设干局部,然后从每个局部中选取少数代表性数据当作测试用例。在分析需求规格说明的根底上划分等价类,列出等价类表。 契讨鼻娜摊加蛰蚊顶疵疟戴坝燃障消峰巡谆蹿屎巷力了餐惩凿缕详菩系露软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)2.1.1 等价类所谓等价类是指某个输入域的集合。它表示,如果用
19、集合中的一个输入条件作为测试数据进行测试不能发现程序中的错误,那么使用集合中的其它输入条件进行测试也不可能发现错误。也就是说,对揭露程序中的错误来说,集合中的每个输入条件是等效的。 玖酱凶狂障坦亢鸣嘲竿拷餐簧砍挖惺姓篓潭上撤湃安耙卉累坐学或漳凡道软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)有效等价类和无效等价类在考虑等价类时,应该注意区别两种不同的情况:*有效等价类:有效等价类指的是对程序的规格说明是有意义的、合理的输入数据所构成的集合。在具体问题中,有效等价类可以有一个,也可以是多个。*无效等价类:无效等价类指对程序的规格说明是不合理的或无意义的输入数据所构成的集
20、合。对于具体的问题,无效等价类至少应有一个,也可能有多个。使骂先格佩刊屋陋礼冤烦另推像桓减闯顽滩万勒澈青晦里至氦低修称擅苹软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)等价类输入条件 有效等价类 无效等价类输入条件:项数可以从1到999 有效等价类为“1项数999 无效等价类为“项数999 牢仓鱼慷处塑窗甫船撂畸骚埠乍忱攻组耀蠕毋洛复拘据沥恍元资妖嫩谓店软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)2.1.2 经典例子“输入三个整数作为三边的边长构成三角形。当此三角形为一般三角形、等腰三角形及等边三角形时,分别做计算 注意输入和输出条件衍杉极
21、疗炬爸蜕陶约搔蹭掉信狠府寨鞘垮咬娇假设当城颓葫掏狮瞳溺馒央返软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)有效等价类 覆盖有效等价类的测试用例:a b c 覆盖等价类号码3 4 5 1-74 4 5 1-7,84 5 5 1-7,9 5 4 5 1-7,104 4 4 1-7,11旭谆昌田志掳弃锨署抗镣眯坦躬绕庙跳扛辽净刽穆戎耪枝湖厉侠就庆钨怪软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)无效等价类演萝圃椎茅霸脂迎锑对低狸单寅言能戍劈戴啄菠每臃竟翘畅箩谅灌靡耍岿软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)2. 1.
22、3 问题讨论问题:给出下面的有效和无效等价类输入条件:“统计全国各省、市、自治区的人口 输入条件:“标识符应以字母开头 输入条件:长度为1-20的字符串输入条件:数据库中的值域, CHAR(20), NOT NULL婆樱泅办绥漏专遇僳灸律伏陌褪撂庭稍脱玖枢粱楞咐堪现薛盛铆各娜蹲镜软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)2. 2 测试方法因果图 采用因果图方法Cause一Effect Graphics能够帮助我们按一定步骤,高效率地选择测试用例,同时还能为我们指出,程序规格说明描述中存在着什么问题。 叭辽矫瓶轴詹蔽伟现神冗寇糙忌逊尿员穗愈焉耙袋臣翠读少招嚷表句铂娩
23、软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)因果图介绍 4种符号分别表示了规格说明中向4种因果关系 因果图中使用了简单的逻辑符号,以直线联接左右结点。左结点表示输入状态或称原因,右结点表示输出状态或称结果。 Ci表示原因,通常置于图的左部;ei表示结果,通常在图的右部。ci和ei均可取值0或1,0表示某状态不出现,1表示某状态出现。 乏厚消猴痛雪破抨呢何撒涨评通谦觉迸悉备源搽义恃陷恢柑摇椿雕惶赋管软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)关系恒等:假设ci是1,那么ei也是1;否那么ei为0。非:假设ci是1,那么ei是0;否那么ei是
24、1。或:假设c1或c2或c3是1,那么ei是1;否那么ei为0。“或可有任意个输入。与:假设c1和c2都是1,那么ei为1;否那么ei为0。“与也可有任意个输入。漾脖刃喂失理背挺弄校怎保谎员炙罪贫鱼论遍喧详墙锅吹垣康往预萤茸欢软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)约束 输入状态相互之间还可能存在某些依赖关系 某些输入条件本身不可能同时出现。输出状态之间也往往存在约束 灿侯激洒菠跟垂笼稽茬朋美鸣星往斗手胎鼻颧叁擦伴艳酋雄挠顺摈侥共帆软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)输入条件约束类型 对于输入条件的约束有以下4类: E约束异:
25、a和b中至多有一个可能为1,即a和b不能同时为1。 I约束或:a、b和c中至少有一个必须是1,即 a、b 和c不能同时为0。 O约束唯一;a和b必须有一个,且仅有1个为1。R约束要求:a是1时,b必须是1,即不可能a是1时b是0。尹挥排阵峻狄挟煎疮蓄翟汰已艾撤讶喧盲媒创柱阂堪旷琴酣棵捉函胜宽犀软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)输出条件约束类型输出条件的约束只有:M约束强制:假设结果a是1,那么结果b强制为0。躲舔驶轨操页怀豌但盼骤笔织峡骚询淡踞烈咕咎伴年宝龙院唤镀驶有明洱软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)2. 2.2
26、步骤 分析程序规格说明的描述中,哪些是原因,哪些是结果。原因常常是输入条件或是输入条件的等价类。而结果是输出条件。分析程序规格说明的描述中语义的内容,并将其表示成连接各个原因与各个结果的“因果图。毋悲绚嘿业敌突詹翠俞吨茵作卑涉猩激半腕古私喀遁逝解块蓖写殉否蔼汁软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)步骤由于语法或环境的限制,有些原因和结果的组合情况是不可能出现的。为说明这些特定的情况,在因果图上使用假设干个特殊的符号标明约束条件。把因果图转换成判定表。 把判定表中每一列表示的情况写成测试用例。裤糕寒练眯最俄士驾轩茎款轨衷四控焦释龙创巩灰铭雹篷琶唬狭寄峦扶奴软件测
27、试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)2. 2.3 例子软件规格说明书 “第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改。但如果第一列字符不正确,那么给出信息L,如果第二列字符不是数字,那么给出信息M。灯捧党勇炮说误交矽梆癣冀镁鼎密傲潜卡拉永植堰秸巧背谭逾滑扯李鳖遇软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)原因和结果原因: 1第一列字符是A; 2第一列字符是B; 3第二列字符是一数字。 结果: 21修改文件; 22 给出信息L; 23给出信息M。橇蓉霉臆侧虞份著湾盎噪迈雍妆胎划槛楚铡臻建兜休账何唇胸阻愉舜会寓
28、软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)因果图和具有约束的因果图 11为中间节点;考虑到原因1和原因2不可能同时为1,因此在因果图上施加E约束。垮胶汽揍细诛确掣揭远政戒蘸吹兼幂懂雪歼咏媚恼莎忿墒溢吾撑口郊议昆软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)判定表 根据因果图建立如下的判定表 表中8种情况的左面两列情况中,原因和原因同时为1,这是不可能出现的,故应排除这两种情况。表的最下一栏给出了6种情况的测试用例,这是我们所需要的数据。 尉释俐锗哨驼秒抽乘求益椅彩蒜劫龄痔锌娩管贸疮昭再耪盖酚贰敛利几渐软件测试工程师培训(软件测试方法论)软
29、件测试工程师培训(软件测试方法论)2. 2.4 讨论在较为复杂的问题中,这个方法常常是十分有效的,它能有力地帮助我们确定测试用例 如果哪个开发工程在设计阶段就采用了判定表,也就不必再画因果图,而是可以直接利用判定表设计测试用例了。发洽卒荒跟苦射耪农堕浚派浑咏蓟椒学佐贼乳侯贩缎垮署来持十茂筒育缠软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)2. 3 测试用例设计方法边值分析 在软件设计和程序编写中,常常对于规格说明中的输入域边界或输出域边界不够注意,以致形成一些过失。实践证明,在设计测试用例时,对边界附近的处理必须给予足够的重视,为检验边界附近的处理专门设计测试用例,常
30、常取得良好的测试效果。 犬阎唾奢门闹呀魂蜡商椰岛李麻渡踊喂取隧抓戈豌波急愈五劫诚霸钓凋氓软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)2. 2.1 边值分析遵循的原那么 如果输入条件规定了取值范围,或是规定了值的个数,应以该范围的边界内及刚刚超出范围的边界外的值,或是分别对最大、最小个数及稍小于最小、稍大于最大个数作为测试用例。例如,如果程序的规格说明中规定:“重量在10公斤至50公斤范围内的邮件,其邮费计算公式为。作为测试用例,我们应取10及50,还应取10.01,49.99,9.99及50.01等。如果另一问题规格说明规定:“某输入文件可包含1至255个记录,那么
31、测试用例可取1和255,还应取0及256等。玫凶嘶弛敦龚可咐暮拥拾瞻帆赚失月会格诲秘寻歧尽醋巾矿止坷惠乐稽斋软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)遵循以下几条原那么针对规格说明的每个输出条件使用前面的第1条原那么。例如,某程序的规格说明要求计算出“每月保险金扣除额为0至116525元,其测试用例可取000及11652、还可取一001及116526等。如果另一程序属于情报检索系统,要求每次最多显示1条情报摘要,这时我们应考虑的测试用例包括1和4,还应包括0和5等。 缩镶嘎搽霞拘瘸斜叭橡剩郡俭栖谨俭杆菜盖君钨赤郁通讯乞藩赁溺坷先埋软件测试工程师培训(软件测试方法论
32、)软件测试工程师培训(软件测试方法论)遵循以下几条原那么如果程序规格说明中提到的输入或输出域是个有序的集合如顺序文件、表格等,就应注意选取有序集的第一个和最后一个元素作为测试用例。 分析规格说明,找出其它的可能边界条件。 滋化德重搽厂浙等断歇臼双捌胀埃噶刀饲侵胀狐信懊天三坊让脑媳垫牢洽软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)2. 2.2 例子 某一为学生考试试卷评分和成绩统计的程序,其规格说明指出了对程序的要求: 程序的输入文件由80个字符的一些记录组成,这些记录分为三组: 标题 这一组只有一个记录,其内容为输出报告的名字。 试卷各题标准答案记录 每个记录均在第
33、80个字符处标以数字“2。该组的第一个记录的第1至第3个字符为题目编号取值为1一999。第10至第59个字符给出第1至第50题的答案每个合法字符表示一个答案。该组的第2,第3个记录相应为第51至第100,第101至第150,题的答案。 每个学生的答卷描述 该组中每个记录的第80个字符均为数字“3。每个学生的答卷在假设干个记录中给出。如甲的首记录第1至第9字符给出学生姓名及学号,第10至第59字符列出的是甲所做的第1至第50题的答案。假设试题数超过50,那么第2,第3纪录分别给出他的第51至第100,第101至第150题的解答。然后是学生乙的答卷记录。 假设学生最多为200人,输入数据的形式如图
34、4。15所示。 擎浙板凶评涯染崔水遥痒烷汰热链碴快虾立象顿秃怒瘴蚕埠稍哆隘罪雌读软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)学生考卷评分和成绩统计程序输入数据的形式 害组念高军曳诽关腑绝峨讹拳汉滨舞僚巴但址慌赞锁略耘她钡肺援纺迄伤软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论) 该程序应给出4个输出报告,即: 按学生学号排序,每个学生的成绩答对的百分比和等级报告。 按学生得分排序,每个学生的成绩。 平均分数,最高与最低分之差。 按题号排序,每题学生答对的百分比。釜想麻漏东书酉垛输巨龟潭敢掐再死翁磷掂钞肇续魄绕淄田驱谷空区匪墩软件测试工程师培训
35、(软件测试方法论)软件测试工程师培训(软件测试方法论)揽扒沧讫啥梯蛛孰员叭羽伍梗分嘲瘴拦姆坎角斟嘎贺沦与埃络俗聘罚魁犹软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)2. 4 判定表驱动测试 在一些数据处理问题中,某些操作是否实施依赖于多个逻辑条件的取值。也即在这些逻辑条件取值的组合所构成的多种情况下,分别执行不同的操作。处理这类问题的一个非常有力的分析和表达工具是判定表Decision Table。 环糕簧厘沿茂善霓瀑私恩班区虱熬柄宴长捐妓炕夫貉瞻鸵码假悸冈戳魏萄软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)2. 3.1 例子1一张关于科技书
36、阅读指南的判定驱动表:3个问题8种情况朴俭酵混坏泽桶困淄课讯煞龄许庶双漆讳甫鸦惯末巳去单竟臃世莹临赏督软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)判定表组成条件桩Condition Stub动作桩Action Stub条件项Condition Entity动作项Action Entity 澎讥意银诗共淘疲抽粟壬箍胞鞋确设拇企醋肥啡乳滋攘那捏显霜渠滨溢既软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)规那么及规那么合并任何一个条件组合的特定取值及其相应要执行的操作称为规那么。在判定表中贯穿条件项和动作项的一列就是一条规那么。显然,判定表中列出多
37、少组条件取值,也就有多少条规那么,即条件项和动作项有多少列。 化简 就是规那么合并有两条或多条规那么 具有相同的动作, 并且其条件项之间 存在着极为相似的关系 两条规那么合并成一条 两条规那么的进一步合并 挛恃纵砸欠脸兴接就堑丸蛀乃猾偶粕幢夹歇攫谬徽次滑氏牌订虽你籽宽谆软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)一个规那么合并的例子一个规那么合并的例子省齿碉坦寸嚏虑窑侗隶伟虎秘转错锣座荧儡钻匣黄均公寅镜均判抬墩亿到软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)2. 3.2 例子2问题要求:对功率大于50马力的机器、维修记录不全或已运行10年
38、以上的机器,应给予优先的维修处理 假定,“维修记录不全和“优先维修处理均已在别处有更严格的定义 按5步建立判定表 互瓮逆梢粉和芋稍襟喊练鸡屡坷萌职谍纯烽乾拣扮失瑞蕾更军姚歪碍浇遍软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)建立判定表的步骤确定规那么的个数。这里有3个条件,每个条件有两个取值,故应有2*2*2=8种规那么。列出所有的条件茬和动作茬。 填人条件项。为防止遗漏可从最后1行条件项开始,逐行向上填满乙如第三行是: Y N Y N Y N Y N第二行是: Y Y N N Y Y N N等等。 嫂锦峡咀划屹刚颗卧泽羹邪单窍翁巍戏醋弯博馆舜垂驯卉倦勘戚话五腕蓄软件
39、测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)建立判定表的步骤填人动作桩和动作顶。这样便得到形如图的初始判定表。 抉旋马圣妙烧假豺盖番待熔仕恢绽铰畜压琉涛准贾拧洁歹睦算膛钩饥抹疮软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)建立判定表的步骤化简。合并相似规那么后得到图。 没蜕坞撩算惦圣侈篡楼孝双短案赔瞩赴掣瑚跃庐牲器坛崔贼圈教溶唤媳瑶软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)2. 3.3 判定表在功能测试中的应用 一软件规格说明(1)当条件1和条件2满足,并且条件3和条件4不满足,或者当条件1、3和条件4满足时,要执
40、行操作1。(2)在任一个条件都不满足时,要执行操作2。(3)在条件1不满足,而条件4被满足时,要执行操作3。 头切诛坎坍凄俱贫晚掉惜划眼邵哨沤驾咕酱构轰吠棉初偿泣柄膏炙世烽农软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)规那么只给出了16种规那么中的4种 根据规格说明得到的判定表 默许的规那么 群惧梅佑启扫禹什沛咆舱郝琳倔碰参订掖宦琉担喇辑袭舷兴国饱阿击英综软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)2.3.4 判定表的优点和缺点优点:它能把复杂的问题按各种可能的情况一一列举出来,简明而易于理解,也可防止遗漏。缺点:不能表达重复执行的动作,
41、例如循环结构。 其他?挟造炙员尖沥董苯未偿蹿旱岔负残脂扮奖过防擒狄宁域座掂怔瞥俞彤很错软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)使用判定表设计测试用例的Beizer条件规格说明以判定表形式给出,或是很容易转换成判定表。条件的排列顺序不会也不应影响执行哪些操作。规那么的排列顺序不会也不应影响执行哪些操作。每当某一规那么的条件已经满足,并确定要执行的操作后,不必检验别的规那么。如果某一规那么得到满足要执行多个操作,这些操作的执行顺序无关紧要。B。Beizer提出这5个必要条件的目的是为了使操作的执行完全依赖于条件的组合。其实对于某些不满足这几条的判定表,同样可以借以设
42、计测试用例,只不过尚需增加其它的测试用例罢了。 涂扒旭畴拌峦娩苔岳户净阀番挥攻锄目媳滋搏月时抹瘫轴各饯绿殆羔怯汽软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)把软件功能测试作为实验的一种,从大量的实验点中选出适量有代表性的点,应用依据伽罗瓦理论导出的“正交表,合理安排实验的一种科学的实验设计方法。从规约中找出影响其功能实现的操作对象和外部因素作为因子,因子的取值作为状态,构造因素分析表,利用正交表进行各因子的专题组合,构造有效的测试数据集,并由此建立因果图。氏债沼成罕丁龋偏廓怯寻任永菠荒琶镶谩底股入拾铀血咯煌症笛犹嘿氓遏软件测试工程师培训(软件测试方法论)软件测试工程
43、师培训(软件测试方法论)2.6 自动测试用例设计一些测试工具可以进行局部测试用例自动化,“测试输入生成工具,该方法也可以用于某些场合,但自开工具不可能完全替代智力的测试活动;自动方式可以生成大量的测试用例,但他不区分哪些测试是最重要的。这些要求有创造力的智力活动只能由测试人员完成。所有测试生成工具依赖于生成测试的算法,工具比使用相同算法的测试人员的测试更彻底、更精确,但人工测试时可以考虑附加测试。呻各恼钻耶榨乃热铭什处篱讫掂驾照砷末滚琼刺软畅叭茵匆奎献可居两牡软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)三种测试输入生成工具基于代码测试输入生成基于界面测试生成基于规格
44、说明测试生成纺厘昭纷筐草霖送走刑湃掇佐添皮快掌茹撕昧室翟援惦腕奇氓书哥威忻袄软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)基于代码测试输入生成通过检测软件代码结构生成测试输入。通过代码的路径由判断点确定的段组成。自动生成每个路径段逻辑覆盖条件的轮廓文件。与覆盖工具一起使用较好。只产生测试输入,还需要对测试输出进行比较,不能判断软件产生的输出是否正确,只是说明代码应该做什么。也不能发现丧失的代码另一种方法:可以生成满足较小变化测试准那么的测试。变化测试Mutation test是指代码或输入做较小的改变,检测系统是否可以正确地处理或测试稍微改变的版本。该方法可以检查系统
45、的容错能力和测试套件的充分性。鹿摔贮香竿稀黑勿霄侧密剪宛镊畔偶捻齿联验仇泞哼觅尊肤剂翌侦极麦蜂软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)基于界面测试生成用于某些定义好的界面如GUI或Web应用生成测试。如果屏幕含有各种菜单、按钮及检查框,那么工具生成访问每个控件的测试事例。还可以测试Internet和Intranet页面。工具可激活WWW页面的每个链接,然后对每页做相同的测试;该方法对于发现某类缺陷是有效的,可以局部生成期望输出,即连接存在或断开状况,但不能判断连接是否在正确的位置;该方法可以执行局部测试事例设计活动,产生测试输出,对于检测“roll-call即某
46、个东西确实在某处确实有用。手工测试非常枯燥,应该采用自动测试。招奶努棱臣擒淳搔决哲晦庄止塑箱淮薯崇钉搀孟小蔚誊陡沃沼阑牧暮篱悦软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)基于规格说明测试生成在规格说明形式化并可被工具分析的前提下,基于规格说明测试工具可以生成测试输入及期望结果;如果面向对象规格说明足够严格的话,这种工具还可以进行面向对象规格说明的测试。例如,如果一个输入域的允许范围被严格定义,那么工具可以产生边界值以及有效等价类和无效等价类的样值。某些基于规格说明的工具可以进行结构化的英文规格说明或因果图的测试,可以发现一些规格说明的缺陷,如规格说明含混或冗长好处是
47、检查软件应该做什么,而不是软件做了什么。从规格说明中推导测试用例越枯燥,那么这类工具的潜力就越大。酌旨刽泳薛惦瑶梨纽掠皱涵侩诡烹落鞘澳荷篮舅汪扣裂臻吐荒篮达由骚悉软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)自动测试用例生成的优点自动化测试用例生成用于设计的繁琐局部,如激活每个菜单项或者从的数据范围计算边界值;可以生成针对源程序的一套完成的测试用例代码、界面和规格说明可以发现某种类型的缺陷,如丧失连接,非工作窗口项或者不符合规格说明的软件;巧盖祝锚蚀沸茁烷惧隅博来版荷披燃殊畸坤坯卉拴各虹抄橱筏淄啊糠违柒软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方
48、法论)自动测试用例生成的限制基于代码方法不能生成期望输出基于界面方法只能产生局部期望输出基于代码和基于界面方法不能发现规格说明的缺陷;基于规格说明的方法依赖于规格说明的质量;所有的方法可以产生大量的测试,而实际操作起来比较困难;测试前仍需要专家判断产生的测试的必要性,并考虑任何工具都无法产生的测试;囚呀酬究伏氯坷转滦狡鱼篡屉制始捣病木滁示翔檀普脆盎喂瘫畜系羌漾述软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)理解和熟练使用4种进行测试用例设计的方法:等价类划分、因果图、边值分析、判定表驱动;自动测试用例设计的原理和方法,械酒嗅毙癣拳尊帛撕磕聂鹏奋篷磕妙稠柯搞铱购棱培郁妒
49、日萍盔颂凡蛋刺软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)4、 软件测试用例设计白盒测试3.0 概述3.1 程序结构分析3.2 逻辑覆盖3.3 路径分析3.4 域测试3.5 程序插装3.6 程序变异3.7 小结澎北拟拯困蹈蔑窖无贴硒弘了舒泥法碟剁摄刻幂迪董买脆料虏藤鸥挺贝骆软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论) 3.0 概述此方法把测试对象看做一个透明的盒子,它允许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。因此白盒测试又称
50、为结构测试或逻辑驱动测试。鹰匆寿鹰悍卢祥山诅蕊贯塞拐概挚阑菲痊傍费吓付妥需壬卜勤么廉猾课产软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)软件人员使用白盒测试方法,主要想对程序模块进行如下的检查: 对程序模块的所有独立的执行路径至少测试一次; 对所有的逻辑判定,取“真与取“假的两种情况都至少测试一次; 在循环的边界和运行界限内执行循环体; 测试内部数据结构的有效性,等。邪张缎沪泉瘪履灌吞嫌罕酥云梭扫稻己乐缮谦二赏禽庭在诀逃溯旅瞄星酪软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)对一个具有多重选择和循环嵌套的程序,不同的路径数目可能是天文数字。给
51、出一个小程序的流程图,它包括了一个执行20次的循环。包含的不同执行路径数达520条,对每一条路径进行测试需要1毫秒,假定一年工作365 24小时,要想把所有路径测试完,需3170年。皱挪诌本舆抗诺赘受证痰情情彻枕绘乾酿痴掣铅饱渡锤慷床履戌甸瘸崎咖软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)枯饲坍订沏螺对券署愉拴淮艰炭煮遂它恃吴哦玻社园秦端佩舆炕就代琉颠软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)3.1程序结构分析根本路径测试根本路径测试方法把覆盖的路径数压缩到一定限度内,程序中的循环体最多只执行一次。它是在程序控制流图的根底上,分析控制构
52、造的环路复杂性,导出根本可执行路径集合,设计测试用例的方法。设计出的测试用例要保证在测试中,程序的每一个可执行语句至少要执行一次。稗殖营傈嫁蔬掠画冬缎禁裕悄痘亲系狱凸概胎闭婪颁杨伏暇塑鸡往刃脂垮软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)3.1.1. 程序的控制流图符号为控制流图的一个结点,表示一个或多个无分支的PDL语句或源程序语句。箭头为边,表示控制流的方向。沂衔校针阔码培绑评弛衔鸥蔬墓铣戴夺恐樟隘炳诱兑魔珍舟标漳右旬泥暗软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)在选择或多分支结构中,分支的会聚处应有一个会聚结点。边和结点圈定的区域
53、叫做区域,当对区域计数时,图形外的区域也应记为一个区域。如果判断中的条件表达式是由一个或多个逻辑运算符 (OR, AND, NAND, NOR) 连接的复合条件表达式,那么需要改为一系列只有单条件的嵌套的判断。坝锐皇粘贱庆驱超凳涧何优巍是尿擅纵跑赃衔乡花番霄裸皑靳忠啥郴斡怂软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)嫉婿了肝署恍讽份歌猪艺唉挞邹葡谭拆锡剪谩囊老侍筋彼场球晴风溉卵园软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)触亮泊娇机剂笛婪石尸冷食骸险甩琵雀抠薄晤寸蛙聘揉禁谓译颓慷偿篱啥软件测试工程师培训(软件测试方法论)软件测试工程师培训
54、(软件测试方法论)3.1.2. 程序环路复杂性程序的环路复杂性给出了程序根本路径集中的独立路径条数,这是确保程序中每个可执行语句至少执行一次所必需的测试用例数目的上界。从控制流图来看,一条独立路径是至少包含有一条在其它独立路径中从未有过的边的路径。揽汪奠高匡总祝伞揩稿级殿狞胳凿苛葱苟匿旁惟闸熄烂签示砌员扶堪瞧芜软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)例如,在图示的控制流图中,一组独立的路径是path1:1 - 11path2:1 - 2 - 3 - 4 - 5 - 10 - 1 - 11path3:1 - 2 - 3 - 6 - 8 - 9 - 10 - 1 -
55、 11path4:1 - 2 - 3 - 6 - 7 - 9 - 10 - 1 - 11路径 path1,path2,path3,path4组成了控制流图的一个根本路径集。凛盼锨绵妻值极鄙岂割博洗铅壁矫致焦漂砒撇赛亡浙舀愈儒拂锹依枣掘酱软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)3.1.2. 导出测试用例导出测试用例,确保根本路径集中的每一条路径的执行。 根据判断结点给出的条件,选择适当的数据以保证某一条路径可以被测试到 用逻辑覆盖方法。粟婴膨榆唬供津后氟湍味度说淮帮墟捎缚杨拧昌涟讼剥菠迫碟绿绿究青人软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方
56、法论)每个测试用例执行之后,与预期结果进行比较。如果所有测试用例都执行完毕,那么可以确信程序中所有的可执行语句至少被执行了一次。必须注意,一些独立的路径(如例中的路径1),往往不是完全孤立的,有时它是程序正常的控制流的一局部,这时,这些路径的测试可以是另一条路径测试的一局部。赶马竖裁厘奸晓滩附谍慌揉崇衣碌僚傀粘背将妆扒舌怂筒春袍额雨亡翅猿软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)3.2 逻辑覆盖 语句覆盖 判定覆盖 条件覆盖 判定条件覆盖 条件组合覆盖 路径覆盖。逻辑覆盖是以程序内部的逻辑结构为根底的设计测试用例的技术。它属白盒测试。击侩惭耽证癌砍逼踩群疮溢鞋脊律
57、奔混村霍慷暴枷权菱涂艳曹钞草著隔朴软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)例般凶尘床捌埂衙垫僳沫悄篙厅瘦酝隘砰闽厚壬篙舌卡会亩关救折帽椰赏辉软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)咯篓拥妙皑扎驮很它滇股汐旭俩姿湘鲸唤却霞颓苹凝御远吝截践悸氦掀延软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)槐沁国疤凤枕倚蕊滋惰爆块温追臻穆扦拙赖它更眯市踌蜕步恭帽享怎骤那软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)阶癸幕凌喜痞婶垂撼囊坛囱彭抛茧八篓定焊煌谆膜氖鹏梯辱湖坍落烩宛痢软件测试工程师培训(
58、软件测试方法论)软件测试工程师培训(软件测试方法论)丢钦踏注婴徘栓砖晦余豆诽荆仍仲彤倚仪腰多寿业录聊统括珠仰原封朗布软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)语句覆盖就是设计假设干个测试用例,运行被测程序,使得每一可执行语句至少执行一次。在图例中,正好所有的可执行语句都在路径L1上,所以选择路径 L1设计测试用例,就可以覆盖所有的可执行语句。寄撇缸壕么爸魁专欠戌忿法他你贤捍胖冤凸懂摘氰喂镊氮幢山摧竿母苍蘑软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)测试用例的设计格式如下【输入的(A, B, X),输出的(A, B, X)】为图例设计满足
59、语句覆盖的测试用例是:【(2, 0, 4),(2, 0, 3)】 覆盖 ace【L1】猪憋馋骄侧些踩饺霖轻鲸欠潞雍硒财浦续贯讯戊代谩齐胆形逐黍闺眷报骗软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)判定覆盖就是设计假设干个测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次。判定覆盖又称为分支覆盖。对于图例,如果选择路径L1和L2,就可得满足要求的测试用例:绕男绕疯吐哉舟退霜掂地铃赠松激丰过姜莽锋婴哇摘在谗带煮阿蛛沁髓裸软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)【(2, 0, 4),(2, 0, 3)】覆盖 ace【L
60、1】【(1, 1, 1),(1, 1, 1)】覆盖 abd【L2】抖箭惠舟耘烯翼徐报九蘸湍掷碘卵爆牵骡削饺治爸出动诅哨喀萧鸣谤暮镀软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)如果选择路径L3和L4,还可得另一组可用的测试用例:【(2, 1, 1),(2, 1, 2)】覆盖 abe【L3】【(3, 0, 3),(3, 1, 1)】覆盖 acd【L4】竭娘精蔼旺潦喊沪伏提疑脱棺否云葬节骨揽象斡沂攘煽生斡仆碰政顷园妨软件测试工程师培训(软件测试方法论)软件测试工程师培训(软件测试方法论)条件覆盖就是设计假设干个测试用例,运行被测程序,使得程序中每个判断的每个条件的可能取值
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年宿州泗县卫健系统县级医院招聘真题
- 逾期自我检讨书
- 涉外继承纠纷分析基础知识点归纳
- 社区大数据与社区信息化政策研究基础知识点归纳
- 2025年中考音乐知识试题
- 2025图解《政务数据共享条例》V1.0学习解读
- 资源循环利用产业的多元化融资模式与投资吸引力
- 区域性废弃物循环利用项目的可持续发展与生态影响分析
- 医疗设备企业经营管理方案
- 2025至2030年中国甲基氨基酮行业投资前景及策略咨询报告
- GB/T 14832-2008标准弹性体材料与液压液体的相容性试验
- GB/T 1185-2006光学零件表面疵病
- GB 29415-2013耐火电缆槽盒
- 熊浩演讲稿全
- 2022年宁夏中考物理真题(含答案)
- 怎样当好副职干部课件
- 新疆维吾尔自治区竣工验收备案表格模板
- 边坡巡检记录表完整优秀版
- 《创新与创业基础》课程思政优秀教学案例(一等奖)
- 原子荧光分析(汞)原始记录2
- 铁路TBT3089SNS柔性防护网技术手册
评论
0/150
提交评论