软件质量保证与测试技术实验报告(四)——JUnit单元测试

这篇具有很好参考价值的文章主要介绍了软件质量保证与测试技术实验报告(四)——JUnit单元测试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.实验名称——JUnit单元测试

2.实验目的

(1)利用Junit进行单元测试,理解单元测试的任务、同时理解这类测试工具的实现原理;
(2)理解断言的基本概念和断言测试方法;

3.实验内容

题目1:完成课件中Score_List的单元测试。
题目2:这是一个简单的计算器类——Computer,能够实现两个整数的加、减、乘、除运算(具体代码见附录C),请利用Junit进行单元测试。

4.实验过程

题目1:完成课件中Score_List的单元测试:从分数表中查找最大值。
Score_List.java

package Score;
public class Score_List {
  public static int maximum(int[] list) {
    int index;
    int max = Integer.MIN_VALUE;
    if(list.length == 0)
      {
        throw new RuntimeException("空表");
      }
    for(index = 0; index<=list.length-1; index++)   
      {
          if(list[index]>max) max = list[index];
      }
      return max;
  }
}

Score_ListTest.java

package Score;
import junit.framework.TestCase;
import junit.framework.TestSuite;
public class Score_ListTest extends TestCase 
{
    public Score_ListTest(String testName)
    {
    super(testName);
    }
    
    //测试表中有3个分数
    public void testOne() 
    {
        int[] list = new int[3];
         list[0] = 7;
         list[1] = 9;
         list[2] = 8;
         int expResult = 9;
         int result = Score_List.maximum(list);
         assertEquals(expResult, result);
    }
    
    //测试表中有1个分数
    public void testTwo() 
    {
        int[] list = new int[1];
        list[0] = 9;        
        int expResult = 9;
        int result = Score_List.maximum(list);
        assertEquals(expResult, result);
     }
    
    //测试表为空的情况
    public void testThree() 
    {
        try{      
        Score_List.maximum(new int[] {});
        fail("这里应抛出而没有抛出异常");
        }
        catch(RuntimeException e){
          assertTrue(true);
        }
    }
    public static  TestSuite suite()
    {
     TestSuite suite=new TestSuite();
     suite.addTest(new Score_ListTest("testOne"));
     suite.addTest(new Score_ListTest("testTwo"));
     suite.addTest(new Score_ListTest("testThree"));  
     return suite;
    }
  }

运行截图:
软件质量保证与测试技术实验报告(四)——JUnit单元测试
题目2:这是一个简单的计算器类——Computer,能够实现两个整数的加、减、乘、除运算(具体代码见附录C),请利用Junit进行单元测试。
Computer.java

package test;
public class Computer {
  private int a;
  private int b;
  public Computer(int x,int y)
  {
    a=x;
    b=y;
  }
  public int add(){return a+b;}
  public int minus(){return a-b;}
  public int multiply(){return a*b;}
  public int divide()
  {
    if(b!=0) return a/b;
    else return 0;
  }
}

ComputerTest.java

package test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
public class ComputerTest extends TestCase
{
  Computer a;
  public ComputerTest(String testName)
    {
      super(testName);
    }
  protected void setup()
  {
    a=new Computer(1,2);
  }
  public void testAdd() 
    {
     setup();
         int expResult = 3;
         int result = a.add();
         assertEquals(expResult, result);
    }
  public void testMinus() 
    {
     setup();
     int expResult = -1;
         int result = a.minus();
         assertEquals(expResult, result);
    }
  public void testMultiply() 
    {
     setup();
         int expResult = 2;
         int result = a.multiply();
         assertEquals(expResult, result);
    }
  public void testDivide() 
    {
     setup();
         int expResult = 0;
         int result = a.divide();
         assertEquals(expResult, result);
    }
  public static TestSuite suite()
    {
     TestSuite suite=new TestSuite();
     suite.addTest(new ComputerTest("testAdd"));
     suite.addTest(new ComputerTest("testMinus")); 
     suite.addTest(new ComputerTest("testMultiply")); 
     suite.addTest(new ComputerTest("testDivide")); 
     return suite;
    }
}

软件质量保证与测试技术实验报告(四)——JUnit单元测试

5.实验心得

通过本次实验,我学会了利用Junit进行单元测试,理解了单元测试的任务和这类测试工具的实现原理,并且理解了断言的基本概念和断言测试方法。文章来源地址https://www.toymoban.com/news/detail-422268.html

附录:Computer类源代码

public class Computer
{
private int a;
private int b;

public Computer(int x,int y)
{ a=x;
 b=y;
}

public int add()
{
   return a+b;
}
public int minus()
{
   return a-b;
}

public int multiply()
{
   return a*b;
}

public int divide()
{
   if(b!=0)
     return a/b;
   else 
     return 0;
}
}

到了这里,关于软件质量保证与测试技术实验报告(四)——JUnit单元测试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 慕课版软件质量保证与测试(第五章.课后作业)

    1. 软件测试是软件质量保证的重要手段,下述哪种测试是软件测试的最基础环节?( )   A. 集成测试   B. 单元测试   C. 系统测试   D. 验收测试 参考答案:B 2. 增量式集成测试有3种方式:自顶向下增量测试方法、( )和混合增量测试方式。   A. 自下向顶增量测试方法

    2024年02月05日
    浏览(52)
  • 软件项目质量保证措施-word

    一、 质量保障措施 二、 项目质量管理保障措施 (一) 资深的质量经理与质保组 (二) 全程参与的质量经理 (三) 合理的质量控制流程 1. 质量管理规范: 2. 加强协调管理: 3. 严格合同和计划管理: 4. 重视培训: 三、 软件质量保障措施 (一) 对软件产品的测试 软

    2024年02月01日
    浏览(40)
  • 云卷云舒:软件产品质量保证思考

    总体产品质量观,从上到下的质量规划,包括质量目标、质量定义和拆解、质量责任制 关系到研发质量的各类预防、检测手段,如日常研发规范,代码审查,检测工具,测试等 一般指针对问题的改进,包括根因分析,问题溯源,倒逼研发改进 几个核心要素: 1,两拨人:规

    2024年01月18日
    浏览(49)
  • 开源项目的测试和质量保证

    🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 🌊 《IDEA开发秘籍专栏》学会IDEA常用操作,工作效率翻倍~💐 🌊 《100天精通Golang(基础入门篇)》学会Golang语言

    2024年02月11日
    浏览(46)
  • 【交付高质量,用户高增长】-用户增长质量保证方法论 | 京东云技术团队

    俗话说,“测试是质量的守护者”,但单凭测试本身却远远不够。大多数情况下,测试像“一面镜子”,照出系统的面貌,给开发者提供修改代码的依据,这个“照镜子”的过程,就是质量评估的过程,或者说,测试的过程更像“量体温”,虽然可以测量出温度进而判断健康

    2024年02月08日
    浏览(42)
  • 如何保证测试质量之Bug管理规范及流程

    目录 Bug 属性规范及流程  1 1.   目的  2 2.   范围  3 3.   工具  3 4.   角色和职责  3 5.   Bug 属性定义  3 5.1 . bug 类型  4 5.2 . bug 严重性  4 5.3   bug 优先级  5 6.   Bug 管理流程  6 6.1 提交 bug  6 6.2 分配 bug  6 6.3 解决 bug  7 6.4 验证 bug  7 6.5 遗留 bug  7 6.5.1 跟踪遗留 bug  

    2023年04月13日
    浏览(38)
  • 数字化印刷技术在物流领域的应用:如何保证印刷品的质量和安全?

    作者:禅与计算机程序设计艺术 随着信息技术的发展,数字化技术已经逐渐成为主要的生产方式。数字化技术可以提高生产效率、降低成本、缩短产品开发时间、提升竞争力等方面的能力。近年来,数字化印刷技术也在蓬勃发展,成为物流行业的一个重要领域。但是,由于印

    2024年02月01日
    浏览(67)
  • 【交付高质量,用户高增长】-用户增长质量保证方法论

    俗话说,“测试是质量的守护者”,但单凭测试本身却远远不够。大多数情况下,测试像“一面镜子”,照出系统的面貌,给开发者提供修改代码的依据,这个“照镜子”的过程,就是质量评估的过程,或者说,测试的过程更像“量体温”,虽然可以测量出温度进而判断健康

    2024年02月08日
    浏览(67)
  • 产品需求交付质量保证的“七重门”

    随着互联网红利的逐渐消失,互联网公司获取新客户的难度和成本越来越高,用户增长的运营同学需要不断尝试不同的拉新策略,并根据用户反馈及数据反馈快速调整,同时能够快速跟进市场热点,快速迭代产品功能。我们所在部门承接大量的金融业务(金白条、支付、小金

    2024年02月08日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包