zoukankan      html  css  js  c++  java
  • 作业8:单元测试练习(个人练习)

    • [必做题1] 针对附录1给出的三角形判断Java 代码,应用等价类划分法设计测试用例,用表格形式列出设计的测试用例,写到博客中。(10分)
    测试用例
    序号 测试输入:三条边(a,b,c) 测试预言(Oracle:直角、等腰、等边三角形)
    1 输入(1,1,1) 等边三角形
    2 输入(****) ***
    • [必做题2] 模仿附录2给出的三角形判断Junit测试代码,设计单元测试脚本,测试 [必做题1]设计得到的测试用例。注意测试脚本中测试用例出现顺序与[必做题1]表格所列顺序一致。运行所得的测试脚本,截运行结果图,写到博客中,同时将源代码push到你自己的github。(20分)

    • [必做题3] 心得体会。写下本次练习你收获的知识点(PS:测试用例设计方法和步骤;测试脚本设计步骤或主要内容)。(10分)

    【必做1】

    表格形式测试用例:

    序号 测试输入:三条边(a,b,c) 测试语言(Oracle:直角、等腰、等边三角形)
    1 输入(2,2,2) 等边三角形
    2 输入(3,4,5) 一般三角形
    3 输入(3,3,2) 等腰三角形
    4 输入(1,1,2) 不是三角形
    5 输入(0,2,3) 不是三角形

    【必做2】

    import static org.junit.Assert.*;
    
    import org.junit.Test;
    
    
    public class TriangleTest {
    
        @Test
        public void test() {
            fail("Not yet implemented");
        }
        
         @Test
         public void testIsTriangle1(){
             Triangle t = new Triangle(2,2,2);
             assertEquals(t.getType(t),"Regular");  //等边
         }
     
         @Test
         public void testIsTriangle2(){
             // according to the mutant, this test case should fail
             Triangle t = new Triangle(3,4,5);
             assertEquals(t.getType(t),"Scalene");  //一般
         }
     
         @Test
         public void testIsTriangle3(){
             Triangle t = new Triangle(3,3,2);
             assertEquals(t.getType(t),"Isoceles");  //等腰
         }
         
         @Test
         public void testIsTriangle4(){
             Triangle t = new Triangle(1,1,2);
             assertEquals(t.getType(t),"Illegal");  //不合法数据
         }
         
         @Test
         public void testIsTriangle5(){
             Triangle t = new Triangle(0,2,3);
             assertEquals(t.getType(t),"Illegal");  //不合法数据
         }
         
    }

    测试结果:

    【必做3】

    这次作业让我知道了:

    设计测试用例要考虑有效等价类和无效等价类来提高代码的可靠性,划分等价类要考虑多种情况,三角形等价类分为等边三角形,等腰三角形,一般三角形和非三角形,测试用例的设计要包含各种等价类。

    单元测试要注意,测试方法修饰符为public,返回类型为void,没有方法参数,方法名称以test开头。JUnit是测试代码的框架,单元测试用来测试程序的结果和自己期望的值是否相同。

  • 相关阅读:
    windows定时任务schtasks命令详细解
    TCP/IP 详解7 Ping指令
    Vue JSX、自定义 v-model
    DOM 元素的循环遍历
    关于 Blob
    Vue.nextTick 的应用解析
    弹窗组件及其回调函数
    krry-transfer ⏤ 基于 element 的升级版穿梭框组件发布到 npm 啦
    防抖与节流 & 若每个请求必须发送,如何平滑地获取最后一个接口返回的数据
    Java 单文件、多文件上传 / 实现上传进度条
  • 原文地址:https://www.cnblogs.com/cchenhui/p/5499865.html
Copyright © 2011-2022 走看看