• 软件测试实验1 — Junit 安装与 triangle problem 的测试


    1.  Install Junit(4.12), Hamcrest(1.3) with Eclipse

    选中新建的项目,右键->Propertise->Java Build Path->Add External JARs

    然后选中之前下好的junit-4.12.jar与hamcrest-core-1.3.rc2.jar 

    点击OK即引入成功

    2.  Install Eclemma with Eclipse

    将Eclemma压缩包解压到eclipse下的dropins文件夹。

    打开eclipse,点击help->install new software->add->local->选择你下载的eclemma,点OK安装,然后提示重启,重启后安装完成。

    重启后出现图标即表示安装完成。

    3.  Write a java program for the triangle problem and test the program with Junit.

     

    Triangle.java:

     

     1 package triangle;
     2 public class Triangle {
     3     public static boolean isTriangle (int a, int b, int c){
     4         if ((a+b)>c&&(a+c)>b&&(b+c)>a){//the three number can constitute a triangle
     5             return true;
     6         }
     7         else {
     8             return false;
     9         }
    10     }
    11     
    12     public static boolean isEquilateral (int a, int b, int c){
    13         if (isTriangle(a,b,c)){
    14             if ( a == b && b == c ){
    15                 return true;
    16             }
    17             else {
    18                 return false;
    19             }
    20         }
    21         else {
    22             return false;
    23         }
    24     }
    25     
    26     public static boolean isIsosceles (int a, int b, int c){
    27         if (isTriangle(a,b,c)){
    28             if ( a == b || a == c || b == c ){
    29                 return true;
    30             }
    31             else {
    32                 return false;
    33             }
    34         }
    35         else {
    36             return false;
    37         }
    38     }
    39     
    40     public static boolean isRightTriangle (int a, int b, int c){
    41         if (isTriangle(a,b,c)){
    42             if ( a*a==b*b+c*c||b*b==a*a+c*c||c*c==a*a+b*b ){
    43                 return true;
    44             }
    45             else {
    46                 return false;
    47             }
    48         }
    49         else {
    50             return false;
    51         }
    52     }
    53     
    54      public static void Triangle (int a, int b, int c) { 
    55              if (isTriangle(a,b,c)){  //the three number can constitute a triangle
    56                 if ( isEquilateral(a,b,c) ){
    57                     System.out.println ("The triangle is a equilateral!"); 
    58                 }
    59                 else if ( isIsosceles(a,b,c) ){
    60                     if (isRightTriangle(a,b,c)){
    61                         System.out.println ("The triangle is a isosceles right triangle!");
    62                     }
    63                     else{
    64                         System.out.println ("The triangle is a isosceles!"); 
    65                     }
    66                 }
    67                 else if (isRightTriangle(a,b,c)){
    68                     System.out.println ("The triangle is a Right triangle!");
    69                 }
    70                 else {
    71                     System.out.println ("The triangle is a scalene!");
    72                 }
    73              }
    74              else {
    75                  System.out.println ("Can't constitute a triangle!");
    76              }
    77         } // end Triangle
    78     }

    TriangleTest.java(全为正确时):

     1 package triangle;
     2 import static org.junit.Assert.*;
     3 import org.junit.Before;
     4 import org.junit.Test;
     5 public class TriangleTest {
     6     private Triangle tri;
     7     @Before
     8     public void setUp() throws Exception {
     9         tri = new Triangle();
    10     }
    11     @Test
    12     public void testIsTriangle() {
    13         assertEquals("判断三角形模块异常",true,tri.isTriangle(3, 4, 5));
    14     }
    15     @Test
    16     public void testIsEquilateral() {
    17         assertEquals("判断等边三角形模块异常",true,tri.isEquilateral(3, 3, 3));
    18     }
    19     @Test
    20     public void testIsIsosceles() {
    21         assertEquals("判断等腰三角形模块异常",true,tri.isIsosceles(3, 3, 4));
    22     }
    23     @Test
    24     public void testIsRightTriangle() {
    25         assertEquals("判断直角三角形模块异常",true,tri.isRightTriangle(3, 4, 5));
    26     }
    27     @Test
    28     public void testTriangle() {
    29         tri.Triangle(3, 4, 5);
    30     }
    31 }

    TriangleTest.java(有错误时)

     1 package triangle;
     2 import static org.junit.Assert.*;
     3 import org.junit.Before;
     4 import org.junit.Test;
     5 
     6 public class TriangleTest {
     7     private Triangle tri;
     8     @Before
     9     public void setUp() throws Exception {
    10         tri = new Triangle();
    11     }
    12 
    13     @Test
    14     public void testIsTriangle() {
    15         assertEquals("判断三角形模块异常",true,tri.isTriangle(1, 1, 5));
    16     }
    17 
    18     @Test
    19     public void testIsEquilateral() {
    20         assertEquals("判断等边三角形模块异常",true,tri.isEquilateral(2, 3, 3));
    21     }
    22 
    23     @Test
    24     public void testIsIsosceles() {
    25         assertEquals("判断等腰三角形模块异常",true,tri.isIsosceles(3, 3, 4));
    26     }
    27 
    28     @Test
    29     public void testIsRightTriangle() {
    30         assertEquals("判断直角三角形模块异常",true,tri.isRightTriangle(3, 3, 5));
    31     }
    32 
    33     @Test
    34     public void testTriangle() {
    35         tri.Triangle(3, 3, 5);
    36     }
    37 }

    test the program with Junit:

     创建Junit测试用例:

     

    测试结果:

    无错误时:

    有错误时:

    覆盖率:

  • 相关阅读:
    有效提高生产力的8个贴士
    如何提高团队编程水平
    PHPCMS V9使用中的一些心得体会
    2012全球SEO行业调查报告
    盘点SEO和SEM的优劣势
    DEDECMS 添加栏目图片
    2013年中国500强排行榜(公司名单及网址)
    十大淘宝搜索作弊行为
    利用curl抓取远程页面内容
    新浪,腾讯,淘宝,人人登陆
  • 原文地址:https://www.cnblogs.com/JasonLiuys/p/6538581.html
Copyright © 2020-2023  润新知