软件测试实验2白盒测试案例分析.docx

上传人:b****6 文档编号:16381185 上传时间:2023-07-13 格式:DOCX 页数:13 大小:153.80KB
下载 相关 举报
软件测试实验2白盒测试案例分析.docx_第1页
第1页 / 共13页
软件测试实验2白盒测试案例分析.docx_第2页
第2页 / 共13页
软件测试实验2白盒测试案例分析.docx_第3页
第3页 / 共13页
软件测试实验2白盒测试案例分析.docx_第4页
第4页 / 共13页
软件测试实验2白盒测试案例分析.docx_第5页
第5页 / 共13页
软件测试实验2白盒测试案例分析.docx_第6页
第6页 / 共13页
软件测试实验2白盒测试案例分析.docx_第7页
第7页 / 共13页
软件测试实验2白盒测试案例分析.docx_第8页
第8页 / 共13页
软件测试实验2白盒测试案例分析.docx_第9页
第9页 / 共13页
软件测试实验2白盒测试案例分析.docx_第10页
第10页 / 共13页
软件测试实验2白盒测试案例分析.docx_第11页
第11页 / 共13页
软件测试实验2白盒测试案例分析.docx_第12页
第12页 / 共13页
软件测试实验2白盒测试案例分析.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

软件测试实验2白盒测试案例分析.docx

《软件测试实验2白盒测试案例分析.docx》由会员分享,可在线阅读,更多相关《软件测试实验2白盒测试案例分析.docx(13页珍藏版)》请在冰点文库上搜索。

软件测试实验2白盒测试案例分析.docx

软件测试实验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款。

以下为个人税收优惠型保险产品承保的部分伪代码实现:

if((性别=‘男'and16<年龄<59)or(性别=‘女'and16<年龄<54)){if(被保人健康属性为正常or有医疗保险){

可选择保险种类为A或B1或B2的险种,份数为1份

}else{

可选险种为C,份数为1份

}

}else{

提示‘不能承保'

}

1)绘制保险产品的承保业务流程图:

(2)根据业务场景与流程逻辑判定,运用语句覆盖法进行测试用例的设计并按如下表格形式填写测试用例。

(根据设计的测试用例加行)表1-1语句覆盖测试用例设计

测试用例名称

测试用例描述

测试路径

(3)根据业务场景与流程逻辑判定,运用判定覆盖方法进行测试用例的设计并按如下表格形式填写测试用例。

(根据设计的测试用例加行)

表1-2判定覆盖测试用例设计

测试用例名称

测试用例描述

测试路径

2、条件覆盖和条件组合覆盖的测试设计

要求:

以银行内部转账为例,针对内部转账业务逻辑代码进行分析并绘制程

序流程图,分别运用条件覆盖、条件组合覆盖方法设计测试用例。

背景:

内部转账用于处理发起户口号和接收户口号都是内部账户的系统内资金转账业务,主要用于财务资金的划拨、未实现自动清算业务的清算资金的划拨。

(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)基本程序如下:

intlogicExample(intx,inty)

{

1

intmagic=0;

2

if(x>0&&y>0){

3

magic=x+y+10;

4

sign++;

5

}else{

6

magic=x+y-10;

7

m='F';

8

}

9

if(magic<0){

10

magic=0;

11

sign+=2;

12

}else

13

n='F';

14

returnmagic;

}

2)根据如上程序运用基本路径法,画出程序控制流图

3)根据程序控制流图分析,列出全部路径并指出可达路径及不可达路径

4)根据可达路径设计测试用例(可加行)

测试用例

X

Y

路径

预期结果

二)实验要求

1、完成如上三个题目要求的设计,列出设计过程中要求的表格

2、表格要有表头,并在表格下方对表格设计列出说明文字。

3、完成实验后必须进行实验总结,可分析几种测试方法的优缺点及做实验

过程中的收获,否则实验适当扣分

五、实验结果

学生做实验后将实验结果按照题目序号放置

1、

1)绘制保险产品的承保业务流程图如下:

(2)根据业务场景与流程逻辑判定,运用语句覆盖法进行测试用例的设计并按如下表格形式设计如下测试用例:

表1-1语句覆盖测试用例设计

测试用例名称

测试用例描述

测试路径

RJS1

Sex=‘男'age=18有医疗保险

1-3-4

RJS2

Sex=‘女'age=70有医疗保险

1-2

RJS3

Sex=“男”age=30被保人属性不正常并且吴医疗保险

1-3-5

(3)根据业务场景与流程逻辑判定,运用判定覆盖方法进行测试用例的设计并按如下表格形式设计测试用例:

表1-2判定覆盖测试用例设计

测试用例名称

测试用例描述

测试路径

RJS1

Sex=‘男'age=22有医疗保险

1-3-4

RJS2

Sex=‘女'age=80有医疗保险

1-2

RJS3

Sex=“女”age=37被保人属性不正常并且吴医疗保险

1-3-5

RJS4

Sex=“女”age=70被保人属性不正常并且吴医疗保险

1-2

begin

Sure=1?

Sure=2?

Sure=3?

Sure=?

抛出异常确认方式不符合

业务流程

调用内部转

账接收经办

调用内部转

账接收经办

抛出异常确认方式不符合业务流程

接收确认

调用内部转

账接收授权

图2.1银行内部转账程序流程图

表2-1条件覆盖测试用例设计

测试用例名称

测试用例描述

测试路径

RJS1

count=110万sure=1

1-2-5-6-10-15

RJS2

count=111万sure=2

1-2-5-7-11-15

RJS3

count=112万sure=3

1-2-5-8-12-15

RJS4

count=113万sure=7

1-2-5-9-13-15

RJS5

count=10万sure=1

1-2-3-6-10-15

RJS6

count=11万sure=2

1-2-3-7-11-15

RJS9

count=-1万sure=?

1-2-3-4-14-15

 

表2-2条件组合覆盖测试用例设计

测试用例名称

测试用例描述

测试路径

RJS1

count=110万sure=1

1-2-5-6-10-15

RJS2

count=111万sure=2

1-2-5-7-11-15

RJS3

count=112万sure=3

1-2-5-8-12-15

RJS4

count=113万sure=7

1-2-5-9-13-15

RJS5

count=10万sure=1

1-2-3-6-10-15

RJS6

count=11万sure=2

1-2-3-7-11-15

RJS7

count=12万sure=3

1-2-3-8-12-15

RJS8

count=13万sure=9

1-2-3-9-13-15

RJS9

count=-1万sure=?

1-2-3-4-14-15

3、

(2)根据如上程序运用基本路径法,画出程序控制流图如下:

4)根据程序控制流图分析,列出全部路径并指出可达路径及不可达路径

全部路径:

A-B-D-F-H

A-B-D-G-I

A-C-E-F-H

A-C-E-G-I

不可达路径:

A-B-D-G-I

4)根据可达路径设计测试用例(可加行)

测试用例

X

Y

路径

预期结果

RJS1

1

2

A-B-D-F-H

magic=13

RJS2

0

1

A-C-E-F-H

magic=11

RJS3

3

0

A-C-E-F-H

magic=13

RJS4

-5

-6

A-C-E-G-I

magic=0

六、实验总结

过程中我们学会了白盒测试的原理以及各种测试方法,白盒测试的语句覆盖和判定覆盖测试方法的原理及应用、条件覆盖、条件组合覆盖的方法,提高应用能力以及掌握路径法测试。

通过本次实验我们对软件测试有了进一步的理解,可以在特定的案例情形下设计出合理的设计用例完成测试的相关要求。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2