软件测试实验报告.docx
- 文档编号:6598211
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:17
- 大小:74.97KB
软件测试实验报告.docx
《软件测试实验报告.docx》由会员分享,可在线阅读,更多相关《软件测试实验报告.docx(17页珍藏版)》请在冰豆网上搜索。
软件测试实验报告
件
测
试
实
验
报
姓名:
*******
专业:
*********************
班级:
***********
学号:
*************
日期:
2011-5-25
实验一:
黑盒测试
一、实验目的:
了解三角形问题的边界值分析测试用例。
二、实验要求:
在三角形问题描述中,除了要求边长是整数外,没有给出其它的限制条件。
在此,我们将三角形每边边长的取范围值设值为[1,100]。
在三角形问题中,有四种可能的输出:
等边三角形、等腰三角形、一般三角形和非三角形。
利用这些信息能够确定下列输出(值
域)等价类。
R1={:
边为a,b,c的等边三角形}
R2={:
边为a,b,c的等腰三角形}
R3={:
边为a,b,c的一般三角形}
R4={:
边为a,b,c不能组成三角形}
三、实验程序:
#include"iostream.h"
voidmain()
{
inta,b,c;
cout«"请输入1<=a<=100或1<=b<=100或lv=c<=100"v
if((1<=a&&a<=100)&&(1<=b&&b<=100)&&(1<=c&&c<=100))
{if(a+b>c&&a+c>b&&c+b>a)
{
if(a==b&&a==c&&c==b){cout<<"三角形为等边三角形"< { coutvv"三角形为等腰三角形"< } elseif((a*a+b*b)==c*c||(c*c+b*b)==a*a||(a*a+c*c)==b*b) { cout«"三角形为直角三角形"< } elsecout«"a,b,c可组成三角形"< } elsecout«"不存在a,b,c组成的三角形"< } elsecout<<"a或b或c的值不合法,无法判断"< 四、测试用列: 用列ID a b c 预期输出 1 P1 1十 1 三角形为等边三角形 2 2 2 1 三角形为等腰三角形 3 3 4 5 三角形为直角三角形 4 P2 2亍 2 三角形为等边三角形 5 2 3 3 三角形为等腰三角形 6 4 3 5 三角形为直角三角形 7 r5 4n 3 三角形为直角三角形 8 1 1 2 不存在a,b,c组成的三角形 9 4 2 2 不存在a,b,c组成的三角形 10 P2 4 2 不存在a,b,c组成的三角形 11 4 2 5 不存在a,b,c组成的三角形 12 0 0 0 a或b或c的值不合法,无法判断 13 P0 1「 1 a或b或c的值不合法,无法判断 14 2 0 12 a或b或c的值不合法,无法判断 15 13 13 0 a或b或c的值不合法,无法判断 16 P100 100n 100 三角形为等边三角形 17 100 100 0 a或b或c的值不合法,无法判断 18 100 12 101 a或b或c的值不合法,无法判断 19 100 12 100 不存在a,b,c组成的三角形 20 90 90 80 三角形为等腰三角形 五、等价类划分: 输入条件 有效等价类 编号 无效等价 类 编号 三角形 a+b>c&&a+c>b&&c+b>a&&a=b&&c=b 1 a<1,a>100, b<1,b>100,c<1,c>100 5 a+b>c&&a+c>b&&c+b>a&&a=b||c=b 2 a+b>c&&a+c>b&&c+b>a&& 3 非三角形 a+b 4 六、实验结论: 通过实验要求的条件编写的程序和测试用列的预期输出证明给该 程序是正确的 实验二: 黑盒测试 1. 一、实验目的: 了解xtDate函数的边界值分析测试用例。 二、实验要求: 程序有三个输入变量month、day、year(month、day和year均为整数值,并且满足: 1wmonth<<121 出该输入日期在日历上第二天的日期。 例如,输入为2005年11月30日,则该程序的输出为2005年12 月1日。 请用等价类测试和边界测试法设计测试用例。 三、实验程序: #include"stdio.h" intIsLeapYear(intYear); intIsCurrentDate(intYear,intMonth,intDay); intReturnNextDay(intYear,intMonth,intDay); intLeapYear_Month_SumDay[12]={31,29,31,30,31,30,31,31,30,31,30,31};voidmain() {intYear=0,Month=0,Day=0,NextDay=0; printf("pleaceenterrightDate(example: 2005627): \n");scanf("%d%d%d",&Year,&Month,&Day); NextDay=ReturnNextDay(Year,Month,Day); switch(NextDay) {case0: printf("notacurrentdate\n");break; case1: if(Month==12) {Year++;Month=1;}else{Month++;}break; } if(NextDay! =0)printf("Theyouinputnextdateis%d-%d-%d.\n",Year,Month,NextDay); } intIsLeapYear(intYear) {if(Year%4==0) {if(Year%400)return1; else{if(Year%100==0)return0; elsereturn1; }} else{return0;} } intIsCurrentDate(intYear,intMonth,intDay) {if((Year<1900)&&(Year>2050)&&(Month>12)&&(Month<1)&&(Day<1)&&(Day>31))printf("输入的数据有错,请重新输入! ! "); elsereturn1; intReturnNextDay(intYear,intMonth,intDay){intThisMonthSumDay; if(IsCurrentDate(Year,Month,Day)==1) {ThisMonthSumDay=LeapYear_Month_SumDay[Month-1]; if(Month==2) {if(IsLeapYear(Year)==0)ThisMonthSumDay--;} if(Day else{if(Day==ThisMonthSumDay){return1;} else{return0;} } }else{return0;} } 四、实验用例: 用例ID Year Month Day 预期输出 1 2000 1 1 2000-1-2 2 2000 2 31 不可能 3 2001 3 30 2001-3-31 4 1900 4 15 1900-4-16 5 2001 2 29 不可能 6 2004 2 28 2004-2-29 五、等价类划分: 输入条件 编号 有小等价类 编号 无效等价类 输入年份 1 1900<=n<=2050 7 n>2050||n<1900 输入月份 2 1<=y<=12 8 y>12||y>1 输入日期 3 1<=r<=31 9 r>31||r<1 闰年 4 1<=r<=29 10 r>29||r<1 非闰年 5 1<=r<=28 11 r>28||r<1 2. 一、实验目的: 了解找零钱组合的方法 二、实验要求: 假设商店货品价格(R)都不大于100元(且为整数),若顾客付款(P)在10元内,现有-个程序能在每位顾客付款后给出找零钱的最佳组合(找给顾客货币张数最少)。 假定此商店的货币面值只 包括: 50元(N50)、10元(N10)、5元(N5)、1元(N1)四种。 请结合等价类划分法和边界值分析法为上述 程序设计出相应的测试用例。 三、实验程序: #include"iostream.h" voidmain() {chari; inta,b;〃a代表商品价钱,b代表顾客付的钱。 do {cout<<"请输入商品价钱a(1—100): "; cin>>a; cout<<"请输入顾客付款b(1—100): "; cin>>b; cout<<"最佳找零方案:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)