一、实验题目 :软件测试
二、实验目的
1、熟悉开发环境下的自动化测试工具;
2、利用自动化测试工具进行自动化单元测试。
三、实验内容
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、码云链接
https://gitee.com/Inton_JR/software-engineering/commit/c6c34f0a52b9a43a0182a1e18b6baa30cf8231f2
2、条件覆盖
(1)测试数据正序,用于测试if中的false条件
输入值:1,2,3,4,8 预期输出:1,2,3,4,8
(2)测试数据逆序,用于测试if中的true条件
输入值:8,5,4,3 预期输出:3,4,5,8
(3)测试数据至少有一个逆序对
输入值:8,2,3,4,7 预期输出:2,3,4,7,8
(4)输入单个元素
输入值:1 预期输出:1
(5)输入0个元素
输入值:[ ] 预期输出:[ ]
3、判定覆盖
(1)输入至少包含一个逆序对
输入值:1,3,5,2,1 预期输出:1,1,2,3,5
(2)所有元素正序
输入值:5,6,7,8,9 预期输出:5,6,7,8,9
六、单元测试结果截图
1、条件覆盖
2、判定覆盖
七、实验中遇到的问题及解决方法
导入JUnit 4的时候出现了一些异常,通过同学的研究探讨,成功导入并使用Test测试。在实验中没有对题目的条件覆盖判定覆盖有很好的定义,跟老师沟通后解决。在实验前期我只能通过输入输出来判定是否输入正确,后来经过线上学习assertArrayEquals方法来成功测试用例。通过本次实验我收获良多,感谢老师的教导和同学的帮助。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步