Han-chao

 

实验三

一、实验题目 :软件测试

二、实验目的

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.正常排序 [3,1,5,4,2]
预期输出 [1,2,3,4,5]
这样可以测试排序算法是否能够正确地找到最大元素并移动到正确的位置。

2.边界情况 [2,1]
预期输出 [1,2]
这些情况可以用来测试当数组只有一个可排序对时的情况。

3.特殊情况 [3,2,1,3,5]
预期输出 [1,2,3,3,5]
这可以测试算法是否能正确处理重复元素。

六、单元测试结果截图

总结:判定覆盖是设计足够多的测试用例,使得程序中的每一个判断至少获得一次“真”和一次“假”,即使得程序流程图中的每一个真假分支至少被执行一次。

源程序:
https://gitee.com/Han-chao_12345/han-chao/blob/master/ceshi/cs.java
https://gitee.com/Han-chao_12345/han-chao/blob/master/ceshi/csTest.java

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

  1. 性能问题:当测试用例中包含大规模数据时,可能会导致算法运行时间过长,影响测试效率。解决办法可以是优化冒泡排序算法,或者考虑使用其他更高效的排序算法进行对比测试。

  2. 边界情况处理:在编写测试用例时,需要考虑到边界情况,例如空序列、只有一个元素或者只有两个元素的序列等情况。解决办法是确保测试用例覆盖到各种边界情况,并验证算法在这些情况下的表现。

  3. 重复元素处理:如果测试用例中包含重复元素,需要确保算法能够正确处理重复元素,不会因为重复元素而出现错误。解决办法是设计包含重复元素的测试用例,并验证排序结果的正确性。

  4. 逆序序列处理:测试用例中包含逆序序列时,需要确保算法能够有效地处理逆序序列,而不是进行过多的不必要交换操作。解决办法是设计逆序序列的测试用例,并验证排序结果的正确性和效率。

posted on 2024-04-26 15:37  HC?  阅读(34)  评论(0)    收藏  举报

导航