0144004基础性实验报告.docx
- 文档编号:4454535
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:33
- 大小:1.04MB
0144004基础性实验报告.docx
《0144004基础性实验报告.docx》由会员分享,可在线阅读,更多相关《0144004基础性实验报告.docx(33页珍藏版)》请在冰豆网上搜索。
0144004基础性实验报告
学生实验报告
学院:
软通学院
课程名称:
软件测试与质量保证
专业班级:
软件14级2班
学号:
0144004
姓名:
肖智军
学生实验报告
(一)
学生姓名
肖智军
学号
0144004
同组人:
无
实验项目
被测程序的准备
■必修□选修
□演示性实验□验证性实验■操作性实验□综合性实验
实验地点
W202
实验仪器台号
W202-**
指导教师
毛澄映
实验日期及节次
2016-3-11234节
一、实验综述
1、实验目的及要求
实验目的:
1.通过初步为所编写的程序设计测试用例,对测试有一个初步的了解。
2.对软件测试(特别是手工测试)有初步的了解与理解。
试验要求:
1.复习Eclipse环境下的Java语言编程。
2.运用Java语言实现一个三角形类型判断类TriangleType,该类中重点包含如下函数:
根据输入三角形三边的值,判断三角形的类型并返回。
inttriangleJudge(inta,intb,intc)
其中a,b,c为三角形三边的值,如果不能构成三角形时返回0,等边三角形返回1,一般(非直角)等腰三角形返回2,一般直角三角形返回3,等腰直角三角形返回4,一般的三角形则返回5。
3.运用Java程序设计语言,设计一个日期计算类DateCal,该类主要包含如下几个方法:
DateCal(intyy,intmm,intdd);//构造函数
intisValid(DateCald);//判断是否是一个合法的日期,是--1,否--0
DateCalpreDate(DateCald);//在合法日期的基础上返回前一天
DateCalnextDate(DateCald);//在合法日期的基础上返回后一天
4.对上述程序输入值的各种可能性的测试,对软件测试有初步的了解和掌握。
2、实验仪器、设备或软件
1.个人计算机PC;
2.Eclipse编程环境。
二、实验过程(实验步骤、记录、数据、分析)
(1)步骤一
三角形类型判断:
主要代码:
判断属于何种三角形:
图1.1
结果及测试用例:
一般三角形:
图1.2
等边三角形
图1.3
一般(非直角)等腰三角形:
图1.4
一般直角三角形:
图1.5
一般三角形:
图1.6
测试序号
a
b
c
return
1
1
2
3
0
2
1
1
1
1
3
0
1
0
-1
4
3
4
5
3
5
1
1
4
-1
6
4
4
7
2
7
3
3
5
2
8
6
8
10
3
9
4
3
5
3
10
3
4
-5
-1
11
-3
-4
-5
-1
12
3
2
6
0
13
2
2
3
2
14
3
3
2
2
15
2
3
4
5
16
4
4
4
1
17
5
7
8
5
18
8
8
7
2
19
9
9
6
2
20
8
8
7
2
图1.7
(2)步骤二
①日期计算类:
详细代码:
判断输入日期是否合法:
图1.8
判断平闰年:
图1.9
其他部分代码:
staticDateCalpreDate(DateCald){
if(isValidate(d)==0){
returnnull;
}
DateCalpreDate=newDateCal(d.getYear(),d.getMonth(),d.getDay());
if(d.getDay()==1&&d.getMonth()==1){
preDate.setYear(d.getYear()-1);
preDate.setMonth(12);
preDate.setDay(31);
}elseif(d.getDay()==1){
preDate.setYear(d.getYear());
preDate.setMonth(d.getMonth()-1);
if(d.getMonth()==3){
if(isLeapYear(d.getYear())){
preDate.setDay(29);
}else{
preDate.setDay(28);
}
}else{
preDate.setDay(d.monthLengths[d.getMonth()-1]);
}
}else{
preDate.setYear(d.getYear());
preDate.setMonth(d.getMonth());
preDate.setDay(d.getDay()-1);
}
returnpreDate;
}
staticDateCalnextDate(DateCald){
if(isValidate(d)==0){
returnnull;
}
DateCalnextDate=newDateCal(d.getYear(),d.getMonth(),d.getDay());
d.monthLengths[2]=isLeapYear(d.getYear())?
29:
28;
if(d.getDay()==31&&d.getMonth()==12){
nextDate.setYear(d.getYear()+1);
nextDate.setMonth
(1);
nextDate.setDay
(1);
}elseif(d.getDay()==d.monthLengths[d.getMonth()]){
nextDate.setYear(d.getYear());
nextDate.setMonth(d.getMonth()+1);
nextDate.setDay
(1);
}else{
nextDate.setYear(d.getYear());
nextDate.setMonth(d.getMonth());
nextDate.setDay(d.getDay()+1);
}
returnnextDate;
}
②测试类:
详细代码:
packagemyProject;
importjava.util.Scanner;
publicclasstest{
@SuppressWarnings("resource")
publicstaticvoidmain(String[]args){
Scannerinput=newScanner(System.in);
System.out.println("请输入日期:
");
inty=input.nextInt();
intm=input.nextInt();
intd=input.nextInt();
DateCaldate=newDateCal(y,m,d);
System.out.print("日期合法性(1/0):
");
System.out.println(DateCal.isValidate(date));
DateCalpreDate=DateCal.preDate(date);
DateCalnextDate=DateCal.nextDate(date);
System.out.print("前一天:
");
System.out.println(preDate.getYear()+""+preDate.getMonth()+""+preDate.getDay());
System.out.print("后一天:
");
System.out.println(nextDate.getYear()+""+nextDate.getMonth()+""+nextDate.getDay());
}
}
测试用例和结果:
日期合法:
图1.10
日期不合法:
图1.11
2、分析讨论
对于第一个题目(判断三角形类型),首先要理清思路,我在做编写这个题目之前,根据我画的思路把每一种情况都考虑清楚,并且在纸上画了出来,一步一步的编写三角形判断程序。
三角形类型判断分情况而定,等边三角形在等腰三角形内,等腰直角三角形在等腰中又在直角中,在其中一方排除可能就不会重复输出,程序有一个缺陷输出√2时报错。
对于第二个题目(设计一个日期计算类DateCal),需要先判断日期合法性,还要判断平闰年,然后设计出前一天后一天各用一个方法,最后写一个测试类进行测试。
通过这次实验,我对问题的思考更加全面,要清晰,把各种情况考虑清楚后再着手写程序。
四、指导教师评语及成绩:
评语:
成绩:
指导教师签名:
批阅日期:
学生实验报告
(二)
学生姓名
肖智军
学号
0144004
同组人:
无
实验项目
基于JUnit的Java程序的单元测试
■必修□选修
□演示性实验□验证性实验■操作性实验□综合性实验
实验地点
W202
实验仪器台号
W202-**
指导教师
毛澄映
实验日期及节次
2016-3-81234节
一、实验综述
1、实验目的及要求
实验目的:
1.对开源测试工具形成一定的认识。
2.掌握开源工具的获取途径。
3.熟练使用JUnit开展Java程序的单元测试。
实验要求:
1.熟悉Eclipse开发环境,并掌握在Eclipse环境下如何使用JUnit。
2.掌握脱离Eclipse平台下自动化软件测试工具的使用。
3.掌握JUnit测试用例的书写。
4.结合辅助测试工具如JUnit、测试实验一中准备的三角形判断程序TriangleType和日期判断程序DateCal。
5.针对要求针对每个程序所设计的测试用例均不少于20个。
2、实验仪器、设备或软件
1.个人计算机PC;
2.Eclipse编程环境。
二、实验过程(实验步骤、记录、数据、分析)
(1)步骤一
测试TriangleType类
packageTriangleType;
importstaticorg.junit.Assert.*;
importorg.junit.Test;
publicclassTestTriangleType{
@Test
publicvoidTestTriangleType(){
TriangleTypetriangle=newTriangleType();
assertEquals(0,triangle.triangleType(2,2,2));
assertEquals(0,triangle.triangleType(2,3,5));
assertEquals(0,triangle.triangleType(-1,-1,2));
assertEquals(0,triangle.triangleType(0,4,0));
assertEquals(0,triangle.triangleType(100,200,300));
assertEquals(1,triangle.triangleType(6,6,6));
assertEquals(1,triangle.triangleType(3,3,3));
assertEquals(2,triangle.triangleType(7,7,8));
assertEquals(2,triangle.triangleType(9,9,5));
assertEquals(2,triangle.triangleType(999,999,3));
assertEquals(3,triangle.triangleType(3,4,5));
assertEquals(3,triangle.triangleType(6,8,10));
assertEquals(3,triangle.triangleType(5,12,13));
assertEquals(5,triangle.triangleType(12,13,8));
assertEquals(5,triangle.triangleType(2,9,10));
assertEquals(5,triangle.triangleType(55,36,40));
assertEquals(5,triangle.triangleType(11000,12000,13000));
assertEquals(5,triangle.triangleType(40,29,28));
assertEquals(5,triangle.triangleType(43,39,54));
assertEquals(5,triangle.triangleType(6,7,3));
}
}
(2)步骤二
测试DateCal类
packagemyProject;
importstaticorg.junit.Assert.*;
importorg.junit.Test;
publicclassTestDateCal{
@Test
publicvoidtestPreDate(){
DateCaldate1=newDateCal(2101,2,28);
DateCalPdate1=newDateCal(2101,2,27);
DateCalPredate1=DateCal.preDate(date1);
booleantp1=Pdate1.equals(Predate1);
assertEquals(true,tp1);
DateCaldate2=newDateCal(1997,1,28);
DateCalPdate2=newDateCal(1997,1,27);
DateCalPredate2=DateCal.preDate(date2);
booleantp2=Pdate2.equals(Predate2);
assertEquals(true,tp2);
DateCaldate3=newDateCal(1996,5,28);
DateCalPdate3=newDateCal(1996,5,27);
DateCalPredate3=DateCal.preDate(date3);
booleantp3=Pdate3.equals(Predate3);
assertEquals(true,tp3);
DateCaldate4=newDateCal(1998,8,1);
DateCalPdate4=newDateCal(1998,7,31);
DateCalPredate4=DateCal.preDate(date4);
booleantp4=Pdate4.equals(Predate4);
assertEquals(true,tp4);
DateCaldate5=newDateCal(0002,1,28);
DateCalPdate5=newDateCal(0002,1,27);
DateCalPredate5=DateCal.preDate(date5);
booleantp5=Pdate5.equals(Predate5);
assertEquals(true,tp5);
DateCaldate6=newDateCal(2001,6,28);
DateCalPdate6=newDateCal21001,6,27);
DateCalPredate6=DateCal.preDate(date6);
booleantp6=Pdate6.equals(Predate6);
assertEquals(true,tp6);
DateCaldate7=newDateCal(2001,13,28);
DateCalPdate7=newDateCal(2001,13,27);
DateCalPredate7=DateCal.preDate(date7);
booleantp7=Pdate7.equals(Predate7);
assertEquals(true,tp7);
DateCaldate8=newDateCal(1996,3,32);
DateCalPdate8=newDateCal(1996,2,-1);
DateCalPredate8=DateCal.preDate(date8);
booleantp8=Pdate8.equals(Predate8);
assertEquals(true,tp8);
DateCaldate9=newDateCal(1880,3,5);
DateCalPdate9=newDateCal(1880,3,4);
DateCalPredate9=DateCal.preDate(date9);
booleantp9=Pdate9.equals(Predate9);
assertEquals(true,tp9);
DateCaldate10=newDateCal(1994,6,1);
DateCalPdate10=newDateCal(1994,5,31);
DateCalPredate10=DateCal.preDate(date10);
booleantp10=Pdate10.equals(Predate10);
assertEquals(true,tp10);
}
@Test
publicvoidtestNextDate(){
DateCaldate1=newDateCal(1101,2,28);
DateCalNdate1=newDateCal(1101,3,1);
DateCalNedate1=DateCal.nextDate(date1);
booleantp1=Ndate1.equals(Nedate1);
assertEquals(true,tp1);
DateCaldate2=newDateCal(1996,2,28);
DateCalNdate2=newDateCal(1996,2,29);
DateCalNedate2=DateCal.nextDate(date2);
booleantp2=Ndate2.equals(Nedate2);
assertEquals(true,tp2);
DateCaldate3=newDateCal(1996,6,28);
DateCalNdate3=newDateCal(1996,6,29);
DateCalNedate3=DateCal.nextDate(date3);
booleantp3=Ndate3.equals(Nedate3);
assertEquals(true,tp3);
DateCaldate4=newDateCal(1996,8,1);
DateCalNdate4=newDateCal(1996,8,2);
DateCalNedate4=DateCal.nextDate(date4);
booleantp4=Ndate4.equals(Nedate4);
assertEquals(true,tp4);
DateCaldate5=newDateCal(0001,1,28);
DateCalNdate5=newDateCal(0001,1,29);
DateCalNedate5=DateCal.nextDate(date5);
booleantp5=Ndate5.equals(Nedate5);
assertEquals(true,tp5);
DateCaldate6=newDateCal(1001,5,28);
DateCalNdate6=newDateCal(1001,5,29);
DateCalNedate6=DateCal.nextDate(date6);
booleantp6=Ndate6.equals(Nedate6);
assertEquals(true,tp6);
DateCaldate7=newDateCal(2001,9,28);
DateCalNdate7=newDateCal(2001,9,29);
DateCalNedate7=DateCal.nextDate(date7);
booleantp7=Ndate7.equals(Nedate7);
assertEquals(true,tp7);
DateCaldate8=newDateCal(1996,3,1);
DateCalNdate8=newDateCal(1996,3,2);
DateCalNedate8=DateCal.nextDate(date8);
booleantp8=Ndate8.equals(Nedate8);
assertEquals(true,tp8);
DateCaldate9=newDateCal(1880,3,5);
DateCalNdate9=newDateCal(1880,3,6);
DateCalNedate9=DateCal.nextDate(date9);
booleantp9=Ndate9.equals(Nedate
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 0144004 基础性 实验 报告