一、实验题目 :软件测试
二、实验目的
1、熟悉开发环境下的自动化测试工具;
2、利用自动化测试工具进行自动化单元测试。
三、实验内容
1、选择开发环境,IDEA或PYCHARM任选其一;
2、基于所选择的开发环境实现对输入的n个整数进行排序的代码;
3、对所编写代码设计测试用例;
4、基于所选择的开发环境开展单元测试。
IDEA环境:
利用Junit对所编写代码进行单元测试:
https://blog.csdn.net/antony9118/article/details/51736135
PYCARM环境:
利用unittest对所编写代码进行单元测试:
https://zhuanlan.zhihu.com/p/688994644
四、实验要求
1、预先准备的代码要求独立编写,严禁抄袭,具体排序算法可以自由选择一种;
2、利用平台提供的单元测试工具对代码中的方法或函数进行单元测试,截取测试结果。
五、设计单元测试用例
一组:输入:1,4,2 期望输出:1,2,4
二组:输入:3,6,1,5 期望输出:1,3,5,6
三组:输入:4,8,6,5 期望输出:4,5,6,8
四组:输入:1,7,4,3,5 期望输出:1,3,4,5,7
五组:输入:6,4,3,10,9 期望输出:3,4,6,9,10
六、单元测试结果截图
七、实验中遇到的问题及解决方法
问题1:数据类型不匹配:输入的数据类型与预期不符,导致排序失败或结果不正确。
解决办法:在接收输入之前,确保检查数据类型,并将其转换为正确的类型(如整数)。
使用类型注解或类型检查函数(如isinstance())来验证输入类型。
问题2:性能问题:排序算法的效率低下,对于大量数据排序时耗时过长。
解决办法:选择一个时间复杂度较低的排序算法,如快速排序、归并排序或堆排序。
优化你的排序算法实现,减少不必要的计算或比较。
问题3:测试覆盖率不足:测试用例没有覆盖所有可能的输入和场景,导致遗漏某些错误。
解决办法:设计全面的测试用例,包括各种边界条件、异常情况和正常输入。
使用测试覆盖率工具来检查你的测试是否覆盖了所有代码路径。