实验三-软件测试

一、实验题目 :软件测试

二、实验目的

1、熟悉开发环境下的自动化测试工具;

2、利用自动化测试工具进行自动化单元测试。

三、实验内容

1、选择开发环境,IDEA或PYCHARM任选其一;

本次实验选择的Pycharm。

2、基于所选择的开发环境实现对输入的n个整数进行排序的代码;

本次实验选择的是直接插入排序法,因为其平均情况为O(n²),最好情况为O(n),最坏情况为O(n²)辅助空间为O(1),稳定性为稳定。结合本次实验情况,较为合适。

3、对所编写代码设计测试用例;

见图5-1单元测试用例图,表5-1单元测试用例表

4、基于所选择的开发环境开展单元测试。

利用unittest对所编写代码进行单元测试,并产生三种不同风格网页报告。

四、实验要求

1、预先准备的代码要求独立编写,严禁抄袭,具体排序算法可以自由选择一种;

2、利用平台提供的单元测试工具对代码中的方法或函数进行单元测试,截取测试结果。

五、设计单元测试用例

本次代码逻辑流程图如下,将以此为根据设计单元测试用例。详见图5-1程序流程图。	


图5-1 代码程序流程图

根据以上代码程序流程图,可以设计相关的单元测试用例,详见表5-1单元测试用例设计表。

表5-1 单元测试用例设计表

测试用例编号 功能点 用例说明 前置条件 输入 执行步骤 预期结果 重要程度 执行用例测试结果
1 判断元素个数 使得数组元素个数为0 输入n=0 n=0 a-b-d 输出为空 通过
2 输入乱序测试 乱序输入元素,测试能否正常排序 输入n=5 25,11,76,99,6 a-b-c-e-f-g-i 6,11,25,76,99 通过
3 输入顺序测试 顺序输入元素,测试能否正常排序 输入n=6 1,2,3,4,5,6 a-b-c-e-f-h-j 1,2,3,4,5,6 通过
4 输入逆序测试 逆序输入元素,测试能否正常排序 输入n=4 99,88,77,33 a-b-c-e-f-g-i 33,77,88,99 通过
5 输入乱序混杂相等数值 乱序输入元素,含有接邻等值元素 输入n=6 32,1,3,3,3,0 a-b-c-e-f-(h/g)-(j/i) 0,1,3,3,3,32 通过
6 输入乱序混杂相等数值 乱序输入元素,含有不接邻等值元素 输入n=6 7,75,7,9,7,1 a-b-c-e-f-(h/g)-(j/i) 1,7,7,7,9,75 通过

判定覆盖:1/2/3

条件覆盖:(1,2)/(1,3)

判定条件覆盖:5/6

条件组合覆盖:5/6

路径覆盖:(1,5/6)

六、单元测试结果截图

图6-1 直接插入法代码运行测试结果图

图6-2 生成报告代码运行测试结果图

图6-3 单元测试报告风格一图

图6-4 单元测试报告风格一用例查看详情图

图6-5 单元测试报告风格二图

图6-6 单元测试报告风格二用例查看详情图

图6-7 单元测试报告风格三图

图6-8 单元测试报告风格三用例查看详情图

七、实验中遇到的问题及解决方法

1.问题:太多了。
解决办法:悟。

2.问题:函数定义在测试类之后
解决办法:在Python中,解释器是从上到下逐行解释代码的。如果函数定义在测试类之后,那么在解释器执行到测试类时,它还没有见到函数的定义,所以会报错说找不到这个函数。解决这个问题的方法是将函数定义移到测试类之前。

3.问题:当存在多个具有相同值的元素时,排序算法没有保持它们的相对顺序。
解决办法:使用稳定的排序算法。

4.代码中出现逻辑错误导致单元测试无法通过。
解决方法:首先要检查代码逻辑是否正确,可以通过调试工具逐步跟踪代码执行过程,查看变量取值是否符合预期。如果发现问题,及时修改代码并重新运行单元测试。

5.单元测试覆盖率不够,无法全面检验代码功能。
解决方法:可以通过工具查看代码覆盖率报告,找出未被测试到的代码块,补充相应的测试用例。确保尽可能覆盖所有代码路径,提高测试的全面性。

6.单元测试环境配置问题导致无法正常运行测试。
解决方法:检查测试环境的配置是否正确,确保所选用的测试框架(如Junit或unittest)与开发环境兼容。可以查阅相关文档或搜索解决方案,保证环境设置正确。

7.测试用例设计不合理或不充分。
解决方法:重新审视测试用例设计,确保覆盖各种边界情况和特殊情况。可以尝试使用边界值分析、等价类划分等测试方法,提高测试用例的有效性。

8.单元测试结果不稳定,有时通过有时不通过。
解决方法:检查代码中是否存在依赖外部因素的情况,如随机数、时间等。可以考虑对这些因素进行模拟或者使用mock对象进行测试,确保测试结果的稳定性。

八、参考链接

gitee网站链接:
https://gitee.com/mooncirlight/TianCangCang-warehouse
生成报告演示视频链接(B站)
【20240428_154753】 https://www.bilibili.com/video/BV1jp421D7tn/?share_source=copy_web&vd_source=4169b898899da0e6a289d13f4cbe3ed2

posted @ 2024-04-28 15:25  CirLight  阅读(15)  评论(0编辑  收藏  举报
//雪花飘落效果 //雪花飘落效果