软件测试报告

绪论
Junit是xUnit的一个子集,在c++,paython,java语言中测试框架的名字都不相同
xUnit是一套基于测试驱动开发的测试框架
其中的断言机制:将程序预期的结果与程序运行的最终结果进行比对,确保对结果的可预知性
java所用的测试工具是Junit,Junit不需要去网上下载,在ecliplse中有。
一.安装步骤
1.新建一个工程
2.工程右键,点击Properties
3.点击Java Build Path

4.点击Add Library

5.点击JUnit,然后点击Next

6.点击JUnit4,然后点击Finish

7.点击Apply and Close

二.JUnit的功能
1.管理测试用例。
修改了哪些代码,这些代码的修改会对哪些部分有影响,通过JUnit将这次的修改做个完整测试。这也就JUnit中所谓的TestSuite。
2.定义测试代码。
这也就是JUnit中所谓的TestCase,根据源代码的测试需要定义每个TestCase,并将TestCase添加到相应的TestSuite方便管理。
3.定义测试环境。
在TestCase测试前会先调用“环境”配置,在测试中使用,当然也可以在测试用例中直接定义测试环境。
4.检测测试结果。
对于每种正常、异常情况下的测试,运行结果是什么、结果是否是我们预期的等都需要有个明确的定义,JUnit在这方面提供了强大的功能。
三.测试用例
1.被测试类。
下面以 “求最大子数组之和”的例子,简单的介绍一下单元测试是什么。
package com.maximun;

public class SubArray {
// 求两个数中的最大
public int max(int x, int y) {
if (x > y)
return x;
else
return y;
}

// 最大子数组之和
public int maxSubArr(int[] arr) {
	int sum = arr[0]; // 最大值子数组和
	int sub_sum = arr[0];// 中间值

	for (int i = 1; i < arr.length; i++) {
		sub_sum = max(arr[i], sub_sum + arr[i]);
		sum = max(sub_sum, sum);
	}
	return sum;
}

}

2.编写测试类。
以上代码实现了“最大子数组之和”的算法,共有max和maxSubArr两个方法,下面开始测试(重新创建一个新包,取名 test,所有测试都是再这个新包完成,测试类需要继承junit.framework.TestCase类,测试方法命名需要按照public void TestXXXX格式,通过断言来判断结果的正确行)
package com.test;

import com.maximun.SubArray;

import junit.framework.TestCase;
/**

  • @author

  • @单元测试
    */
    public class TestSubArray extends TestCase {
    //对方法max进行测试
    public void testMax(){
    int x = 1; //测试数据
    int y = 2;
    int z = -1;
    SubArray sub = new SubArray();
    int result1 = sub.max(x, y);
    int result2 = sub.max(y,x);
    int result3 = sub.max(z, x);
    assertTrue(result1 == y);
    assertTrue(result2 == y);
    assertTrue(result3 == 1);
    }

    //对方法maxSubArr测试
    public void testMaxSubArr(){

     int arr1[] ={1,2,3,-1}; //测试用例
     int arr2[] = {1,2,-4,8,4,-4,6,-2,1};
     int  arr3[] ={-4,-2,-1,-3};
     int arr4[] = {-4,2,-4,2,-1};
     SubArray sub = new SubArray();
     
     
     assertTrue(sub.maxSubArr(arr1) == 6);
     assertTrue(sub.maxSubArr(arr2) == 14);
     assertTrue(sub.maxSubArr(arr3) == -1);
     assertTrue(sub.maxSubArr(arr4) == 2);
    

    }
    }
    3.程序单元测试的方法:
    右击 测试类->Run as ->JUnit test运行结果:(Errors:0,Failure:0 说明测试通过,如果出错,Failure是单元测试所期望的错误,说明你的代码结果不满足你的要求,Errors需要你查看系统的配置,检查代码。)

四.预期结果和实际结果的比较
用例编号 用例描述 输入数据 预期输出数据 通过/不通过 评价
1 检测能否实现最大数组求和的基本功能(一般情况) 1,2,3,-1 6 通过 程序实现基本功能
2 最大子数处于数组的中间(一般情况) 1,2,-4,8,4,-4,6,-2,1 14 通过 程序实现基本功能
3 数组元素均为负数,而且第一元素为负数(特殊情况) -4,-2,-1,-3 -1 通过 程序实现特殊情况的求和
4 数组存在最大值相同的多个(>=2)子数组(特殊情况) -4,2,-4,2,-1 2 通过 程序能对多个相同的子数组进行保留
绪论
Junit是xUnit的一个子集,在c++,paython,java语言中测试框架的名字都不相同
xUnit是一套基于测试驱动开发的测试框架
其中的断言机制:将程序预期的结果与程序运行的最终结果进行比对,确保对结果的可预知性
java所用的测试工具是Junit,Junit不需要去网上下载,在ecliplse中有。
一.安装步骤
1.新建一个工程
2.工程右键,点击Properties
3.点击Java Build Path

4.点击Add Library

5.点击JUnit,然后点击Next

6.点击JUnit4,然后点击Finish

7.点击Apply and Close

二.JUnit的功能
1.管理测试用例。
修改了哪些代码,这些代码的修改会对哪些部分有影响,通过JUnit将这次的修改做个完整测试。这也就JUnit中所谓的TestSuite。
2.定义测试代码。
这也就是JUnit中所谓的TestCase,根据源代码的测试需要定义每个TestCase,并将TestCase添加到相应的TestSuite方便管理。
3.定义测试环境。
在TestCase测试前会先调用“环境”配置,在测试中使用,当然也可以在测试用例中直接定义测试环境。
4.检测测试结果。
对于每种正常、异常情况下的测试,运行结果是什么、结果是否是我们预期的等都需要有个明确的定义,JUnit在这方面提供了强大的功能。
三.测试用例
1.被测试类。
下面以 “求最大子数组之和”的例子,简单的介绍一下单元测试是什么。
package com.maximun;

public class SubArray {
// 求两个数中的最大
public int max(int x, int y) {
if (x > y)
return x;
else
return y;
}

// 最大子数组之和
public int maxSubArr(int[] arr) {
	int sum = arr[0]; // 最大值子数组和
	int sub_sum = arr[0];// 中间值

	for (int i = 1; i < arr.length; i++) {
		sub_sum = max(arr[i], sub_sum + arr[i]);
		sum = max(sub_sum, sum);
	}
	return sum;
}

}

2.编写测试类。
以上代码实现了“最大子数组之和”的算法,共有max和maxSubArr两个方法,下面开始测试(重新创建一个新包,取名 test,所有测试都是再这个新包完成,测试类需要继承junit.framework.TestCase类,测试方法命名需要按照public void TestXXXX格式,通过断言来判断结果的正确行)
package com.test;

import com.maximun.SubArray;

import junit.framework.TestCase;
/**

  • @author

  • @单元测试
    */
    public class TestSubArray extends TestCase {
    //对方法max进行测试
    public void testMax(){
    int x = 1; //测试数据
    int y = 2;
    int z = -1;
    SubArray sub = new SubArray();
    int result1 = sub.max(x, y);
    int result2 = sub.max(y,x);
    int result3 = sub.max(z, x);
    assertTrue(result1 == y);
    assertTrue(result2 == y);
    assertTrue(result3 == 1);
    }

    //对方法maxSubArr测试
    public void testMaxSubArr(){

     int arr1[] ={1,2,3,-1}; //测试用例
     int arr2[] = {1,2,-4,8,4,-4,6,-2,1};
     int  arr3[] ={-4,-2,-1,-3};
     int arr4[] = {-4,2,-4,2,-1};
     SubArray sub = new SubArray();
     
     
     assertTrue(sub.maxSubArr(arr1) == 6);
     assertTrue(sub.maxSubArr(arr2) == 14);
     assertTrue(sub.maxSubArr(arr3) == -1);
     assertTrue(sub.maxSubArr(arr4) == 2);
    

    }
    }
    3.程序单元测试的方法:
    右击 测试类->Run as ->JUnit test运行结果:(Errors:0,Failure:0 说明测试通过,如果出错,Failure是单元测试所期望的错误,说明你的代码结果不满足你的要求,Errors需要你查看系统的配置,检查代码。)

四.预期结果和实际结果的比较
用例编号 用例描述 输入数据 预期输出数据 通过/不通过 评价
1 检测能否实现最大数组求和的基本功能(一般情况) 1,2,3,-1 6 通过 程序实现基本功能
2 最大子数处于数组的中间(一般情况) 1,2,-4,8,4,-4,6,-2,1 14 通过 程序实现基本功能
3 数组元素均为负数,而且第一元素为负数(特殊情况) -4,-2,-1,-3 -1 通过 程序实现特殊情况的求和
4 数组存在最大值相同的多个(>=2)子数组(特殊情况) -4,2,-4,2,-1 2 通过 程序能对多个相同的子数组进行保留

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值