当前位置:文档之家› 自动化测试单元测试报告

自动化测试单元测试报告

信息工程学院软件测试与自动化实习报告学院:信息工程学院班级:软件工程093姓名:罗念学号:2009012997成绩: 一、实习题目:Junit单元测试二、实习过程1、实验目的1)掌握Junit的安装及其与Eclipse的集成。

2)利用Junit进行单元测试。

2、实验步骤3)Junit的安装及其与Eclipse的集成。

(1)从下载Junit压缩包,把Junit压缩包解压到一个物理路径(例C:\junit4.8.2)(2)记录Junit4.8.2.jar文件所在目录。

(例c:\junit4.8.2\junit-4.8.2.jar )(3)设置环境变量CLASS_PATH,变量值为c:\junit4.8.2\junit-4.8.2.jar。

(4)在Eclipse菜单“project”的子项“properties”中选择“Java Build Path”,单击“Libraries”标签,添加External JARs,即选择junit.jar或junit-4.8.2.jar,单击打开,就完成了Junit的安装。

4)Junit单元测试实习题1:利用Junit Test Case生成测试用例的框架,在框架中设计测试代码,完成对getId(),setId(),getName(),setScore()函数的测试。

public class Student {private String id=null;private String name=null;private int score;public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) { = name;}public int getScore() {return score;}public void setScore(int score) {this.score = score;}}package JunitTest;import static org.junit.Assert.*;import org.junit.Test;public class StudentTest {Student stu = new Student() ;@Testpublic void testGetId() {String str = stu.getId() ;stu.setId("Hello") ;assertNull("this object is null", str) ;assertEquals("Hello", stu.getId()) ;// fail("Not yet implemented");}@Testpublic void testSetId() {stu.setId("Mr Luo") ;assertEquals("hello", stu.getId(), "Mr Luo") ;// fail("Not yet implemented");}@Testpublic void testGetName() {String str = stu.getName() ;stu.setName("Luo Nian") ;assertNull("this object is null", str) ;assertEquals(Luo Nian", stu.getName()) ;// fail("Not yet implemented");}@Testpublic void testSetScore() {stu.setScore(20) ;assertEquals("hello2", stu.getScore(), 20) ;// fail("Not yet implemented");}}测试结果截图:实验题2:实现教学示例中money类的加钱和判断钱数是否相等方法的测试。

package JunitTest;public class money {private int fAmount;//余额private String fCurrency;//货币类型public money(int amount, String currency) {fAmount= amount;fCurrency= currency; }public int amount() {return fAmount;}public String currency() {return fCurrency;}public money add (money m) {//加钱return new money(amount()+m.amount(), currency());}public boolean equals (Object anObject) {//判断钱数是否相等 if (anObject instanceof money) {money aMoney= (money)anObject;return aMoney.currency().equals(currency())&& amount() == aMoney.amount();}return false;} }测试类:package JunitTest;import static org.junit.Assert.*;import org.junit.Test;public class moneyTest {@Testpublic void testAdd() {money m12CHF= new money(12, "CHF"); //本行和下一行进行一些初始化money m14CHF= new money(14, "CHF");money expected= new money(26, "CHF");//预期的结果money result= m12CHF.add(m14CHF); //运行被测试的方法assertTrue(expected.equals(result)); }@Testpublic void testEqualsObject() {money m12CHF= new money(12, "CHF"); //本行和下一行进行一些初始化money m14CHF= new money(14, "CHF");assertTrue(!m12CHF.equals(null));//进行不同情况的测试assertEquals(m12CHF, m12CHF);assertEquals(m12CHF, new money(12, "CHF"));assertTrue(!m12CHF.equals(m14CHF));}}测试结果截图:实验题3:设计判断一个数是不是素数的程序,用基本断言类型实现测试,并用setup ()初始化测试环境。

package JunitTest;public class Primes {public int in;public int temp=0;public Primes(int in){this.in = in;}public int Division(int k1,int k2){if(k1%k2==0)return 0;elsereturn 1;}public int Primestest(int a){temp = a/2;for(int i=2;i<=temp;i++){if(Division(a,i)==0)return 0;}return 1;}/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubPrimes p1 = new Primes(13);int b = p1.Primestest(p1.in);if(b==0) System.out.println("这不是素数!");else System.out.println("这是素数!");}}测试类:package JunitTest;import static org.junit.Assert.*;import org.junit.After;import org.junit.Before;import org.junit.Test;public class PrimesTest {public Primes num13;public Primes num14;@Beforepublic void setUp() throws Exception {num13 = new Primes(13);num14 = new Primes(14);}@Afterpublic void tearDown() throws Exception {}@Testpublic void testPrimestest() {int result1 = num13.Primestest(num13.in);int result2 = num13.Primestest(num14.in);assertEquals(1,result1);assertEquals(0,result2);//fail("Not yet implemented");}}测试结果截图:三、实验总结:这次实验比较简单,首先理解了书本上用JUnit进行单元测试的方法后,就开始写相关的测试类,单元测试比较方便,由于用java开发,很多测试方法可以直接调用,整个实现起来比较方便,并且省去了很多手工测试的时间。

相关主题