实验3: 软件测试
一、实验题目 :软件测试
二、实验目的
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
【输入值】{1}
【期望输出】{1}
测试用例3
【输入值】{1, 2, 3, 4, 5}
【期望输出】{1, 2, 3, 4, 5}
测试用例4
【输入值】{5, 4, 3, 2, 1}
【期望输出】{1, 2, 3, 4, 5}
测试用例5
【输入值】{15, 5, 30, 90, 65}
【期望输出】{5, 15, 30, 65, 90}
六、单元测试结果截图
测试用例1
测试用例2
测试用例3
测试用例4
测试用例5
测试用例6
七、实验中遇到的问题及解决方法
测试用例1:空列表
输入值:{}
期望输出:{}
描述:一个空列表无需排序,应直接返回原列表。
测试用例2:单个元素列表
输入值:{1}
期望输出:{1}
描述:单个元素的列表已经是排序好的,应直接返回原列表。
测试用例3:已排序列表
输入值:{1, 2, 3, 4, 5}
期望输出:{1, 2, 3, 4, 5}
描述:输入一个已经排序好的列表,冒泡排序算法不应改变其顺序。
测试用例4:逆序列表
输入值:{5, 4, 3, 2, 1}
期望输出:{1, 2, 3, 4, 5}
描述:输入一个逆序的列表,冒泡排序应能将其正确排序。
测试用例5:随机顺序列表
输入值:{15, 5, 30, 90, 65}
期望输出:{5, 15, 30, 65, 90}
描述:输入一个随机顺序的列表,冒泡排序应能将其正确排序。
测试用例6:包含重复元素的列表
输入值:{15, 30, 30, 90, 65}
期望输出:{15, 30, 30, 65, 90}
描述:输入一个包含重复元素的列表,冒泡排序应能将其正确排序,并且保留重复元素。
遇到的问题:
【问题1】不了解junit4该如何编写测试代码
【解决方法1】去上网查junit4的在线api
【问题2】测试用例无法覆盖条件,冒泡排序中的第一个循环始终执行
【解决方法2】加入无输入的测试用例
Gitee地址
https://gitee.com/zorange333/ProgressCode/blob/master/CGTestR03