Nextday 参数化单元测试(测试用例)设计

时间:2023-02-23 07:54:58

一、首先简单描述一下下载试题及配置试题的过程

  1. 配置环境:安装Eclipse、JDK(1.7)、及考试插件 (net.mooctest....*.jar)等;

  2. 登录系统:运行Eclipse: 【MoocTest】 --》【1. Login】--》输入考试密码(mooctest.net --> 我的任务 提供)。如下图

    Nextday 参数化单元测试(测试用例)设计

  3. 下载试题:点击上图 菜单【2. Download】,下载试题(注意:一般选择清空工作空间,如果试题不同名,也可以不清空)

  4. 微调环境:PS:这一步一般不是必须的(如果导航栏出现感叹号,一般是因为环境配置不彻底),你可以微调考试环境,直至没有感叹号。一般问题出在JRE版本上,则可以选择 build path, 对应的JRE 重新 Edit,选择 1.7 版本的即可。

  5. 编写测试用例: ctrl+N,选择新建 Java --》Junit Test case --》设置路径、文件名(即测试类名,一般命名规则:***Test.java, 这样做的好处是易于记忆)。接下来在该文件中编写测试用例。具体示例,如下面附录1:代码部分 .

  • 测试用例设计要考虑覆盖准则,语句覆盖、分支覆盖等
  • 技巧,你可以多次提交,然后在结果分析部分查看还有哪些没有被覆盖到,进而补充测试用例。
  1. 运行测试:选择 【MoocTest】 --》【3. Run】,运行结果如下图所示:

    Nextday 参数化单元测试(测试用例)设计
  • PS:得分越高越好!
  1. 提交结果:选择 【MoocTest】 --》【4. Submit】.

  2. 查看剩余时间:选择 【MoocTest】 --》【5. Time】

附录1: NextdayTest.java


import static org.junit.Assert.*;

import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.Collection;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;

@RunWith(value = Parameterized.class)
public class NextdayTest {

private Date expected;

private Date value;

@Parameters
public static Collection getTestParameters() { // 下面依次设计有效等价类、无效等价类等

//有效等价类
Date d1 = new Date(5, 14, 2014);
Date d2 = new Date(5, 13, 2014);

//为负日期
// Date d3 = new Date(5, 0, 2014);
// Date d4 = new Date(5, -1, 2014);

// //为零日期
// Date d5 = new Date(5, 1, 2014);
// Date d6 = new Date(5, 0, 2014);

//31号
Date d7 = new Date(8, 31, 2015);
Date d8 = new Date(8, 30, 2015);

Date d9 = new Date(7, 31, 2014);
Date d10 = new Date(7, 30, 2014);

Date d11 = new Date(7, 1, 2013);
Date d12 = new Date(6, 30, 2013);

//闰年
Date d13 = new Date(3, 1, 2004);
Date d14 = new Date(2, 29, 2004);

Date d15 = new Date(2, 29, 2004);
Date d16 = new Date(2, 28, 2004);

//400年是闰年
Date d17 = new Date(3, 1, 2000);
Date d18 = new Date(2, 29, 2000);

Date d19 = new Date(3, 1, 2013);
Date d20 = new Date(2, 28, 2013);

//被4整除,不被100整除
Date d23 = new Date(3, 1, 2100);
Date d24 = new Date(2, 28, 2100);

//到第二年
Date d21 = new Date(1, 1, 2014);
Date d22 = new Date(12, 31, 2013);

//下一个月
Date d25 = new Date(1, 31, 2013);
Date d26 = new Date(1, 30, 2013);

Date d27 = new Date(2, 1, 2013);
Date d28 = new Date(1, 31, 2013);

Date d29 = new Date(4, 1, 2014);
Date d30 = new Date(3, 31, 2014);

Date d31 = new Date(5, 1, 2014);
Date d32 = new Date(4, 30, 2014);

Date d33 = new Date(6, 1, 2014);
Date d34 = new Date(5, 31, 2014);

Date d35 = new Date(7, 1, 2014);
Date d36 = new Date(6, 30, 2014);

Object[][] date = new Object[][] {
{d1, d2},
// {d3, d4},
// {d5, d6},
{d7, d8},
{d9, d10},
{d11, d12},
{d13, d14},
{d15, d16},
{d17, d18},
{d19, d20},
{d21, d22},
{d23, d24},
{d25, d26},
{d27, d28},
{d29, d30},
{d31, d32},
{d33, d34},
// {d35, d36}
};
return Arrays.asList(date);

}

public NextdayTest(Date expected, Date value) {
super();
this.expected = expected;
this.value = value;
}

@Test
public void testNextDay() {

assertEquals(expected, Nextday.nextDay(value));

}

}

														
		

Nextday 参数化单元测试(测试用例)设计的更多相关文章

  1. 测试思想-测试设计 史上最详细测试用例设计实践总结 Part2

    史上最详细测试用例设计实践总结 by:授客 QQ:1033553122 -------------------------接 Part1-------------------------- 方法:这里 ...

  2. 移动App崩溃的测试用例设计

    我们的日常生活中对移动设备越来越多的使用意味着移动App测试这个主题已成为需要考虑的一个无法避免的问题.根据最近的调查研究,用户难以容忍有bug的移动App. 移动App Bug的影响是用户体验差.A ...

  3. 两两组合覆盖测试用例设计工具:PICT

    两两组合覆盖测试用例设计工具:PICT 2016-08-31 目录 1 成对测试简介2 PICT使用  2.1 安装 PICT  2.2 使用PICT3 PICT算法  3.1 准备阶段  3.2 产 ...

  4. 移动App崩溃测试用例设计

    我们的日常生活中对移动设备越来越多的使用意味着移动App测试这个主题已成为需要考虑的一个无法避免的问题.根据最近的调查研究,用户难以容忍有bug的移动App. 移动App Bug的影响是用户体验差.A ...

  5. 黑盒测试用例设计方法&理论联系实际-> 功能图法

    一. 概念 功能图由状态迁移图和布尔函数组成.状态迁移图用状态和迁移来描述.一个状态指出数据输入的位置(或时间),而迁移则指明状态的改变.同时要依靠判定表或因果图表示的逻辑功能.例,一个简化的自动出纳 ...

  6. 黑盒测试用例设计方法&理论结合实际 -> 边界值分析法

    一. 概念 边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法.通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界. 二. 边界值分析法的应用 根据大量的测 ...

  7. 黑盒测试用例设计方法&理论结合实际 -> 等价类划分

    一. 概念 等价类划分法是把程序的输入域划分成若*分(子集),然后从每个部分中选取少数代表性数据作为测试用例.每一类的代表性数据在测试中的作用等价于这一类中的其他值. 二. 等价类划分的应用 等价类 ...

  8. [liu yanling]黑盒测试用例设计方法

    1. 概述 黑盒测试用例设计方法包括等价类划分法.边界值分析法.错误推测法.因果图法.判定表驱动法.正交试验设计法.功能图法等. 2. 等价类划分法 2.1.          概念 等价类划分法是把 ...

  9. PPT资料下载 - 问题驱动的软件测试设计:强化测试用例设计

    测试用例设计是整个软件测试过程中非常重要的测试活动,需求规格说明是测试人员开展测试设计的主要参考输入.而在测试实践中基于需求规格说明得到的测试用例,在测试覆盖率.测试效率.测试有效性和测试质量等方面的 ...

随机推荐

  1. 【.net+jquery】绘制自定义表单(含源码)

    前言 两年前在力控的时候就想做一个类似的功能,当时思路大家都讨论好了,诸多原因最终还是夭折了.没想到两年多后再这有重新提出要写一个绘制表单的功能.对此也是有点小激动呢?总共用时8.5天的时间基本功能也 ...

  2. Asp.net MVC验证那些事(1)-- 介绍和验证规则使用

    数据的有效性验证,是程序开发中必不可少的环节.这篇文章,我们将用一个实例来说明如何在MVC中使用Validation来保证无论是新增或者更新数据的时候,都必须符合我们定义的验证规则,否则就会提示错误. ...

  3. webdriver中PDF控件无法显示的问题(IE兼容性)

    公司的的系统只能运行在32位的IE上,开始从http://selenium-release.storage.googleapis.com/index.html?path=2.48/ 这个路径下去下载了 ...

  4. 结合自己的程序对thinkphp模板常量的理解

    先上个图,有时候路径很多,没理解会搞混,看手册的说明 页面login.html模板的访问路径为http://www.tp.com/index.php/admin/Manager/login,测试他的常 ...

  5. Array.prototype.slice && Array.prototype.splice 用法阐述

    目的 对于这两个数组操作接口,由于不理解, 往往被误用, 或者不知道如何使用.本文尝试给出容易理解的阐述. 数组 什么是数组? 数组是一个基本的数据结构, 是一个在内存中依照线性方式组织元素的方式, ...

  6. C语言数组的学习

    什么是数组? 在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来.这些按序排列的同类数据元素的集合称为数组. 在C语言中,数组属于构造数据类型.一个数组可以分解为多个数组元素,这 ...

  7. SQL Server 已提交读快照 测试

    1. 打开数据库 已提交读快照 选项 2. 数据库 已提交读快照 模式下的测试 a) 测试表 Test b) 开启事务1,更新数据C2 = '200'(未提交) BEGIN TRAN ' WHERE ...

  8. Python实例---游戏人生[类的学习]

    # -*- coding:utf-8 -*- # ##################### 定义实现功能的类 ##################### class Person: def __in ...

  9. gdb,程序调试助手

    启动GDB:(其中我的app是编译之后的可执行文件) 退出命令:quit或者简写q 帮助获取: gdb通过完备的在线帮助,使我们使用起来更加方便.所有的帮助信息都是通过help命令获得的,运行help ...

  10. delphi 线程的使用

    unit untWorkThread; interface uses Windows,Classes,SysUtils; type TWorkItem=class end; TProcessWork= ...