实验三——软件测试
一、实验题目 :软件测试
二、实验目的
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]
预期输出:[1]
测试用例三:已经排序的数组
输入值:[ 1, 2, 3, 4, 5 ]
预期输出:[ 1, 2, 3, 4, 5 ]
测试用例四:未排序的数组
输入值:[ 13, 14, 11, 19, 17, 15, 22 ]
预期输出:[ 11, 13, 14, 15, 17, 19, 22 ]
测试用例五:包含重复元素的数组
输入值:[ 1, 2, 4, 6, 8, 1, 2, 6 ]
预期输出:[ 1, 1, 2, 2, 4, 6, 6, 8 ]
六、单元测试结果截图
测试用例一:空数组
测试用例二:只有一个元素的数组
测试用例三:已经排序的数组
测试用例四:未排序的数组
测试用例五:包含重复元素的数组
七、实验中遇到的问题及解决方法
1. 代码逻辑错误
- 问题:冒泡排序的算法实现可能有误,导致排序不正确。
- 解决方案:仔细检查代码是否遵循正确的算法步骤。
2. 边界条件未考虑
- 问题:测试用例没有考虑到边界条件,如空列表或只有一个元素的列表。
- 解决方案:编写测试用例时,要确保包含各种边界情况。对于冒泡排序,应测试空列表、只有一个元素的列表以及多个元素的列表。
3. 测试用例不全面
- 问题:测试用例只覆盖了排序成功的情况,没有考虑到排序失败或异常的情况。
- 解决方案:编写测试用例时,要考虑到所有可能的输入情况,包括正常输入、异常输入和边界输入。可以测试包含重复元素的列表、已经排序的列表、逆序的列表等。
4. 测试结果验证不正确
- 问题:测试用例没有正确验证排序结果。
- 解决方案:在测试用例中,你需要编写一个断言(assert)来验证排序后的列表是否按预期排序。可以使用Python内置的stored()函数或手动检查排序后的列表。
https://gitee.com/zchangxing/zhang-xians-code/blob/master/%E5%86%92%E6%B3%A1.py