软件测试实验报告测试计划黑盒测试白盒测试.docx

上传人:zf 文档编号:2418560 上传时间:2020-06-22 格式:DOCX 页数:20 大小:451.88KB
返回 下载 相关 举报
软件测试实验报告测试计划黑盒测试白盒测试.docx_第1页
第1页 / 共20页
软件测试实验报告测试计划黑盒测试白盒测试.docx_第2页
第2页 / 共20页
软件测试实验报告测试计划黑盒测试白盒测试.docx_第3页
第3页 / 共20页
软件测试实验报告测试计划黑盒测试白盒测试.docx_第4页
第4页 / 共20页
软件测试实验报告测试计划黑盒测试白盒测试.docx_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《软件测试实验报告测试计划黑盒测试白盒测试.docx》由会员分享,可在线阅读,更多相关《软件测试实验报告测试计划黑盒测试白盒测试.docx(20页珍藏版)》请在冰点文库上搜索。

1、 河北民族师范学院 软件测试课程设计报告 题 目 : NextDate 函 数 姓 名: 班 级: 学 号: 指导老师: 2014.10.9 目 录 第 1 章 软件测试的概念和设计要求 3 1.1 测试目的 3 1.2 测试选题 . 4 1.3 测试人员 . 4 1.4 测试方法 . 4 1.5 测试资料及参考书 . 4 1.6 关于黑盒测试 . 4 1.7 关于白盒测试 . 5 1.8 、黑盒测试与白盒测试的比较 . 6 1.9 软件测试过程 . 6 1.10 数据整理 7 第 2 章 NextDate 函数问题 . 8 2.1 NextDate 函数的黑盒测试 . 8 2.1.1. 问题

2、描述: 8 2.1.2. 程序代码(开发环 境: Windowsxp xp、 java): . 8 2.1.3. 测试方法 9 2.1.4. 测试用例设计 9 2-2NextDate 函数的白盒测试 11 2.2.1 核心程序代码 . 11 2.2.2 程序流程图 . 12 2.2.3 测试用例 . 12 2.2.4 程序控制流图 . 14 设计心得与体会 14 第 1 章 软件测试的概念和设计要求 1.1 测试目的 1. 练习和掌握软件测试管理的一般过程与步骤; 2. 掌握测试管理的人工过程和能够通过相关管理软件实现以下工作: a)配置软件资产信息、软件需求、软件模型和缺陷数据库; b)创建

3、和管理多个测试组和用户; c)配置测试环境、编写详细测试计划、安排测试进度; d)设计测试脚本、测试用例; e)实施测试、执行测试和评估测试。 1.2 测试选题 NextDate 函数; 1.3 测试人员 张 :软件测试计划及相关资料的编写与收集。 李 :对特定问题编写程序代码,并对其进行黑盒测试。 王 :对特定问题编写程序代码,并对其进行白盒测试。 1.4 测试方法 对于选题,使用黑盒测试技术,测试内容包括等价类划分测试、边界值分 析测试、决策表方法使用。 使用白盒测试技术,测试内容包括语句覆盖测试、分支覆盖测试、条件覆 盖测试、分支 /条件覆盖测试、条件组合覆盖测试及基本路径测试。 1.5

4、 测试资料及参考书 1. 软件测试与维护基础教程,机械工业出版社,黄武 2. 软件测试技术基础教程,电子工业出版社,顾海花 3. 软件测试,清华大学出版社,周元哲 1.6 关于黑盒测试 测试规划是基于产品的功能,目的是检查程序各个功能是否能够实现,并检 查其中的功能错误,这种测试方法称为黑盒测试 (Black-box Testing)方法。 黑盒测试又称为功能测试、数据驱动测试和基于规格说明的测试。它是一种 从用户观点出发的测试,一般被用来确认软件功能的正确性和可操作性。 黑盒测试的基本观点是:任何程序都可以看作是从输入定义域映射到输出值 域的函数过程,被测程序被认为是一个打不开的黑盒子,黑盒

5、中的内容(实现 过程)完全不知道,只明确要做到什么。 黑盒测试主要根据规格说明书设计测试用例,并不涉及程序内部构造和内 部特性,只依靠被测程序输入和输出之间的关系或程序的功能设计测试用例。 1. 黑盒测试的特点: ( 1) 黑盒测试与软件的具体实现过程无关,在软件实现的过程发生 变化时,测 试用例仍然可以使用。 ( 2) 黑盒测试用例的设计可以和软件实现同时进行,这样能够压缩总的开发时 间。 2.黑盒测试的具体技术方法: 边界值分析法 等价类划分法 因果图法 决策表法 1.7 关于白盒测试 测试规划基于产品的内部结构进行测试,检查内部操作是否按规定执行,软件 各个部分功能是否得到充分使用,则这

6、种测试方法称为白盒测试 (White-box Testing)方法。 白盒测试又称为结构测试、逻辑驱动测试或基于程序的测试,一般用来分析程 序的内部结构。 白盒测试将被测程序看作一个打开的盒子,测试者能够看到被测源程序,可以 分析被测程序的内部结构,此时测试的焦点集中在根据其内部结构设计测试用 例。 白盒测试要求是对某些程序的结构特性做到一定程度的覆盖,或者说这种测试 是 “ 基于覆盖率的测试 ” 。 通常的程序结构覆盖有: 语句覆盖 判定覆盖 条件覆盖 判定 /条件覆盖 路径覆盖 1.8 、黑盒测试与白盒测试的比较 1.9 软件测试过程 单元测试: 针对每个单元的测试, 以确保每个模块能正常

7、工作为目标。 集成测试: 对已测试过的模块进行组装,进行集成测试。目的在于检验与软件 设计相关的程序结构问题。 确认(有效性)测试 :是检验所开发的软件能否满足所有功能和性能需求的最 后手段。 系统测试 :检验软件产品能否与系统的其他部分(比如,硬件、数据库及操作 人员)协调工作。 验收(用户)测试: 检验软件产品质量的最后一道工序。主要突出用户的作用, 同时软件开发人员也应有一定程度的参与。 1.10 数据整理 测试所得到的用例测试报告、 BUG 报告,需要进行反馈和最后的归档,归档 的工作按照项目计划中所规定的内容进行,反馈的工作在测试项结束后,整理 成测试总结报告后进行,具体的日期,在项

8、目计划中有规定。 不同阶段的测试,都需要重复以上的步骤。 其他必要的数据整理的工作,由项目经理在进行过程中进行安排。 第 2 章 NextDate 函数问题 2.1 NextDate 函数的黑盒测试 2.1.1. 问题描述: NextDate 是一个有三个变量 (月份、日期和年 )的函数 . 函数返回输入日期后面的那个日期 . 变量月份、日期和年都具有整数值,且满足以下条件: c1. l 月 份 12 c2. 1 日 期 31 c3. 1812年 2012 2.1.2. 程序代码(开发环境: Windowsxp xp、 c 语言): #include“stdafx.h“ #include us

9、ing namespace std; void NextDate(int year,int month,int day); void main() int year=0,month=0,day=0; NextDate(year,month,day); void NextDate(int year,int month,int day) coutyear; while(!(year=1911 coutmonth; while (month12|monthmonth; coutday; while (day31|dayday; while(month=4 if(year%4=0 i=day-29;

10、while(month=2 if(month=2 day=1; else day+; else day+; /月底计算; switch(month) case 1: case 3: case 5: case 7: case 8: case 10: if (day=32) month+; day=1; cout“明天是: “year/month/dayendl; break; case 2: if(day=29) month=3; day=1; cout“明天是: “year/month/dayendl; break; case 4: case 6: case 9: case 11: if(da

11、y=31) month+; day=1; cout“明天是: “year/month/dayendl; break; case 12: if(day=32) year+; month=1; day=1; cout“明天是: “year/month/dayendl; break; cout“明天是: “year/month/dayendl; 2.1.3. 测试方法 黑盒测试(等价类划分 +边界值分析 +决策表方法) 2.1.4. 测试用例设计 1. 等价类划分方法 输入条件 编号 有效等价类 编号 无效等价类 输入年份 1912=年 =2012 年 2012 输入月份 1=月份 =12 月 12

12、 输入日期 1=日期 =31 日期 31 输入类型 输入为 int 型 除 int 型外的任意输 入 输入为闰年 输入 2 月 29 日 输入为闰年 2 月 30 日 输入为平年 输入 2 月 28 日 输入 2 月 29 日 测试执行情况与记录 测试用例编号 输入 预期结果 实际输出 覆盖等价类 1 1988/2/3 1988/2/4 1988/2/4 2 2000/2/29 2000/3/1 2000/3/1 3 2001/2/28 2001/3/1 2001/3/1 4 1800/1/23 年份输入 有误,请 重新输入 年份输入有误,请重新输 入 5 2200/3/2 年份输入 有误,请

13、 重新输入 年份输入有误,请重新输 入 6 1912/0/3 月份输入 有误,请 重新输入 月份输入有误,请重新输 入 7 1927/30/3 月份输入 有误,请 重新输入 月份输入有误,请重新输 入 8 1956/3/-20 日期输入 有误,请 重新输入 日期输入有误,请重新输 入 9 1972/3/43 日期输入 有误,请 重新输入 日期输入有误,请重新输 入 10 asd 程序进入 死循环 程序进入死循环 11 2000/2/30 本月是闰 月,请在 1-29 之间 从新输入 日期 本月是闰月,请在 1-29 之 间从新输入日期 12 2001/2/29 2001/2/30 2001/2

14、/30 2. 边界值分析方法 用例 月份 日期 年 预期输出 实际输出 1 6 15 1911 6/16/1911 6/16/1911 2 6 15 1912 6/16/1912 6/16/1912 3 6 15 1962 6/16/1962 6/16/1962 4 6 15 2012 6/16/2012 6/16/2012 5 6 15 2013 6/16/2013 6/16/2013 6 6 1 1962 6/2/1962 6/2/1962 7 6 2 1962 6/3/1962 6/3/1962 8 6 15 1962 6/16/1962 6/16/1962 9 6 30 1962 7/

15、1/1962 7/1/1962 10 6 31 1962 非法输入 非法输入 11 1 15 1962 1/16/1962 1/16/1962 12 2 15 1962 2/16/1962 2/16/1962 13 6 15 1962 6/16/1962 6/16/1962 14 11 15 1962 11/16/1962 11/16/1962 15 12 15 1962 12/16/1962 12/16/1962 3. 决策表方法 ( 1) month、 day、 year 的有效等价类: M1: month: month 有 30 天 M2: month: month 有 31 天 ,12

16、 月除外 M3: month: month 是 12 月 M4: month: month 是 2 月 D1: day: 1 day 27 D2: day: day=28 D3: day: day=29 D4: day: day=30 D5: day: day=31 Y1: year: year 是闰年 Y2: year: year 不是闰年 ( 2) 根据各种有效的输入情况,程序中可能采取的操作有以下六种: a1:不可能 a2: day 加 1 a3: day 复位 a4: month 加 1 a5: month 复位 a6: year 加 1 选 规 项 则 13 4 5 69 10 11

17、14 15 条件: c1: month 在 M1 M1 M1 M2 M2 M3 M3 c2: day 在 c3: year 在 D1D3 D4 D5 D1D4 D5 D1D4 D5 动作: a1:不可能 a2: day 加 1 a3: day 复位 a4: month 加 1 a5;month 复位 a6: year 加 1 选 规 项 则 16 17 18 19 20 2122 条件: c1: month 在 M4 M4 M4 M4 M4 M4 c2: day 在 c3: year 在 D1 D2 Y1 D2 Y2 D3 Y1 D3 Y2 D4D5 动作: a1:不可能 a2: day 加

18、1 a3: day 复位 a4: month 加 1 a5;month 复位 a6: year 加 1 用例列表及其执行结果: 测试用例 Month Day Year 预期输出 13 9 16 2001 17/9/2001 4 9 30 2004 1/10/2004 5 9 31 2001 不可能 69 1 16 2004 17/1/2004 10 1 31 2001 1/2/2001 1114 12 16 2004 17/12/2004 15 12 31 2001 1/1/2002 16 2 16 2004 17/2/2004 17 2 28 2004 29/2/2004 18 2 28 2

19、001 1/3/2001 19 2 29 2004 1/3/2004 20 2 29 2001 不可能 2122 2 30 2004 不可能 2-2 求最大公约数和最小公倍数的白盒测试 2.2.1 核心程序代码 if(n1n2)/使得 n1为较大的数 ,n2为较小的数 temp=n1; n1=n2; n2=temp; p=n1*n2;/p为两个数的乘积 while(n2!=0)/求两个数的最大公约数 r=n1%n2; n1=n2; n2=r; 2.2.2 程序流程图 2.2.3 测试用例 1. 语句覆盖测试用例: 输入 期望输出 执行路径 测试结果 Case1 n1=10 n2=25 最大公约

20、数: 5 最小公倍数: 50 acdegf 最大公约数: 5 最小公倍数: 50 2. 判定覆盖测试用例 输入 期望输出 执行路径 测试结果 Case1 n1=5 n2=4 最大公约数: 1 最小公倍数: 20 abdegf 最大公约数: 1 最小公倍数: 20 Case2 n1=12 n2=36 最大公约数 12 最小公倍数: 36 acdegf 最大公约数: 12 最小公倍数: 36 3. 条件覆盖测试用例 输入 期望输出 执行路径 测试结果 Case1 n1=7 n2=4 最大公约数: 1 最小公倍数: 28 abdegf 最大公约数: 1 最小公倍数: 28 Case2 n1=4 最大

21、公约数: 4 acdef 最大公约数: 4 n2=8 最小公倍数: 8 最小公倍数: 8 4. 条件 -判定覆盖测试用例 输入 期望输出 执行路径 测试结果 Case1 n1=4 n2=6 最大公约数: 2 最小公倍数: 12 acdegf 最大公约数: 2 最小公倍数: 12 Case2 n1=7 n2=5 最大公约数: 1 最小公倍数: 35 abdegf 最大公约数: 1 最小公倍数: 35 5. 条件组合覆盖测试用例 输入 执行路径 执行路径 测试结果 Case1 n1=4 n2=2 最大公约数: 2 最小公倍数: 4 abdef 最大公约数: 2 最小公倍数: 4 Case2 n1=

22、4 n2=16 最大公约数: 4 最小公倍数: 16 acdef 最大公约数: 4 最小公倍数: 16 Case3 n1=9 n2=4 最大公约数: 1 最小公倍数: 36 abdegf 最大公约数: 1 最小公倍数: 36 Case4 n1=4 n2=6 最大公约数: 2 最小公倍数: 12 acdegf 最大公约数: 2 最小公倍数: 12 备注 其他条件组合,无法到达结束 6. 基 本路径覆盖测试用例 输入 期望输出 执行路径 测试结果 Case1 n1=4 n2=8 最大公约数: 4 最小公倍数: 8 acdef 最大公约数: 4 最小公倍数: 8 Case2 n1=80 n2=14

23、最大公约数: 2 最小公倍数: 560 abdegf 最大公约数: 2 最小公倍数: 560 Case3 n1=20 n2=10 最大公约数: 10 最小公倍数: 20 abdef 最大公约数: 10 最小公倍数: 20 Case4 n1=12 n2=15 最大公约数: 3 最小公倍数: 60 acdegf 最大公约数: 3 最小公倍数: 60 2.2.4 程序控制流图 设计心得与体会 本次测试中的压力测试是指模拟实际应用的软硬件环境及多用户订单提交过程的系 统负荷,运行测试软件来测试被测系统的可靠性,同时还要测试被测系统的响应时间。 根据课题的要求,进行上机实验调试,掌握软件测试的基本步骤和

24、方法, 掌握实际软件 工程中与软件测试有关的相关文档的编制。 通过此次软件测试的课程设计,深刻学习掌握了软件测试和软件测试过程的 基本方法和基本技术,关于黑盒、白盒的测试用例的设计,也进行了认真学习研究, 从而进一步提高了自己在程序上的编写能力,以及一些之前未触及的问题 ,为即将 踏上社会的自己又做了一份理论和实践的准备。 参考文献 专 (译 )著: 序号 著者 .书名(译者) M.出版地:出版者,出版年:起 止页码 . 期 刊: 序号 著者 .篇名 J.刊名,年,卷号(期号):起 止页码 . 论 文 集: 序号 著者 .篇名 A编者 .论文集名 C .出版地:出版者,出版者 . 出版年: 起 止页码 . 学位论文: 序号 著者 .题名 D .保存地:保存单位,授予年 . 专利文献: 序号 专利所有者 .专利题名 P .专利国别:专利号,出版日期 . 标准文献: 序号 标准代号 标准顺序号 发布年,标准名称 S . 报 纸: 序号 责任者 .文献题名 N.报纸名,年 月 日(版次) . 网络资料: 序号 具体网址 .

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 表格/模板 > 调查/报告

网站客服QQ:89258806
电脑版 |冰点文库版权所有
经营许可证:鄂ICP备14012071号-5