实验三——软件测试

一、实验题目 :软件测试

二、实验目的

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.使用冒泡顺序算法进行单元测试用例。 比较数组相邻的的大小,将较大的数据放在后面,对每对相邻的数组均进行比较,实现第一次扫描

例 a[1] > a[2],则交换 a[1] 与 a[2] 中数据的位置,第二次扫描仍然从头开始,进行多次扫描,实现数据从小到大的排序。
2.代码如下:
import java.util.Scanner;

public class Main {

public static void paixu(int a[]) {
    for(int i=0; i<a.length-1; i++) {
        for(int j=0; j<a.length-i-1; j++) {
            if(a[j] > a[j+1])
            {int n;n = a[j];  a[j] = a[j+1];  a[j+1] = n;}
        }
    }
}

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

    System.out.print("请输入元素个数:");
    int n = sc.nextInt();
    int a[] = new int[n];
    System.out.print("请输入元素:");
    for(int i=0; i<a.length; i++) {
        a[i] = sc.nextInt();
    }

    paixu(a);
    System.out.print("排序完成:");
    for(int i=0; i<a.length; i++) {
        System.out.print(a[i]+" ");
    }
}

}
3.测试结果
1)输入值:7 {3 1 6 2 5 7 4} 预期输出:{1 2 3 4 5 6 7} 测试结果正确

2)输入值: 5 {1 2 2 6 3} 预期输出:{1 2 2 3 6} 测试结果正确

3)输入值: 4 { 9 -8 7 6} 预期输出:{-8 6 7 9} 测试结果正确

六、单元测试结果截图

七、实验中遇到的问题及解决方法
1.遇到的问题:首先构造一个实现冒泡排序的函数,在主函数内编写语句,编写输入语句(Scanner语句),实现可以对自己输入的数据进行排序,再定义整数输入要输入的元素个数,定义一个数组,遍历输入数据存放在数组中,调用冒泡函数,遍历输出排好序的数据。在编写过程中,我对冒泡函数有点不太熟悉,编写代码过程中还出现不熟练的问题,程序总是报错。
解决方法:上网搜有关于冒泡排序的视频模仿写代码,最后运行成功了。
2.遇到的问题:测试数据准备的不充分,无法全面覆盖所有可能的排序情况。
解决方法:准备多组测试数据,包括正序、逆序、随机顺序等。
3.遇到的问题:对于冒泡排序的时间复杂度理解不足,导致在测试时无法有效评估其性能。
解决方法:理解冒泡排序的时间复杂度为O(n^2),并知道其在最坏情况下的性能表现。对比其他排序算法,评估冒泡排序在实际应用中的适用性。
八.码云地址
https://gitee.com/huangweiqi111/111/issues/I9O7SX

posted @ 2024-04-26 16:45  黄微淇  阅读(9)  评论(0编辑  收藏  举报