• 测试工具的使用:JUnit、PICT、AllPairs


    目录

     

    1. JUnit----------------------------------------------------------------------------------------------------1

    1.1 Junit-------------------------------------------------------------------------------------------

    1.2 使用方法--------------------------------------------------------------------------------------------

    1.2.1 编写测试类--------------------------------------------------------------------------------------

    1.2.2 运行测试类--------------------------------------------------------------------------------------

    1.3 测试结果分析------------------------------------------------------------------------------------

    1.4 源代码----------------------------------------------------------------------------------------------

    1.5 测试用例代码--------------------------------------------------------------------------------------

    1.6 改进------------------------------------------------------------------------------------------------

    1.7 总结------------------------------------------------------------------------------------------------10

    2  PICT----------------------------------------------------------------------------------------------11

    2.1 PICT 下载---------------------------------------------------------------------------------------

    2.2 PICT安装----------------------------------------------------------------------------------------

    2.3 测试用例---------------------------------------------------------------------------------------

    2.4 PICT安装目录下创建参数MyTest.txt文件(注意都要使用英文符号)。

    2.5 测试结果----------------------------------------------------------------------------------------13

    3 .Allpairs

    3.1下载解压-------------------------------------------------------------------------------------------14

    3.2使用-----------------------------------------------------------------------------------------------

    3.3制作数据并保存-------------------------------------------------------------------------------

    3.4运行-----------------------------------------------------------------------------------------------

    3.5结果-----------------------------------------------------------------------------------------------

    1.1 导入Junit4

     

     

     

    1.2JUnit使用

    1.2.1 编写测试类

    1.2.2 运行测试类

    1.3 . 测试结果分

    1).  Runs:表示总共有几个测试方法,已经运行了几个;

    2). Errors:表示抛出异常的测试方法的个数;

    3). Failures:表示失败的测试方法的个数;

    4). 打钩:表示通过测试方法。

    5). 另外有个绿色的进度条表示测试成功,红色的进度条则表示测试失败。

    demo的结构:

    1.4源代码

    以三角形的代码为例:

    Triangle.java

    package com.hyc;

    public class Triangle {

    protected long lborderA = 0;

    protected long lborderB = 0;

    protected long lborderC = 0;

    // Constructor

    public Triangle(long lborderA, long lborderB, long lborderC) {

    this.lborderA = lborderA;

    this.lborderB = lborderB;

    this.lborderC = lborderC;

    }

    /**

     * check if it is a triangle

     *

     * @return true for triangle and false not

     */

    public boolean isTriangle(Triangle triangle) {

    boolean isTriangle = false;

    // check boundary

    if ((triangle.lborderA > 0 && triangle.lborderA <= Long.MAX_VALUE)

    && (triangle.lborderB > 0 && triangle.lborderB <= Long.MAX_VALUE)

    && (triangle.lborderC > 0 && triangle.lborderC <= Long.MAX_VALUE)) {

    // check if subtraction of two border larger than the third

    if (diffOfBorders(triangle.lborderA, triangle.lborderB) < triangle.lborderC

    && diffOfBorders(triangle.lborderB, triangle.lborderC) < triangle.lborderA

    && diffOfBorders(triangle.lborderC, triangle.lborderA) < triangle.lborderB) {

    isTriangle = true;

    }

    }

    return isTriangle;

    }

    /**

     * Check the type of triangle

     *

     * Consists of "Illegal", "Regular", "Scalene", "Isosceles"

     */

    public String getType(Triangle triangle) {

    String strType = "Illegal";

    if (isTriangle(triangle)) {

    // Is Regular

    if (triangle.lborderA == triangle.lborderB

    && triangle.lborderB == triangle.lborderC) {

    strType = "Regular";

    }

    // If scalene

    else if ((triangle.lborderA != triangle.lborderB)

    && (triangle.lborderB != triangle.lborderC)

    && (triangle.lborderA != triangle.lborderC)) {

    strType = "Scalene";

    }

    // if isosceles

    else {

    strType = "Isosceles";

    }

    }

    return strType;

    }

    /**

     * calculate the diff between borders

     *

     * */

    public long diffOfBorders(long a, long b) {

    return (a > b) ? (a - b) : (b - a);

    }

    /**

     * get length of borders

     */

    public long[] getBorders() {

    long[] borders = new long[3];

    borders[0] = this.lborderA;

    borders[1] = this.lborderB;

    borders[2] = this.lborderC;

    return borders;

    }

    }

    1.5测试用例

    TriangleTest.java

    package com.hyc;

    import static org.junit.Assert.assertEquals;

    import org.junit.Test;

    public class TriangleTest {

    }

    1.6改进

    若是需要的测试方法过多,不想一个测试,则:

    1. 选择要测试的方法,New --> 选择other选择Junit Test Case

    创建结果

    在此基础上修改测试类

    1.Failure 一般由测试单元使用断言方法判断失败引起的,这个报错,说明测试点发现了问题,即程序输出的结果和我们预期的不一样

    2.error 是由代码异常引起的,它可以产生代码本身的错误,也可以是测试代码中的一个隐藏bug测试用例不是用来证明你是对的,而是用来证明你没错

    关于JUnit运行流程

     

    }

    1.7总结

    @BeforeClass

    修饰的方法会在所有方法被调用前执行,且该方法时静态的,所以当测试类被加载后就接着运行它,而且在内存中他只会存在一份实例,他比较适合加载配置文件(针对所有测试,只执行一次

    @AfterClass

    所修饰的方法通常用来对资源管理,如关闭数据库连接(针对所有测试,只执行一次 

    @Before@After 会在每个测试方法前后各执行一次

    @Test:测试方法,在这里可以测试期望异常和超时时间

    @Ignore:忽略的测试方法

    2  PICT

    2.1.pict33: http://pairwise.org/tools.asp

    2.2.安装

     

    一路Next----->

    2.3 测试用例

    账户名:空/不存在/超长/超短/正常 (5)

    密码:空/不匹配/超长/超短/正常 (5)

    验证码:空/不匹配/超长/超短/正常 (5)

    会话保存:保存一个月/保存三个月/保存一年/保存三年/保存十年(4种)

    按钮:确定/取消

    分析:

    此测试用例会产生5*5*5*5*2=1250种组合情况,用例开销过大,采用PICT成对组合覆盖会减少测试用例数量,同时可以保证覆盖率。

    2.4 PICT安装目录下创建参数MyTest.txt文件(注意都要使用英文符号)。

    1).打开cmd,输入命令,进入PICT文件夹,然后pict MyTest.txt产生了 34种测试用例

     

    1.1 产生的结果测试用例也可以保存在excel文件中方便查看使用。首先在PICT目录下新建xls文件Mytest.xls,然后输入命令:pict Mytest.txt>Mytest.xls。就会将结果存入该excel文件中

    3 .Allpairs

    3.1下载解压

     

    3.2使用

    3.3找个组合测试用例,制作取值表

     

     3.4复制取值表的  数据保存到txt文档中,table.txt

     

    3.4 allpairs.exe table.txt > output.txt 

     

    3.5 结果

    一共10条测试用例

     

     

  • 相关阅读:
    D. Longest Subsequence
    线段树入门HDU_1754
    poj_2503(map映射)
    HDU_4826
    poj_2251
    day 44 单表查询,多表查询
    day43 字段的修改、添加和删除,多表关系(外键),单表详细操作(增删改查)
    day 42 数据库的配置、数据库与表的一些剩余操作、用户操作、数据库表的引擎、数据库的模式、mysql支持的数据类型、约束
    day41 数据库介绍、数据库基本操作
    day 40 线程队列、线程定时器、进程池和线程池、同步与异步、用多线程来写socket服务端与客户端
  • 原文地址:https://www.cnblogs.com/hycc/p/12977335.html
Copyright © 2020-2023  润新知