软件质量与测试课程设计实验报告样本.docx

上传人:b****3 文档编号:6058831 上传时间:2023-05-09 格式:DOCX 页数:18 大小:38.25KB
下载 相关 举报
软件质量与测试课程设计实验报告样本.docx_第1页
第1页 / 共18页
软件质量与测试课程设计实验报告样本.docx_第2页
第2页 / 共18页
软件质量与测试课程设计实验报告样本.docx_第3页
第3页 / 共18页
软件质量与测试课程设计实验报告样本.docx_第4页
第4页 / 共18页
软件质量与测试课程设计实验报告样本.docx_第5页
第5页 / 共18页
软件质量与测试课程设计实验报告样本.docx_第6页
第6页 / 共18页
软件质量与测试课程设计实验报告样本.docx_第7页
第7页 / 共18页
软件质量与测试课程设计实验报告样本.docx_第8页
第8页 / 共18页
软件质量与测试课程设计实验报告样本.docx_第9页
第9页 / 共18页
软件质量与测试课程设计实验报告样本.docx_第10页
第10页 / 共18页
软件质量与测试课程设计实验报告样本.docx_第11页
第11页 / 共18页
软件质量与测试课程设计实验报告样本.docx_第12页
第12页 / 共18页
软件质量与测试课程设计实验报告样本.docx_第13页
第13页 / 共18页
软件质量与测试课程设计实验报告样本.docx_第14页
第14页 / 共18页
软件质量与测试课程设计实验报告样本.docx_第15页
第15页 / 共18页
软件质量与测试课程设计实验报告样本.docx_第16页
第16页 / 共18页
软件质量与测试课程设计实验报告样本.docx_第17页
第17页 / 共18页
软件质量与测试课程设计实验报告样本.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

软件质量与测试课程设计实验报告样本.docx

《软件质量与测试课程设计实验报告样本.docx》由会员分享,可在线阅读,更多相关《软件质量与测试课程设计实验报告样本.docx(18页珍藏版)》请在冰点文库上搜索。

软件质量与测试课程设计实验报告样本.docx

软件质量与测试课程设计实验报告样本

华中科技大学文华学院

《软件质量与测试》课程设计

软件工程专业07级3班

姓名:

曹洪

学号全称:

时间:

11月12日

《软件质量与测试》课程设计

1、实验目的

掌握软件测试用例的设计

掌握软件缺陷报告的设计

掌握软件缺陷修正报告的设计

2、实验过程

程序preday的基本功能:

输入有效的年、月、日,按[计算]按钮,画面输出显示前1天的年,月,日;能对日期非法输入的合理提示等。

2.1程序代码的编写详见preday文件

2.2黑盒软件测试用例的设计

2.2.1等价类划分法

程序的有效输入日期为181月1日到2050年12月31日之间的有效日期。

其中,

有效等价类为

181月1日到2050年12月3日之间的日期,其中

年份为1800到2050之间的整数;

月份为1到12之间的整数;

当月份为1、3、5、7、8、10、12时,日为1到31之间的

整数,当月份为4、6、9、11时,日为1到30之间的整数,当年份为闰年元份为2时,日为1到29之间的数值,否则为1到28之间的数值。

无效等价类:

181月1日之前的日期;

2050年12月3日之后的日期;

181月1日到2050年12月31日之间的日期,可是月份不为1到12之间的整数;或者当月份为1、3、5、7、8、10、12时,日不为1到31之间的整数,当月份为4、6、9、11时,日不为1到30之间的整数,当年份为闰年元份为2时,日为1到29之间的数值,否则为1到28之间的数值。

最简单的等价类划分直接以输入条件边界來划分,得到的等价类集合见下表,其中Y1-Y3,M1-M3,D1-D3分别是三个输入条件的相应的等价类的编号。

表1:

preday问题的等价类划分

等价类

年份

月份

日期

有效等价类

Yl:

1800W年份W2500

M1:

1W月份W12

D1:

1W日期W31

无效等价类

Y2:

年份<1800

M2:

月份

D2:

日期<1

Y3:

年份>2050

M3:

月份>12

D3:

日期>31

根据表1的等价类划分,无效等价类测试能够得到如表2的测试用例,而较为合理的有效等价类的划分如表3。

三个输入各自具有不同的有效等价类数目,若从每个等价类中选择一个典型值,则年份、月份和日期的取值个数分别为2、4、4,这时将年份的水平值加以扩展,即对于年份,可在Y1和Y2中各选两个典型值。

这样得到所有输入条件的取值如下:

年份:

1850、1900、、

月份:

1、3、5、11

日期:

1、29、30、31

此时,构成的有效等价类测试用例如表4所示:

表2:

Preday的无效等价类的测试用例

ID

输入日期(年-月-日)

操作步骤

预期输出

实际输出

备注

ND-001

1700-6-15

输入年月日,点击”计算”按钮

提示”请输入•个在1800和2500之间的整

数”

请输入•个在1800和2500之间

的整数

年份在

Y2中

ND-002

3000-12-15

输入年月日,点击”计算”按钮

提示”请输入--个在1800和2500之间的整

数”

请输入•个在1800和2500之间的整数

年份在

Y3中

ND-003

1989-1-15

输入年月日,点击”计算”按钮

捉示”请输入-个在1和12之间的整数”

请输入•个在1和

12之间的整数

月份在

M2中

ND-004

1989-13-12

输入年月日,点击”计算”按钮

捉示”请输入-个在1和12之间的整数”

请输入•个在1和

12之间的整数

月份在

M3中

ND-005

1989-4—2

输入年月日,点击”计算”按钮

提示”请填入-个在1和31之间的整数”

请填入•个在1和

31之间的整数

日期在

D2中

ND-006

1989-4-32

输入年月日,点击”计算”按钮

提示”请填入-个在1和31之间的整数”

请填入•个在1和

31之间的整数

日期在

D3中

表3:

较为合理的有效等价类的划分

等价类

年份

月份

日期

有效等价类

Yl:

1800W年份2050,且为闰年

Ml:

5、7、10、

12

D1:

1W日期W28

Y2:

1800W年份2050,且为非闰年

M2:

2^4、6、8、

9、11

D2:

29

M3:

l

D3:

30

M4:

3

D4:

31

表4:

有效等价类测试用例

ID

输入日期(年-加日)

操作步骤

预期输出(年-月-日)

实际输出(年-加日)

ND-007

1850-1-1

输入年月日,点击”计算”按钮

1849-12-31

1849-12-31

ND-008

1850-3-29

同上

1850-3-2&

1850-3-28・

XD-009

1850-5-30

同上

1850-5-29

1850-5-29

ND-010

1850-11-31

同上

输入日期不合法的合理提示

Themonth11Cannothave31days・

ND-011

1900-1-29

同上

1900-1-28

1900-1-28

ND-012

1900-3-30

同上

1900-3-29

1900-3-29

ND-013

1900-5-31

同上

1900-5-30

1900-5-30

ND-014

1900-11-1

同上

1900-10-31

1900-10-31

ND-015

-1-30

同上

-1-28

-1-28

ND-016

-3-31

同上

-3-30

-3-30

ND-017

-5-1

同上

-4-30

-4-30

ND-018

-11-29

同上

-11-28

-11-28

ND-019

-1-31

同上

-1-30

-1-30

ND-020

-2-1

同上

-1-31

-1-31

ND-021

-5-29,

同上

-5-28

-5-28

ND-022

-11-30

同上

-11-29

-11-29

2.2.2边界值法

根据preday的有效输入日期能够设置边界值法的测试用例取

值如下,

年份:

1800、

1801、

2049、2050

月份:

1、2、

11、

12

日期:

K2.

30、

31

此时,构成的边界值法测试用例如表5所示。

表5:

边界值法测试用例

ID

输入口期(年-月-日)

操作步骤

预期输出(年■月-日)

实际输出(年-月■日)

ND-023

1800-1-1

输入年月日,点击”计算”按钮

输入日期超出范围的合理提示

Reachthemindate・

ND-024

1800-2-1

同上

1800-1-31

1800-1-31

ND-025

1800-11-30

同上

1800-11-29

1800-11-29

ND-026

1800-12-31

同上

1800-12-30

1800-12-30

ND-027

1801-1-2

同上

1801-1-1

1801-1-1

ND-028

1801-2-30

同上

输入日期不合法的合理提示

Themonth2Cannothave30days・

ND-029

1801-11-31

同上

输入日期不合法的合理提示

Themonth11Cannothave31days・

ND-030

1801-12-1

同I-.

1801-11-30

1801-11-30

ND-031

2049-1-30

同I-.

2049-1-29

2049-1-29

ND-032

2049-2-31

同上

输入日期不合法的

Themonth2Cannot

合理提示

have31days・

ND-033

2049-11-1

同I-.

2049-10-31

2049-10-31

ND-034

2049-12-2

同I-.

2049-12-1

2049-12-1

ND-035

2050-1-31

同上

2050-1-30

2050-1-30

ND-036

2050-2-1

同上

2050-1-31

2050-1-31

ND-037

2050-11-2

同上

2050-11-1

2050-11-1

ND-038

2050-12-30

同上

2050-12-29

2050-12-29

2.2.2错误推测法

错误推测法是基于测试人员的经验和直觉来推测系统中可能存在的各种缺陷,有针对地设计测试用例的方法。

错误推法的基本思想是列举出系统中所有可能的缺陷和容易发生缺陷的特殊情况,并根据她们选择测试用例。

程序preday错误推测法测试用例设计如表6所示。

表6:

错误推测法测试用例

ID

输入日期(年-月-日)

操作步骤

预期输出(年■■月-日)

实际输出(年-月-日)

备注

ND-039

所有的接文本框都淸零

如图1

Verl-BugOOOl

ND-040

1800-12-0

输入年月日,点击”计算”按钮

1800-11-30

Verl-Bug0002

ND-041

1989-8-1

同上

1989-7-31

1989-7-30

Verl-Bug0003

ND-042

1800-1-1

同上

最小输入日期的合理提示

输出”Reachthemindate.

经过

ND-043

2050-12-31

同上

2050-12-30

2050-12-30

经过

ND-044

-3-1

同上

-2-29

-2-29

经过

ND-045

-0-0

同上

-1-29

Verl-BugOOOl

2.3黑盒软件测试用例的执行

2.3.1Verl-BugOOOl

运行程序后,界面上的年、月、日输入框内的数据没有清空。

如图1所示:

2.3.2Verl-Bug0002

输入日期1800-12-0后,会跳出输入日期不合法提示的警告信息,如图2所示,点击确定后能得到前一天的日期并显示在对话框内,如图3所示:

2.3.3Verl-Bug0003

输入1989年8月1日后点击确定按钮后显示的日期是1989-7-30,实际上7月是有31天的,即程序显示的日期不正确,程序运行如图4所示:

2.3.3Verl~Bug0004

输入日期-0-0后,会跳出”请填入一个在1和12之间的整数”的警告信息,如图5所示,点击确定后能在对话框内显示—1-29,如图6所示:

 

2.4软件缺陷报告的设计

缺陷报告

缺陷名称:

显示错误的日期

Verl-Bug0003

报告人:

曹洪

部门:

营业部客服B组

发现人:

曹洪

缺陷编号ID:

报告时间:

-11-3

发现时间:

-11-1

 

部门:

泉海潮公司

发现场所:

泉海潮公司软件工具实验室501

软件系统名:

preday软件版本:

preday1.0

发生阶段:

用户使用

再现率:

100%

严重级:

优先级:

处理决定决定人:

曹洪

-11-3,缺陷报告提交给软件开发部门,限-11-518:

00前修复。

-11-4±午,质保部门修错验证测试;-11-4下午,与其它修复软件一起提交给版本发布部门

-11-5,版本发布部门作为升级版Verl.0SP1交付给用户。

缺陷现象

输入日期是1989-8-1,点击确定按钮后显示的日期是1989-7-30,实际上7月是有31天的,即程序显示的日期不正确,程序运行如图4所示:

缺陷再现步骤

1、在线数据

d:

\preday\Bug\Verl\Verl-Bug0003\Verl-Bug0003.txt

2、输入数据

3、点击【计算】按钮

 

2.5软件缺陷修正报告的设计

修错报告

缺陷名称:

显示错误的日期

Verl-Bug0003

报告人:

曹洪

-11-4

部门:

软件开发部preday项目组

缺陷编号ID:

报告时间:

修错时间:

修错人:

宫毕克

-11-4

部门:

软件开发部preday项目组

1.缺陷原因

表面原因:

将7月的天数错误的设置为30天,实际应是31天。

实质原因:

在设置日期为1、月份为8时,选择处理的逻辑错

误。

2.缺陷对策

重新设置8月1日的逻辑处理。

3.对策函数名

predayDlg.cpp的

voidPredayl(constint&year,constint&month,const

int&day,CString&strpreday)

修正记号:

Verl-Bug0003

4.缺陷产生阶段

编码

5.修正后结果

2.6白盒软件测试用例的设计

修正的代码:

if(month=5||month=7||month==10||month==12){preday=30;

premonth=month-1;

}

elseif(month==3){

premonth=month-1;

if(isLeapYear(year)){

preday=29;

else{

preday=28;

}

}

elseif(month==1){

if(year==1800)

{

AfxMessageBox("Reachthemindate.\n^);bValid=false;

}

else

{

preday=31;

premonth=12;

preyear=year_1;

}

}

else{

preday=31;

premonth=month-1;

}2.6.1语句覆盖

利用语句覆盖设计测试用例时应保证程序的每一条可执行语句至少执行一次。

从程序图上看,其实等同于节点覆盖。

语句覆盖率的计算方式如下:

语句覆盖率二至少被执行一次的语句数量/可执行的语句总数

进行白盒测试的程序段的流程图如图2.6.1所示,开始此段程序的条件是日期为1,即在设计测试用例时所有的日期都必须为1时程序运行时才能运行选择的这段程序。

语句覆盖的测试用例如表2.6.1所示,表中经过的路径为图2.6.1中所示的路径。

图2.6.1逻辑覆盖的流程图

 

表2.6.1语句覆盖的测试用例设计

ID

输入

预期输出

经过路径

语句覆盖

年份

月份

日期

年-月-日

LC-001

1989

5

1

1989-4-30

A

1&67%

LC-002

1980

3

1

1980-2-29

BCD

1&67%

LC-003

3

1

-2-28

BCE

1&67%

LC-001

1800

1

1

Reachthemindate・

BFGH

1&67%

LC-005

1801

1

1

1800-12-31

BFGI

25%

LC-006

1988

6

1

1988-5-31

BFJ

16.67%

2.6.2判定覆盖

判定覆盖又称分支覆盖,其含义是:

设计测试用例时应保证程序中每个判定节点的取真和去假分支至少执行一次。

由于判定节点并非只有二值情况,对于多分支的情况,判定覆盖的含义为:

测试用例的设计应保证程序中每个判定节点取得每种可能的结果至少一个。

从流程图来看,判定覆盖等同于边覆盖。

判定覆盖率的计算公式如下:

判定覆盖率二判定结果被评价的次数/判定结果的总数

判定覆盖的测试用例设计

ID

输入

预期输出

经过路径

判定覆盖

年份

月份

日期

年-月-H

LC-007

1990

12

1

1990-11-30

A

20%

LC-008

1898

3

1

1898-2-28

BCE

60%

LC-009

3

1

-2-29

BCD

60%

LC-010

1

1

-12-31

BFGI

80%

LC-011

1800

1

1

Reachthemindate・

BFGH

80%

LC-012

11

1

-10-31

BFJ

60%

2.6.3条件组合覆盖

条件组合覆盖的含义是:

测试用例的设计应满足每个判定节点中所有简单判定条件的各种的组合应至少执行一次。

条件组合覆盖率的计算方法如下:

条件组合覆盖率二条件操作数值至少被评价一次的数量/条件操作数值的所有组合总数

条件组合覆盖的测试用例设计表2.6.3,其相应测试用例的简单判定条件的判定如简单判定条件表。

表:

2.6.3条件组合覆盖的测试用例

ID

输入

预期输出

条件组合覆盖率

年份

月份

日期

年-月-II

LC-013

5

1

-4-30

12.5%

LC-014

7

1

-6-30

25%

LC-015

2033

10

1

2033-9-30

37.5%

LC-016

12

1

-11-30

50%

LC-017

1866

3

1

1866-2-28

62.5%

LC-018

1804

3

1

1804-2-29

62.5%

LC-019

1800

1

1

1800-4-30

87.5%

LC-020

1999

1

1

1999-4-30

87.5%

简单判定条件判定表

ID

简单判定条件

Month

==5

Month

==7

Month

==10

Month

==12

Month

==3

Month

==1

Year

==1800

isLeapYear

(year)

LC-013

T

LC-014

F

T

LC-015

F

F

T

LC-016

F

F

F

T

LC-017

F

F

F

F

T

F

LC-018

F

F

F

F

T

T

LC-019

F

F

F

F

F

T

T

LC-020

F

F

F

F

F

T

F

2.7黑盒回归测试用例的设计

验证软件缺陷的修正

验证人:

曹洪

验证版本:

Verl.OSPl

1、使用发生软件缺陷的测试用例(1989-8-1)

输出结果:

predayis:

1989-7-31.

判定:

0K

输入日期1989-8-lc

2、做回归测试一检证因修错并未破坏原来正确的部分

发生Verl-Bug0003错误的原因是再设计8月1日的日期时逻辑处理错误,再选择回归测试的测试用例是主要是针对日期为1,月份为7或不为7、年份任意的日期进行测试,测试用例设计如下表:

回归测试测试用例表

ID

输入日期

操作步骤

预计输出

实际输出

备注

HG-001

1989-8-1

输入年月日,点击”计算”按

1989-7-31

1989-7-31

经过

HG-002

1999-8-1

同上

1999-7-31

1999-7-31

经过

HG-003

2050-8-1

同上

2050-7-31

2050-7-31

经过

HG-004

1800-8-1

同上

1800-7-31

1800-7-31

经过

HG-005

1801-1-1

同上

1800-12-31

1800-12-31

经过

HG-006

1804-2-1

同上

1804-1-31

1804-1-31

经过

HG-007

1804-3-1

同上

1804-2-29

1804-2-29

经过

HG-008

1806-3-1

同上

1806-2-28

1806-2-28

经过

HG-009

1888-4-1

同上

1888-3-31

1888-3-31

经过

HG-010

1900-5-1

同上

1900-4-30

1900-4-30

经过

HG-011

1945-6-1

同上

1945-5-31

1945-5-31

经过

HG-012

1956-7-1

同上

1956-6-30

1956-6-30

经过

HG-013

1999-9-1

同上

1999-8-31

1999-8-31

经过

HG-014

-10-1

同上

-9-30

-9-30

经过

HG-015

2032-11-1

同上

2032-10-31

2032-10-31

经过

HG-016

2036-12-1

同上

2036-11-30

2036-11-30

经过

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

当前位置:首页 > 自然科学 > 物理

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

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