实验三:软件测试

一、实验题目 :软件测试

二、实验目的

1、熟悉开发环境下的自动化测试工具;

1、利用自动化测试工具进行自动化单元测试。

三、实验内容

1、选择开发环境,IDEA或PYCHARM任选其一;

2、基于所选择的开发环境实现对输入的n个整数进行排序的代码;

3、对所编写代码设计测试用例;

4、基于所选择的开发环境开展单元测试。

IDEA环境:

   利用Junit对所编写代码进行单元测试

   https://blog.csdn.net/antony9118/article/details/51736135

PYCHARM环境:

   利用unittest对所编写代码进行单元测试

   https://zhuanlan.zhihu.com/p/688994644

四、实验要求

1、预先准备的代码要求独立编写,严禁抄袭,具体排序算法可以自由选择一种;

2、利用平台提供的单元测试工具对代码中的方法或函数进行单元测试,截取测试结果。

五、设计单元测试用例

用例1:2,3,1

期望输出:1,2,3

用例2: 1,2,3

期望输出:1,2,3

用例3:3,2,1

期望输出:1,2,3

六、单元测试结果截图

用例1:

说明:用例1当中,该用例中需要将第3个元素交换到第1个位置

用例2:

说明:该用例中,所有数据不需要交换位置

用例3:

说明:该用例中,第一个数据需要和第三个数据交换

说明:该测试采取了条件覆盖,当数组当前位置元素大于下一个位置的元素时,进行交换;否则不进行交换

七、实验中遇到的问题及解决方法

遇到的问题:

对于IDEA的JUnit安装不是很熟悉,反复弄了好多次,去网上搜集资料,查阅信息,最后知道的问题所在--没有导入JUnit库以及插件的问题。

排序代码:

public class Sort {
public static int[] bubbleSort(int[] array) {
int n = array.length;
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (array[j] > array[j + 1]) {
// 交换 array[j] 和 array[j+1]
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
for (int i = 0; i < n; i++) {
System.out.print(array[i] + " ");
}
System.out.println();
return array;
}
}

测试代码:

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

import java.util.Scanner;

import static org.junit.Assert.*;

public class SortTest {
@Test
public void bubbleSort() {
int []arr = {1,2,3};
int []t = {1,2,3};
System.out.print("测试用例:");
for(int i = 0 ; i < arr.length ; i++){
System.out.print(arr[i] + " ");
}
System.out.println();
System.out.print("期望输出:");
for(int i = 0 ; i < t.length ; i++){
System.out.print(t[i] + " ");
}
System.out.println();
System.out.print("实际输出:");
Assert.assertArrayEquals(t,Sort.bubbleSort(arr));
}
}

posted on 2024-04-26 16:51  Symbol、King  阅读(20)  评论(0编辑  收藏  举报