您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > 软件测试-实验2-白盒测试案例分析
实验2白盒测试一、实验目的与要求1、掌握白盒测试的语句覆盖和判定覆盖测试方法的原理及应用2、掌握条件覆盖、条件组合覆盖的方法,提高应用能力3、掌握路径法测试二、实验设备1、电脑PC三、实验原理白盒测试原理:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否已经过检查。它是把测试对象看作装在一个透明的白盒子里,也就是完全了解程序的结构和处理过程。这种方法按照程序内部的逻辑测试程序,检验程序中的每条通路是否都能按预定要求正确工作,其又称为结构测试。1、语句覆盖语句覆盖指代码中的所有语句都至少执行一遍,用于检查测试用例是否有遗漏,如果检查到没有执行到的语句时要补充测试用例。无须细分每条判定表达式,该测试虽然覆盖了可执行语句,但是不能检查判断逻辑是否有问题。2、判定覆盖又称判断覆盖、分支覆盖,指设计足够的测试用例,使得程序中每个判断的取真分支和取假分支至少经历一次,即判断真假取值均曾被满足。判定覆盖比语句覆盖强,但是对程序逻辑的覆盖度仍然不高,比如由多个逻辑条件组合而成的判定,仅判定整体结果而忽略了每个条件的取值情况。3、条件覆盖、条件判定覆盖条件覆盖指程序中每个判断中的每个条件的所有可能的取值至少要执行一次,但是条件覆盖不能保证判定覆盖,条件覆盖只能保证每个条件至少有一次为真,而不考虑所有的判定结果。条件判定覆盖是条件覆盖和判定覆盖的组合,指设计足够的测试用例,使得判定中每个条件的所有可能的取值至少出现一次,并且每个判定取到的各种可能的结果也至少出现一次。条件判定覆盖弥补了条件和判定覆盖的不足,但是未考虑条件的组合情况。4、条件组合覆盖又称多条件覆盖,设计足够的测试用例,使得判定条件中每一个条件的可能组合至少出现一次。线性地增加了测试用例的数量。5、基本路径法在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行的路径集合,从而设计测试用例的方法。在基本路径测试中,设计出的测试用例要保证在测试中程序的每条可执行语句至少执行一次,在基本路径法中,需要使用程序的控制流图进行可视化表达。四、实验内容(一)实验内容1、语句覆盖和判定覆盖的测试设计要求:根据如下背景,绘制程序流程图并按两种测试方法设计测试用例。背景:以保险产品投保为例,针对保险产品投保业务逻辑代码进行分析,运用语句覆盖和判定覆盖法进行测试用例设计。某个人税收优惠型保险产品A/B1/B2/C款承保规则:(1)凡16周岁以上且投保时未满法定退休年龄(男性59岁,女性54岁,后续将随国家相关法规做相应调增),使用商业健康保险税收优惠政策的纳税人,可作为本合同的被保险人。保险公司根据被保人是否参加公费医疗或基本医疗保险确定适用条款。(2)被保人为健康体,或者参加医疗保险的,可选择A款、B1款或B2款(3)未参加公费医疗的非健康体(有既往症)只能选择C款。以下为个人税收优惠型保险产品承保的部分伪代码实现:(1)绘制保险产品的承保业务流程图:(2)根据业务场景与流程逻辑判定,运用语句覆盖法进行测试用例的设计并按如下表格形式填写测试用例。(根据设计的测试用例加行)表1-1语句覆盖测试用例设计测试用例名称测试用例描述测试路径(3)根据业务场景与流程逻辑判定,运用判定覆盖方法进行测试用例的设计并按如下表格形式填写测试用例。(根据设计的测试用例加行)表1-2判定覆盖测试用例设计测试用例名称测试用例描述测试路径2、条件覆盖和条件组合覆盖的测试设计要求:以银行内部转账为例,针对内部转账业务逻辑代码进行分析并绘制程序流程图,分别运用条件覆盖、条件组合覆盖方法设计测试用例。if((性别=‘男’and16年龄59)or(性别=‘女’and16年龄54)){if(被保人健康属性为正常or有医疗保险){可选择保险种类为A或B1或B2的险种,份数为1份}else{可选险种为C,份数为1份}}else{提示‘不能承保’}背景:内部转账用于处理发起户口号和接收户口号都是内部账户的系统内资金转账业务,主要用于财务资金的划拨、未实现自动清算业务的清算资金的划拨。(1)内部转账发起:发起行发出内部资金交易,并换人复核,满足条件时需会计主管授权。(2)内部转账接收:内部资金交易接收方根据接受方确认方式,对交易进行接收经办,满足条件的需复核或授权。确定接收方的入账流程,“确认方式”分为以下三种:(1)不需接收方确认,即发起方发起后自动记发起方和接收方的一套账务,接收方无须再做接收动作,仅限100万以内金额方可使用此确认方式。(2)需接收方确认,即接收方接收时不能更改接收信息,只能依据发起方输入的信息入账或退回发起方。以目前的处理方式,接收经办-入账(金额小于100万);接收经办+接收授权-入账(金额大于100万)(3)需接收方经办,即接收方接收时可以更改接收信息,执行入账或退发起行。以目前处理方式,接收经办+接收复核-入账(金额小于100万);接收经办+接收复核+接收授权-入账(金额大于100万)内部转账授权控制表如下表2-1所示表2-1内部转账权限控制操作条件经办复核授权内部转账发起100万以下√√100万以上√√√内部转账接收确认方式为2,100万以下√确认方式为2,100万以上√√确认方式为3,100万以下√√确认方式为3,100万以上√√√以下为一拿回国内内部转账控制的部分伪代码实现:If(转账金额100万){调用“内部转账发起复核”调用“内部转账发起授权”If(“确认方式”==1){抛出异常“确认方式不符合业务流程”}elseif(“确认方式”==2){调用“内部转账接收经办”;调用“内部转账接收授权”接收确认}elseif(“确认方式”==3){调用“内部转账接收经办”调用“内部转账接收复核”调用“内部转账接收授权”接收确认}else{抛出异常“确认方式不符合业务流程”}}elseif(0转账金额100万){If(“确认方式”==1){调用“内部转账接收确认”;接收确认}elseif(“确认方式”==2){调用“内部转账接收经办”调用“内部转账接收确认”接收确认}elseif(“确认方式”==3){调用“内部转账接收经办”调用“内部转账接收复核”调用“内部转账接收确认”接收确认}else{抛出异常“确认方式不符合业务流程”}}elseif(转账金额0){抛出异常“输入金额有误,请重新输入”}3、基本路径法的测试设计(1)基本程序如下:(2)根据如上程序运用基本路径法,画出程序控制流图(3)根据程序控制流图分析,列出全部路径并指出可达路径及不可达路径(4)根据可达路径设计测试用例(可加行)测试用例XY路径预期结果(二)实验要求1、完成如上三个题目要求的设计,列出设计过程中要求的表格2、表格要有表头,并在表格下方对表格设计列出说明文字。3、完成实验后必须进行实验总结,可分析几种测试方法的优缺点及做实验过程中的收获,否则实验适当扣分。intlogicExample(intx,inty){1intmagic=0;2if(x0&&y0){3magic=x+y+10;4sign++;5}else{6magic=x+y-10;7m='F';8}9if(magic0){10magic=0;11sign+=2;12}else13n='F';14returnmagic;}五、实验结果学生做实验后将实验结果按照题目序号放置。1、(1)绘制保险产品的承保业务流程图如下:(2)根据业务场景与流程逻辑判定,运用语句覆盖法进行测试用例的设计并按如下表格形式设计如下测试用例:表1-1语句覆盖测试用例设计测试用例名称测试用例描述测试路径RJS1Sex=‘男’age=18有医疗保险1-3-4RJS2Sex=‘女’age=70有医疗保险1-2RJS3Sex=“男”age=30被保人属性不正常并且吴医疗保险1-3-5(3)根据业务场景与流程逻辑判定,运用判定覆盖方法进行测试用例的设计并按如下表格形式设计测试用例:表1-2判定覆盖测试用例设计测试用例名称测试用例描述测试路径RJS1Sex=‘男’age=22有医疗保险1-3-4RJS2Sex=‘女’age=80有医疗保险1-2RJS3Sex=“女”age=37被保人属性不正常并且吴医疗保险1-3-5RJS4Sex=“女”age=70被保人属性不正常并且吴医疗保险1-22、begincount100万调用内部转账发起复核调用内部转账发起授权Sure=1?抛出异常确认方式不符合业务流程调用内部转账接收经办调用内部转账接收授权调用内部转账接收经办调用内部转账接收复核调用内部转账接收授权抛出异常确认方式不符合业务流程接收确认接收确认Sure=2?Sure=3?Sure=?0count100万抛出异常输入金额有误,请重新输入end图2.1银行内部转账程序流程图表2-1条件覆盖测试用例设计测试用例名称测试用例描述测试路径RJS1count=110万sure=11-2-5-6-10-15RJS2count=111万sure=21-2-5-7-11-15RJS3count=112万sure=31-2-5-8-12-15RJS4count=113万sure=71-2-5-9-13-15RJS5count=10万sure=11-2-3-6-10-15RJS6count=11万sure=21-2-3-7-11-15RJS9count=-1万sure=?1-2-3-4-14-15表2-2条件组合覆盖测试用例设计测试用例名称测试用例描述测试路径RJS1count=110万sure=11-2-5-6-10-15RJS2count=111万sure=21-2-5-7-11-15RJS3count=112万sure=31-2-5-8-12-15RJS4count=113万sure=71-2-5-9-13-15RJS5count=10万sure=11-2-3-6-10-15RJS6count=11万sure=21-2-3-7-11-15RJS7count=12万sure=31-2-3-8-12-15RJS8count=13万sure=91-2-3-9-13-15RJS9count=-1万sure=?1-2-3-4-14-153、(2)根据如上程序运用基本路径法,画出程序控制流图如下:(4)根据程序控制流图分析,列出全部路径并指出可达路径及不可达路径全部路径:A-B-D-F-HA-B-D-G-IA-C-E-F-HA-C-E-G-I不可达路径:A-B-D-G-I(4)根据可达路径设计测试用例(可加行)测试用例XY路径预期结果RJS112A-B-D-F-Hmagic=13RJS201A-C-E-F-Hmagic=11RJS330A-C-E-F-Hmagic=13RJS4-5-6A-C-E-G-Imagic=0六、实验总结过程中我们学会了白盒测试的原理以及各种测试方法,白盒测试的语句覆盖和判定覆盖测试方法的原理及应用、条件覆盖、条件组合覆盖的方法,提高应用能力以及掌握路径法测试。通过本次实验我们对软件测试有了进一步的理解,可以在特定的案例情形下设计出合理的设计用例完成测试的相关要求。
本文标题:软件测试-实验2-白盒测试案例分析
链接地址:https://www.777doc.com/doc-5164772 .html