一、实验题目 :软件测试
二、实验目的
-
熟悉开发环境下的自动化测试工具;
-
利用自动化测试工具进行自动化单元测试。
三、实验内容
-
选择开发环境,IDEA或PYCHARM任选其一;
-
基于所选择的开发环境实现对输入的n个整数进行排序的代码;
-
对所编写代码设计测试用例;
-
基于所选择的开发环境开展单元测试。
IDEA环境:
利用Junit对所编写代码进行单元测试
https://blog.csdn.net/antony9118/article/details/51736135
PYCHARM环境:
利用unittest对所编写代码进行单元测试
https://zhuanlan.zhihu.com/p/688994644
四、实验要求
-
预先准备的代码要求独立编写,严禁抄袭,具体排序算法可以自由选择一种;
-
利用平台提供的单元测试工具对代码中的方法或函数进行单元测试,截取测试结果。
五、设计单元测试用例
一、分析:
分支覆盖:需要覆盖的路径为:a-b-c、a-b-c-d-e-f-g-h-i-g-k-c、a-b-d-e-j-k-c,a-b-d-e-f-l-i-j-k-c。
二、测试用例:
- 乱序列表(覆盖路径:a-b-c-d-e-f-g-h-i-g-k-c)
-
输入值:64, 34, 25, 12, 22, 11, 90
-
预期输出:11, 12, 22, 25, 34, 64, 90
- 空列表(覆盖路径:a-b-c)
-
输入值:空
-
预期输出:空
- 有序列表(覆盖路径:a-b-d-e-f-l-i-j-k-c)
-
输入值:1, 2, 3, 4, 5
-
预期输出:1, 2, 3, 4, 5
- 反序列表(覆盖路径:a-b-c-d-e-f-g-h-i-g-k-c)
-
输入值:5, 4, 3, 2, 1
-
预期输出:1, 2, 3, 4, 5
- 只有一个元素的列表(覆盖路径:a-b-d-e-j-k-c)
-
输入值:1
-
预期输出:1
六、单元测试结果截图
总结:五组测试用例均正确
七、实验中遇到的问题及解决方法
- 测试用例设计不当
-
问题:测试用例设计不当,导致未能覆盖到所有的情况,如空列表等,从而影响测试的准确性。
-
解决方案:在编写测试用例时,需要考虑到各种特殊情况,尽量多编写几组测试案例来确保测试用例能够覆盖到所有的代码路径。
- 测试环境不一致
-
问题:在进行单元测试时,可能会遇到测试环境与生产环境不一致的问题。这种情况下测试可能无法准确反映代码在生产环境下的运行情况,从而影响测试的有效性。
-
解决方案:使用自动化测试工具来进行测试。自动化测试工具可以确保测试在相同的环境下运行,从而提高测试的可靠性和准确性。
八、源代码链接
软件工程基础-实验3-源代码 · 5865adc · xiaoy/sau - Gitee.com
标签:覆盖,代码,路径,单元测试,测试用例,实验,测试,软件测试 From: https://www.cnblogs.com/xiaoying-jiang/p/18160430