软件测试实验:Junit单元测试

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

目录

前言

实验目的

实验内容

实验要求

实验过程

题目一

题目一测试结果

题目二

题目二实验结果

总结


前言

软件测试是软件开发过程中不可缺少的一个环节,它可以保证软件的质量和功能,发现并修复软件的缺陷和错误。软件测试分为多种类型,其中一种是单元测试,即对软件的最小可测试单元进行测试,通常是一个类或一个方法。单元测试可以检验软件的内部逻辑是否正确,提高软件的可靠性和可维护性。

Junit是一个流行的Java单元测试框架,它提供了一套简单而强大的注解和断言来编写和运行单元测试。Junit还支持参数化测试、异常测试、超时测试等高级功能,以及与其他工具和框架的集成,如Maven、Eclipse、Spring等。使用Junit可以方便地对Java程序进行单元测试,提高开发效率和代码质量。

本实验旨在了解软件测试的基本概念和方法,掌握Junit单元测试框架的使用,通过实际编写和运行单元测试来加深对软件测试的理解和应用。

注意,在进行该实验前要下载好对应版本的junit包,否则无法进行

(当然有一个好办法是直接导junit的包然后让idea自动下载)

实验目的

(1)利用Junit进行单元测试,理解单元测试的任务、同时理解这类测试工具的实现原理;

(2)理解断言的基本概念和断言测试方法;

实验内容

题目1:完成课件中Score_List的单元测试。

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

实验要求

(1)为Computer构造相应的测试类;

(2)定义测试方法:testAdd( )、testMinus( )、testMultiply( )、testDivide( )

(3)在(2)的基础上修改前面的计算器测试类,将一些对象的定义语句放在Setup( )方法中;

例如:protected void setup( )

{

        a=new Computer( 1 , 2 );

}

(4)利用Junit的集成模式实现对加、减法的集成测试。

实验过程

题目一

Score_List的代码

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;
    }
}

写出Junit测试代码Score_ListTest

import org.junit.Test;

import static org.testng.AssertJUnit.assertEquals;

public class Score_ListTest {
    @Test
    public void testMaximum() {
        int[] list = {1, 2, 3, 4, 5};
        assertEquals(5, Score_List.maximum(list));
    }

    @Test(expected = RuntimeException.class)
    public void testMaximumEmpty() {
        int[] list = {};
        Score_List.maximum(list);
    }

    @Test
    public void testMaximumNegative() {
        int[] list = {-1, -2, -3, -4, -5};
        assertEquals(-1, Score_List.maximum(list));
    }
}

题目一测试结果

软件测试实验:Junit单元测试

题目二

根据实验要求进行操作

首先给出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;
        }
    }

 然后编写测试代码

public class computer_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;
        }
    }

}

这就是要求二中的测试代码

根据要求三进行修改,放入setup()中

import org.junit.Before; 
import org.junit.Test; 
import static org.junit.Assert.assertEquals; 

public class ComputerTest { 
    private Computer computer; 

    @Before 
    public void setUp() { 
        computer = new Computer(2, 3); 
    } 

    @Test 
    public void testAdd() { 
        assertEquals(5, computer.add()); 
    } 

    @Test 
    public void testMinus() { 
        assertEquals(-1, computer.minus()); 
    } 

    @Test 
    public void testMultiply() { 
        assertEquals(6, computer.multiply()); 
    } 

    @Test 
    public void testDivide() { 
        assertEquals(0, computer.divide()); 
    } 
}

上面的代码包含了四个测试方法,分别测试了计算器类的四个方法:add、minus、multiply和divide。在setUp方法中,我们创建了一个Computer对象,并在每个测试方法中使用它。每个测试方法都使用JUnit的assert方法来检查计算器类的方法是否按预期工作。

题目二实验结果

软件测试实验:Junit单元测试


总结

 单元测试是指对软件中的最小可测试单元进行检查和验证,例如一个方法或一个类。Junit是一个流行的Java单元测试框架,它提供了一系列的注解和断言方法,方便开发者编写和运行单元测试。

在本次实验中,我们使用Junit对一个简单的计算器程序进行了单元测试。我们首先创建了一个Calculator类,其中包含了加、减、乘、除四个方法。然后,我们为每个方法编写了对应的测试类,使用@Before注解设置了初始化对象,使用@Test注解标记了测试方法,使用assertEquals方法进行了断言。最后,我们使用Junit运行器运行了所有的测试类,并查看了测试结果。

通过本次实验,我们掌握了Junit的基本用法和特点,了解了单元测试的重要性和意义,提高了软件质量和可靠性。我们也发现了一些需要改进的地方,例如如何编写更有效的测试用例,如何处理异常情况,如何提高测试覆盖率等。文章来源地址https://www.toymoban.com/news/detail-433621.html

到了这里,关于软件测试实验:Junit单元测试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 软件测试和质量管理——实验3:单元测试

    软件测试和质量管理——实验3:单元测试

            1、掌握单元测试技术,并要求按照单元测试的要求设计测试用例;         2、掌握在Eclipse里进行Junit4测试的技术;         3、根据题目要求编写测试用例;         4、实验结果要求给出测试用例集测试效果比较;         5、撰写实验报告。 日期

    2024年04月12日
    浏览(24)
  • 软件测试---前言篇

    软件测试---前言篇

    上面这是官话 . 在我们日常生活中 , 就有许多测试的行为 , 比如地铁站的金属检测仪 , 用于检测旅客是否携带了违禁物品 ; 再比如测谎仪 , 通过记录人在情绪变化时的各种生理变化 , 判断是否说谎了 , 等等 . 企业研发出一个产品 , 能直接上线给用户或者进行销售吗 ? 显然这不

    2024年02月11日
    浏览(9)
  • 【软件测试】JUnit详解

    【软件测试】JUnit详解

    JUnit 是一个用于 编写和运行Java程序单元测试的开源框架 。 它提供了一组注解和断言方法,以及用于执行测试的测试运行器。通过使用JUnit,开发人员可以轻松地编写自动化测试用例,验证代码的正确性,并且能够快速地发现和修复bug。JUnit的使用可以提高代码的质量和可维

    2024年02月07日
    浏览(12)
  • 软件测试自动化Java篇【Selenium+Junit 5】

    软件测试自动化Java篇【Selenium+Junit 5】

    为什么选择selenium作为我们的web自动化测试工具? 开源免费 支持多浏览器 支持多系统 支持多语言【Java,Python,C#,Rubby,JavaScript,Kolin】 selenium包提供了很多可供测试使用的API Chrome浏览器 Chrome驱动【驱动器版本要和浏览器版本对应越详细越好】 然后把驱动包放在安装jdk的

    2024年01月18日
    浏览(27)
  • 软件测试技术(单元测试)

    软件测试技术(单元测试)

    1、JUnit JUnit是一个Java语言的单元测试框架,用于编写和运行测试。它提供了一些注解和断言方法,可以使测试代码更加简洁和易于阅读。使用JUnit进行单元测试,可以提高代码的质量和可维护性,减少代码的错误和缺陷,从而提高整个系统的稳定性和可靠性。 JUnit框架的核心

    2024年02月04日
    浏览(13)
  • 软件测试——单元测试

    单元测试是软件开发中的一种测试方法,用于验证软件中的各个独立单元(通常是函数、方法或类)是否按照设计规范正常工作。以下是进行单元测试的一般步骤和最佳实践: 1. 选择测试框架 选择适合项目的测试框架,例如: JUnit(Java) PyTest(Python) JUnit(JavaScript) PHP

    2024年02月03日
    浏览(14)
  • 软件测试系列--单元测试

    软件测试系列--单元测试

     一、单元测试的概念 单元测试(Unit Testing)是对软件基本组成单元进行的测试,如函数(function或procedure)或一个类的方法(method)。当然这里的基本单元不仅仅指的是一个函数或者方法,有可能对应多个程序文件中的一组函数。 单元也具有一些基本的属性。比如:明确的

    2024年02月16日
    浏览(11)
  • 【软件测试】单元测试

    单元测试 (Unit Testing),又称 单体测试 、 模块测试 ,是最小单位的测试,其依据是详细设计、程序源代码或编码标准,对模块内所有重要的控制路径设计测试用例,以便发现模块内部的错误,使代码达到设计要求。 单元测试是所有的测试活动中最早进行的,它能以最低的成

    2024年02月13日
    浏览(11)
  • 软件测试之单元测试

    软件测试之单元测试

    🍅 视频学习: 文末有免费的配套视频可观看 🍅  关注公众号【互联网杂货铺】,回复 1  ,免费获取软件测试全套资料,资料在手,涨薪更快 从产品角度而言,常规的功能测试、系统测试都是站在产品局部或全局功能进行测试,能够很好地与用户的需要相结合,但是缺乏

    2024年01月20日
    浏览(16)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包