一、实验题目 :软件测试
二、实验目的
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] ; 预期输出[1,2,3]
2.测试用例2:数组逆序排序
输入值[3,2,1] ; 预期输出[1,2,3]
3.测试用例3:包含重复元素的数组
输入值[3,2,2,1] ; 预期输出[1,2,2,3]
4.测试用例4:乱序的数组
输入值[5,3,8,4,2] ; 预期输出[2,3,4,5,8]
5.测试用例5:空数组或单个元素的数组
输入值 [] ; 预期输出[]
6.测试用例6:单个元素的数组
输入值[5] ; 预期输出[5]
六、单元测试结果截图
1.测试数据1:输入[1,2,3]
输出[1,2,3]
2.测试数据2:输入[3,2,1]
输出[1,2,3]
3.测试数据3:输入:[3,2,2,1]
输出:[1,2,2,3]
4.测试数据4:输入:[5,3,8,4,2]
输出:[2,3,4,5,8]
5.测试数据5:输入:[]
输出:[]
6.测试数据6:输入:[5]
输出:[5]
七、实验中遇到的问题及解决方法
- 测试覆盖率不足:测试覆盖率是衡量测试是否全面的重要指标,如果测试覆盖率低,可能导致未测试到的代码隐藏着缺陷。
解决方法:提高测试覆盖率,可以通过代码审查、工具辅助等方式,确保每个代码路径都被测试到。
2. 未被定义的边界条件:在单元测试中,边界条件的处理常常容易被忽视,但很多bug都源于此。
解决方法:明确并测试边界条件,在编写测试用例时,应特别关注边界条件,确保它们得到了充分的测试。
3. 依赖外部资源:在进行单元测试时,如果被测代码依赖于外部资源(如数据库、文件系统等),那么测试的独立性和可重复性就会受到影响。
解决方法:模拟外部依赖,可以使用模拟(Mocking)技术,模拟外部资源的行为,使测试更独立和可重复。
标签:输出,代码,单元测试,测试用例,实验,测试,输入,软件测试 From: https://www.cnblogs.com/jin-ziyi/p/18160526