白盒测试——NextDate函数测试(基本路径覆盖法)

这篇具有很好参考价值的文章主要介绍了白盒测试——NextDate函数测试(基本路径覆盖法)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

白盒测试:NextDate的基本路径覆盖法以及测试用例设计

程序有三个输入变量monthdayyearmonthdayyear均为整数值,并且满足:1≤month≤121≤day≤311900≤ year ≤2050。),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上下一天的日期。例如,输入为20051129日,则该程序的输出为20051130日。

一:测试用例设计。

   被测代码:

/**
 Created by IntelliJ IDEA.
 User: Starfall
 Date: 2022/11/16
 Time: 18:10
 */
public class GetNextDay {
  public static String getNextDay(int year, int month, int day)
        {
        //闰年、平年每月的天数
        int[][] days={{31,28,31,30,31,30,31,31,30,31,30,31},
        {31,29,31,30,31,30,31,31,30,31,30,31}};
        int index;
        if(1900 <= year && 2050>= year ) {
                if(year%4==0 && year%100!=0 || year%400==0)
                        index = 1;
                //index=0:平年,index=1:闰年
                else
               index = 0;
        }
        else return "输入日期不正确";
        //判断输入日期是否正确
        if( month<1 || month>12 || day>days[index][month-1]|| day<1)
        return "输入日期不正确";
        //小于当前月份的天数
        if(day < days[index][month-1])
        day++;
        else
        {
        if(month==12)
        {
        year++;
        month=1;
        }
        else
        {
        month++;
        }
              day=1;
        }
        return year + "-" + month + "-" + day;
        }
}

   1、画出当前程序流程图:

白盒测试——NextDate函数测试(基本路径覆盖法)

2、根据程序流程图画出控制流图:

白盒测试——NextDate函数测试(基本路径覆盖法)

3、计算环路复杂度:

1)根据区域计算:VG=12

2)根据边数和节点数计算:VG=E-N+2=29-19+2=12

3)根据判断节点数计算:VG=P+1=11+1=12

4、确定独立路径集合:

独立路径条数为VG),即为12条:

路径11-2-3-7-19

路径21-2-7-19

路径31-2-3-4-5-8-10-7-19

路径41-2-3-4-6-8-10-7-19

路径51-2-3-4-6-9-10-7-19

路径61-2-3-4-5-6-8-10-7-19

路径71-2-3-4-6-8-10-11-7-19

路径81-2-3-4-6-8-10-11-12-7-19

路径91-2-3-4-6-8-10-11-12-13-7-19

路径101-2-3-4-6-8-10-11-12-13-14-15-19

路径111-2-3-4-6-8-10-11-12-13-14-16-17-19

路径121-2-3-4-6-8-10-11-12-13-14-16-18-19

二:用设计的测试用例测试程序。

1、根据基本路径,准备测试用例:

白盒测试——NextDate函数测试(基本路径覆盖法)

2、编写测试程序:

GetNextDayTest代码:

import org.junit.Assert;
import org.junit.Test;

/**
 Created by IntelliJ IDEA.
 User: Starfall
 Date: 2022/11/16
 Time: 18:16
 */

public class GetNextDayTest {
    @Test
    public void GetNextDaytest01() {
        String GetNextDate = GetNextDay.getNextDay(2051,1,1);
        Assert.assertEquals("输入日期不正确", GetNextDate);
        System.out.println("GetNextDaytest01:"+GetNextDate);
    }

    @Test
    public void GetNextDaytest02() {
        String GetNextDate = GetNextDay.getNextDay(1800,10,10);
        Assert.assertEquals("输入日期不正确", GetNextDate);
        System.out.println("GetNextDaytest02:"+GetNextDate);
    }

    @Test
    public void GetNextDaytest03() {
        String GetNextDate = GetNextDay.getNextDay(2020,11,31);
        Assert.assertEquals("输入日期不正确", GetNextDate);
        System.out.println("GetNextDaytest3:"+GetNextDate);
    }

    @Test
    public void GetNextDaytest04() {
        String GetNextDate = GetNextDay.getNextDay(2000,11,31);
        Assert.assertEquals("输入日期不正确", GetNextDate);
        System.out.println("GetNextDaytest04:"+GetNextDate);
    }

    @Test
    public void GetNextDaytest05() {
        String GetNextDate = GetNextDay.getNextDay(1900,2,29);
        Assert.assertEquals("输入日期不正确", GetNextDate);
        System.out.println("GetNextDaytest05:"+GetNextDate);
    }

    @Test
    public void GetNextDaytest06() {
        String GetNextDate = GetNextDay.getNextDay(2022,2,30);
        Assert.assertEquals("输入日期不正确", GetNextDate);
        System.out.println("GetNextDaytest06:"+GetNextDate);
    }

    @Test
    public void GetNextDaytest07() {
        String GetNextDate = GetNextDay.getNextDay(2022,0,0);
        Assert.assertEquals("输入日期不正确", GetNextDate);
        System.out.println("GetNextDaytest07:"+GetNextDate);
    }

    @Test
    public void GetNextDaytest08() {
        String GetNextDate = GetNextDay.getNextDay(2022,13,11);
        Assert.assertEquals("输入日期不正确", GetNextDate);
        System.out.println("GetNextDaytest08:"+GetNextDate);
    }

    @Test
    public void GetNextDaytest09() {
        String GetNextDate = GetNextDay.getNextDay(2022,11,0);
        Assert.assertEquals("输入日期不正确", GetNextDate);
        System.out.println("GetNextDaytest09:"+GetNextDate);
    }

    @Test
    public void GetNextDaytest10() {
        String GetNextDate = GetNextDay.getNextDay(2022,11,10);
        Assert.assertEquals("2022-11-11", GetNextDate);
        System.out.println("GetNextDaytest10:"+GetNextDate);
    }

    @Test
    public void GetNextDaytest11() {
        String GetNextDate = GetNextDay.getNextDay(2022,12,31);
        Assert.assertEquals("2023-1-1", GetNextDate);
        System.out.println("GetNextDaytest11:"+GetNextDate);
    }

    @Test
    public void GetNextDaytest12() {
        String GetNextDate = GetNextDay.getNextDay(2022,10,31);
        Assert.assertEquals("2022-11-1", GetNextDate);
        System.out.println("GetNextDaytest12:"+GetNextDate);
    }

}

三:记录测试结果。

  1、运行测试:

白盒测试——NextDate函数测试(基本路径覆盖法)

   2、运行覆盖测试:

白盒测试——NextDate函数测试(基本路径覆盖法)文章来源地址https://www.toymoban.com/news/detail-466703.html

到了这里,关于白盒测试——NextDate函数测试(基本路径覆盖法)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • [软件测试] 02 白盒 逻辑覆盖测试 习题

    软件测试期末复习系列 课件知识点整合 : 软件测试基础 白盒测试 黑盒测试 PTA习题汇总 : 软件测试基础 白盒测试-逻辑覆盖测试 白盒测试-基本路径测试 白盒测试-静态测试 黑盒测试-等价类划分 黑盒测试-边界值测试 黑盒测试-场景法 提示 : 篇幅较长,可以使用 Ctrl+F ,在

    2024年02月04日
    浏览(49)
  • Selenium 学习(0.16)——软件测试之测试用例设计方法——白盒测试——逻辑覆盖法(语句覆盖和判定覆盖)

            写在前面          今天回来有点晚,因为上午给小伙伴们开了个小会,随便说了些什么,结果小伙伴们下班就没急着走,弄点我还有点不好意思提前走了,就略留了一会。其实也没说什么,就是强调工作要抓点紧,8小时内提高效率就好,我反对无意义的加班;

    2024年02月05日
    浏览(57)
  • 【软件测试】路径覆盖

    题目要求: a)       流程图如下: b)    Consider test cases ti = (n = 3) and t2 = ( n = 5). Although these tour the same prime paths in printPrime(), they don\\\'t necessarily find the same faults. Design a simple fault that t2 would be more likely to discover than t1 would Answer:如果将MAXPRIMES的值设为4那么n=5时可能会出现数组

    2024年01月16日
    浏览(40)
  • 基本路径测试

    基本路径(线性无关回路):两个环路线性无关,当且仅当经过的边有差异,我有一条边你没有,你有一条边我没有。即任何一个环路,都应该拥有一个边是其他环路没有的。 用基本路径覆盖法设计下列程序段的测试用例。 开始结点不含语句,就是单纯一个标识结点; Whi

    2024年02月05日
    浏览(27)
  • Selenium 学习(0.18)——软件测试之基本路径测试

            是一种白盒测试方法,它在程序控制流图的基础上,通过分析控制构造的环行复杂性,导出基本可执行路径集合,从而设计测试用例的方法。         要保证在测试中程序的每一个可执行语句至少执行一次         【这和语句覆盖区别在哪里呢? 】     

    2024年02月03日
    浏览(51)
  • DAG最小路径点覆盖,最小路径可重复覆盖,详解

    关于二分图:二分图及染色法判定 关于二分图最大匹配:二分图最大匹配——匈牙利算法详解 关于二分图带权最大完备匹配:二分图带权最大匹配-KM算法详解 概念 给定一张有向无环图,要求 用尽量少的不相交的简单路径 ,覆盖有向无环图的所有顶点(也就是 每个顶点恰好

    2024年01月17日
    浏览(52)
  • 软件测试——白盒测试

    1.什么是白盒测试  1.1 白盒测试优缺点 2.白盒测试方法 2.1 静态 2.2 动态 2.2.1 语句覆盖 2.2.2 判断覆盖 2.2.3 条件覆盖 2.2.4 判定条件覆盖 2.2.5 条件组合覆盖 2.2.6 路径覆盖 2.2.7 基本路径测试法(最常使用) 白盒测试也称结构测试,透明盒测试。主要用于单元测试阶段,代码和逻辑

    2024年02月03日
    浏览(49)
  • 软件测试技术(四)白盒测试

    白盒测试(White Box Testing)又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试只测试软件产品的内部结构和处理过程,而不测试软件产品的功能,用于纠正软件系统在描述、表示和规格上的错误,是进一步测试的前提。 白盒测试遵循的四大原则: 保证一

    2024年02月02日
    浏览(85)
  • 软件测试之白盒测试

    1.语句覆盖 定义:设计测试用例,使得程序中每条 语句 至少被执行一次。 理解:如上图,只需满足语句块1、2、3、4均被至少执行一次即可 测试用例 缺点 2.判定覆盖(分支覆盖) 定义:设计测试用例,使得程序中的每个判断的“真\\\"和“假\\\"都至少被执行一次。 理解:每个 菱形

    2024年02月03日
    浏览(42)
  • [软件测试] 04 白盒 静态测试 习题

    软件测试期末复习系列 课件知识点整合 : 软件测试基础 白盒测试 黑盒测试 PTA习题汇总 : 软件测试基础 白盒测试-逻辑覆盖测试 白盒测试-基本路径测试 白盒测试-静态测试 黑盒测试-等价类划分 黑盒测试-边界值测试 黑盒测试-场景法 提示 : 篇幅较长,可以使用 Ctrl+F ,在

    2024年02月04日
    浏览(58)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包