实验三
一、实验题目 :软件测试
二、实验目的
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, 2, 3, 4, 9, 6, 7, 8, 5
第一组预期输出:1, 2, 3, 4, 5, 6, 7, 8, 10
第二组输入值:-1, 2, 3, 20, 9, 6, 7, 8, 5
第二组预期输出:2, 3, 4, 5, 6, 7, 8, 9, 20
第三组输入值:12,11,9,5,1
第三组预期输出:1,5,9,11,12
第四组输入值:99,55,66,77,88,99,55
第四组预期输出:55,55,66,77,88,99,99
第五组输入值:1
第五组预期输出:1
第六组输入值:10000000000,10000000,1
第六组预期输出:1,10000000,10000000000
第七组输入值:空数据
第七组预期输出:空数据
六、单元测试结果截图
七、实验中遇到的问题及解决方法
快速排序采用的是分治思想,即在一个无序的序列中选取一个任意的基准元素pivot,利用pivot将待排序的序列分成两部分,前面部分元素均小于或等于基准元素,后面部分均大于或等于基准元素,然后采用递归的方法分别对前后两部分重复上述操作,直到将无序序列排列成有序序列。
在本次实验中,我使用unittest库对一个简单的排序程序进行了单元测试。我首先创建了一个Sort类,其中包含了QuickSort方法。然后,我们对方法编写了对应的测试类,我们使用unittest库运行了所有的测试类,并查看了测试结果。通过本次实验,我掌握了unittest库的基本用法和特点,了解了单元测试的重要性和意义,提高了软件质量和可靠性。我们也发现了一些需要改进的地方,例如如何编写更有效的测试用例,如何处理异常情况,如何提高测试覆盖率等。
实验问题:模块的导入问题。
解决方法:进行网络搜索进行了模块的导入。
实验问题:可能会出现编写排序算法时出现逻辑错误或语法错误的情况。
解决方法:仔细检查代码,逐行排查可能存在的错误,并利用调试工具pycharm中的调试器逐步调试,定位问题并修复。
gitee地址:https://gitee.com/mingshadow/three/blob/master/test.py