个人项目

软件工程个人项目实验报告

一.实践目标:

1.Github基本源代码控制方法

2.利用Junit4进行程序模块的测试,回归测试

3.编码规范的考量

4.C/Java等基本程序设计语言的运用。 (考虑到有些同学的基础参差不齐)

二.实践题目

测试实现显示当前日期和时间的功能

源码的github链接https://github.com/chudongrui/test

 

 

三、所设计的模块测试用例、测试结果截图

package ceshi;

 

import java.util.Calendar;

class Time {

private Calendar t;

private int y, m, d, hh, mm, ss;

Time (){

t=Calendar.getInstance();

y=t.get(t.YEAR);

m=t.get(t.MONTH)+1;

d=t.get(t.DATE);

hh=t.get(t.HOUR_OF_DAY);

mm=t.get(t.MINUTE);

ss=t.get(t.SECOND);

}

public String getDate() {

return y+" 年"+m+"月"+d+"日";

}

public String getTime() {

String s=hh+" 时"+mm+"分"+ss+"秒";

return s;

}

public static void main(String args[]){

Time t=new Time();

System.out.println("当前日期:"+t.getDate());

System.out.println("当前时间:"+t.getTime());

}

}

第一步,新建一个项目叫JUnit_Test,我们编写一个Time类,这是一个能够简单实现实现显示当前日期和时间的功能类,然后对这些功能进行单元测试。

第二步,将JUnit4单元测试包引入这个项目:在该项目上点右键,点属性,如图:个人项目_第1张图片

 

 

 

在弹出的属性窗口中,首先在左边选择“Java Build Path”,然后到右上选择“Libraries”标签,之后在最右边点击“Add Library…”按钮,如下图所示:

个人项目_第2张图片

 

然后在新弹出的对话框中选择JUnit4并点击确定,如上图所示,JUnit4软件包就被包含进我们这个项目了。

 

    第三步,生成JUnit测试框架:在EclipsePackage Explorer中用右键点击该类弹出菜单,选择“New à JUnit Test Case”。如下图所示:

个人项目_第3张图片

 

在弹出的对话框中,进行相应的选择,如下图所示:

个人项目_第4张图片

 

 

 

点击下一步后,系统会自动列出你这个类中包含的方法,选择你要进行测试的方法。

个人项目_第5张图片

 

之后系统会自动生成一个新类TimeTest,里面包含一些空的测试用例。你只需要将这些测试用例稍作修改即可使用。完整的TimeTest代码如下:

package ceshi;

 

import static org.junit.Assert.*;

 

import org.junit.Before;

import org.junit.Test;

 

public class TimeTest {

 

@Before

public void setUp() throws Exception {

}

 

@Test

public void testTime() {

fail("Not yet implemented");

}

 

@Test

public void testGetDate() {

fail("Not yet implemented");

}

 

@Test

public void testGetTime() {

fail("Not yet implemented");

}

 

@Test

public void testMain() {

fail("Not yet implemented");

}

 

}

 

 

第四步,运行测试代码:按照上述代码修改完毕后,我们在TimeTest类上点右键,选择“Run As à JUnit Test”来运行我们的测试,如下图所示:

个人项目_第6张图片

 

 

 

运行结果如下:

 个人项目_第7张图片

 

四、问题及解决方案、心得体会

总结:

一、实体类

      一般先新建一个对象,初始化构造方法对应参数对象各一个。

      1、构造方法测试

           测试构造之后对应参数的正确性,测试getter/setter的准确性。进行失败测试,测试构造函数、getter/setter方法异常的抛出情况

      注意:1)准确性测试要考虑全面

              2)失败测试一般包括传递nullempty参数,不合法参数,侦测异常的抛出

              3 )如果有继承关系,使用反射来测试是否继承成功

二、帮助类

     测试帮助类中的方法是否能返回预期的结果

三、关键的功能类(一般项目中最复杂的算法要在这个类中实现)

      1、首先是必不可少的初始化功能类的对象,对构造方法进行准确性,失败的测试。方法同上

      2、对复杂函数的测试:关键在于测试数据的选择,要让每一个分支都能跑到。一般包括准确性测试和侦测异常的失败测试

体会:

这次是junit4测试实现显示当前日期和时间的功能,按照教程我进行了测试,但没有测试成功,由于编程基础太差也没能找出测试失败的原因,以后一定认真学习Java编程。如果有大神看到希望可以多多指教,非常感谢。

     

 

你可能感兴趣的:(项目)