1、软件测试实验报告一、实验目的Junit最初是有Erich Gamma和Kent Beck编写的一个回归测试框架,为单元测试的支持框架,用来编写和执行重复性的测试,即所谓的白盒测试,Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试。本次实验就是用Junit框架编写测试用例,进行自动化的白盒测试。实验包括三道题目:1DoubleLinkList2NextDay3Vector二、实验要求1实验环境:Java JDK 1.7,eclipse;2在慕测平台提交实验结果;3提交一份Word版实验报告到ftp,报告内容需包含实验代码;4本次实验提交截止日期为10月28号晚12点写
2、周六晚12点。三、实验设备环境JDK 1.7Eclipse LunaEclemma四、实验内容与结果1DoubleLinkList测试类中定义双向链表,考虑清楚其分支情况;代码:importstaticrt.*;import;importjava.util.ArrayList;importjava.util.Collection;importorg.junit.Test;/双向链表,拥有增加结点,按索引搜寻publicclassDoubleLinkedListTest Testpublicvoidtest DoubleLinkedListdoubleLinkedList1=newDoubleL
3、inkedList;doubleLinkedList1.clear;Objectobject=newObject;doubleLinkedList1.indexOf;doubleLinkedList1.add;doubleLinkedList1.indexOf;Collectioncollection=newArrayList;collection.add;collection.add;collection.add;DoubleLinkedListdoubleLinkedList=newDoubleLinkedList;/assertEquals;assertEqualstrue,double
4、LinkedList.contains;assertEqualsfalse,doubleLinkedList.contains;assertEquals3,doubleLinkedList.size;doubleLinkedList.add;doubleLinkedList.remove;doubleLinkedList.remove;Strings=null;doubleLinkedList.remove;doubleLinkedList.add;doubleLinkedList.remove;assertEquals1,doubleLinkedList.get;doubleLinkedLi
5、st.add;doubleLinkedList.add;doubleLinkedList.remove;trydoubleLinkedList.entry;catch /TODO: handle exceptiontrydoubleLinkedList.entry;catch /TODO: handle exceptiondoubleLinkedList.add;assertEquals4,doubleLinkedList.indexOf;assertEquals0,doubleLinkedList.indexOf;assertEquals-1,doubleLinkedList.indexOf
6、;assertEquals0,doubleLinkedList.lastIndexOf;assertEquals4,doubleLinkedList.lastIndexOf;doubleLinkedList.remove;assertEquals-1,doubleLinkedList.lastIndexOf;doubleLinkedList.repOK;doubleLinkedList.inListdoubleLinkedList.entry;doubleLinkedList.inListdoubleLinkedList.entry;doubleLinkedList1.inListdouble
7、LinkedList.entry;DoubleLinkedListdoubleLinkedList2=null;doubleLinkedList1.repOK;Object objects= object;doubleLinkedList.toArray;DoubleLinkedListdoubleLinkedList3=newDoubleLinkedList;Object objects1= object,object,object,object,object,object,object;doubleLinkedList.toArray;collection.clear;doubleLink
8、edList3.addAll;doubleLinkedList3.addAll;doubleLinkedList1.addAll;doubleLinkedList1.addAll;/Class c = DoubleLinkedList.class;/Method methods = c.getDeclaredMethods;/for/System.out.printlnm.getName;/assertEqualstrue,doubleLinkedList.entry.previous.repOK;2NextDay代码:DateTest:public class DateTest Testpu
9、blic void test Date date = new Date;Date date1 = new Date;Date date2 = new Date;date.getDay;date.getMonth;date.getYear;date.increment;date1.increment;date2.increment;date.toString;date.printDate;date.equals;date.equals;date.equals;date1.equals;date.equals;DayTestpublicvoidgetDayYear year=newYear;Mon
10、th month1=newMonth;Day day=newDay;Day day1=newDay;assertEqualsday.getCurrentPos, 3;day1.setCurrentPos;assertEqualsday1.increment,false;assertEqualsday.increment,true;TestpublicvoidisValid1tryMonth month=null;Year year1=newYear;Day day1=newDay;catchassertEquals;TestpublicvoidisValid2tryYear year1=new
11、Year;Month month2=newMonth;month2.setCurrentPos;Day day=newDay;catchassertEquals;TestpublicvoidisValid3tryYear year1=newYear;Month month2=newMonth;Day day=newDay;catchassertEquals;TestpublicvoidisValid4tryYear year1=newYear;Month month2=newMonth;Day day=newDay;catchassertEquals;TestpublicvoidequalsY
12、ear year1=newYear;Month month2=newMonth;Month month3=newMonth;Day day=newDay;Day day1=newDay;Day day2=newDay;Day day3=newDay;Object o=newObject;assertEqualsday.equals,false;assertEqualsday.equals,false;assertEqualsday1.equals,false;assertEqualsday1.equals,true;assertEqualsday.getDay, 3;MonthTestpubl
13、icclassMouthTestMonthmonth =null;Yearyear =null;Testpublicvoidmonth tryYearyear1 =newYear;Monthmonth2 =newMonth;Monthmonth3 =newMonth;catch assertEquals;Testpublicvoidmonth1 tryYearyear1 =newYear;Monthmonth2 =newMonth;catch assertEquals;Testpublicvoidmonth2 tryYearyear2 =newYear;year2.setCurrentPos;
14、Monthmonth5 =newMonth;catch assertEquals;Testpublicvoidmonth3 tryMonthmonth5 =newMonth;catch assertEquals;TestpublicvoidgetMonth Yearyear1 =newYear;Yearyear2 =newYear;Monthm1 =newMonth;Monthm2 =newMonth;Monthm3 =newMonth;assertEqualsm1.getMonthSize, 31;assertEqualsm2.getMonthSize, 31;assertEqualsm1.
15、getMonth, 1;assertEqualsm3.increment,false;assertEqualsm1.increment,true;Testpublicvoidequals Object o =newObject;Yearyear1 =newYear;Yearyear2 =newYear;Monthm1 =newMonth;Monthm2 =newMonth;Monthm3 =newMonth;Monthm4 =newMonth;assertEqualsm1.equals,false;assertEqualsm1.equals,false;assertEqualsm1.equal
16、s,false;assertEqualsm1.equals,true;YearTestpublicclassYearTestYearyear1=newYear;Yearyear2=newYear;Yearyear3=newYear;Objects=newObject;TestpublicvoidgetYearassertEqualsyear1.getYear, 1;TestpublicvoidincrementYearyear=newYear;year.increment;year.increment;assertEqualsyear1.increment,true;Testpublicvoi
17、dequalsassertEqualsyear1.equals,true;assertEqualsyear1.equals,false;assertEqualsyear1.equals,false;TestpublicvoidisValidtryYearyear0=newYear;catchassertEquals;TestpublicvoidisLeapYeara1=newYear;Yeara2=newYear;Yeara3=newYear;Yeara4=newYear;Yeara5=newYear;Yeara6=newYear;Yeara7=newYear;Yeara8=newYear;Y
18、eara9=newYear;assertEqualsa1.isLeap,true;assertEqualsa2.isLeap,false;assertEqualsa3.isLeap,false;assertEqualsa4.isLeap,true;assertEqualsa5.isLeap,true;assertEqualsa6.isLeap,true;assertEqualsa7.isLeap,false;assertEqualsa8.isLeap,false;assertEqualsa9.isLeap,true;3)VectorVector是一个可扩展容器测试类中创建vector实例代码:
19、importstaticorg.junit.Assert.*;importjava.util.ArrayList;importjava.util.Collection;importorg.junit.Test;publicclassVectorTest Testpublicvoidtest Vectorvector=newVector;Vectorvector4=newVector;tryVectorvector2=newVector;catch assertEquals;Collectioncollection=newArrayList;Objectobject1=newObject;Obj
20、ectobject2=newObject;Objectobject3=newObject;collection.add;collection.add;Vectorvector3=newVector;vector.ensureCapacity;vector3.ensureCapacity;vector3.ensureCapacity;vector4.ensureCapacity;assertEquals2,vector3.size;assertEqualstrue,vector3.contains;assertEqualsfalse,vector3.contains;assertEquals0,
21、vector3.indexOf;vector3.setElementAt;tryvector3.setElementAt;catch assertEquals;vector3.removeElement;vector3.removeElement;vector3.addElement;vector3.removeElementAt;vector3.get;tryvector3.get;catch /TODO: handle exceptiontryvector3.removeElementAt;catch /TODO: handle exceptiontryvector3.removeElementAt;catch /TODO: handle exceptionvector3.addElement;vector3.addElement;vector3.addElement;vector3.removeElementAt;vector3.addElement;vector3.indexOf;五总结与分析1.知识薄弱,测试类容易重复2.分支覆盖3.画树状图有利于分析代码教师评语:签名:日期:成绩:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1