软件测试实验报告.docx
- 文档编号:4903211
- 上传时间:2022-12-11
- 格式:DOCX
- 页数:17
- 大小:80.30KB
软件测试实验报告.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或1<=c<=100"< cin>>a>>b>>c; 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<<"三角形为等边三角形"< elseif(a==b||a==c||c==b) { cout<<"三角形为等腰三角形"< } 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 1 1 1 三角形为等边三角形 2 2 2 1 三角形为等腰三角形 3 3 4 5 三角形为直角三角形 4 2 2 2 三角形为等边三角形 5 2 3 3 三角形为等腰三角形 6 4 3 5 三角形为直角三角形 7 5 4 3 三角形为直角三角形 8 1 1 2 不存在a,b,c组成的三角形 9 4 2 2 不存在a,b,c组成的三角形 10 2 4 2 不存在a,b,c组成的三角形 11 4 2 5 不存在a,b,c组成的三角形 12 0 0 0 a或b或c的值不合法,无法判断 13 0 1 1 a或b或c的值不合法,无法判断 14 2 0 12 a或b或c的值不合法,无法判断 15 13 13 0 a或b或c的值不合法,无法判断 16 100 100 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均为整数值,并且满足: 1≤month≤12、1≤day≤31、1900≤year≤2050。 ),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上第二天的日期。 例如,输入为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文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试 实验 报告