实验3——软件测试

news/2024/10/8 20:40:11

一、实验题目 :软件测试

二、实验目的 

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:空数组

    输入:[]

    预期输出:[] (空数组排序后仍然是空数组)

  

    与预期结果一致

  测试用例2:只有一个元素的数组

    输入:[5]

    预期输出:[5](一个元素的数组已经是有序的)

  

    与预期结果一致

  测试用例3:已经排序的数组

    输入:[1, 2, 3, 4, 5]
    预期输出:[1, 2, 3, 4, 5](已排序的数组排序后保持不变)

  

    与预期结果一致

  测试用例4:逆序数组

    输入:[5, 4, 3, 2, 1]
    预期输出:[1, 2, 3, 4, 5](逆序数组应被正确排序)

  

    与预期结果一致

  测试用例5:随机数组

    输入:[3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
    预期输出:[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9](随机数组应被正确排序)

  

    与预期结果一致

  测试用例6:包含重复元素的数组

    输入:[1, 2, 2, 3, 3, 3, 4, 4, 5]
    预期输出:[1, 2, 2, 3, 3, 3, 4, 4, 5](包含重复元素的数组排序后应保留重复元素)

  

    与预期结果一致

  测试用例7:大整数数组

    输入:[999999999, 1000000000, 1000000001, 1000000002]
    预期输出:[999999999, 1000000000, 1000000001, 1000000002](大整数数组应被正确排序)

  

    与预期结果一致

  测试用例8:包含负数的数组

    输入:[-5, -2, 0, 3, 7]
    预期输出:[-5, -2, 0, 3, 7](包含负数的数组应被正确排序)

  

    与预期结果一致

六、单元测试结果截图

     

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

 1.测试覆盖率不足:

  问题:即使进行了大量的测试,但如果没有覆盖到所有可能的代码路径和边界条件,就无法保证软件的完整性和稳定性。
  解决办法:
    使用代码覆盖工具来分析测试覆盖率,以定位测试薄弱的部分。
    编写更多、更全面的测试用例,涵盖各种场景和边界条件。

 2.变量和逻辑问题:

  问题:包括变量初值化错误、数据类型不匹配、逻辑判断错误等。
  解决办法:
    在编写测试用例时,仔细检查变量的初值化和默认值是否正确。
    确保在比较操作中使用正确的数据类型。
    仔细审查逻辑判断条件,确保它们符合预期的行为。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/28051.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

linux27-环境变量

linux27-环境变量环境变量的作用$号的作用linux中配置环境变量环境变量 一系列命令本质上就是一些可执行命令, 用which命令查看cd时, cd命令的本体就是/usr/bin/cd这个程序文件 无论当前工作目录在什么位置, cd命令都是可执行的. 这是环境变量的作用 环境变量: 操作系统在运行的…

linux24-网络传输 | 端口 namp netstat

linux24-网络传输 | 端口 namp netstat端口nmap 查看指定IP对外暴露的端口netstat 查看指定端口的占用情况端口 设备与外界通讯交流的出入口, 端口可分为物理端口和虚拟端口物理端口: 又称接口, 是可见的端口, 如USB接口, RJ45网口, HDMI端口等虚拟端口: 是指计算机内部的端口,…

算法学习笔记(15): Splay树

Splay树 Splay树又名伸展树, 是tarjan为LCT而发明的平衡树, 通过旋转操作维护二叉搜索树的高度平衡。 均摊复杂度 \(O(logb)\), 可以区间操作, 不能可持久化, 常数较大(大于FHQtreap), 但是可以 \(O(nlogn)\) 实现 LCT。(这是唯一比FHQtreap优秀的店...) 算法 splay树…

JuiceFS v1.2-beta1,Gateway 升级,多用户场景权限管理更灵活

JuiceFS v1.2-beta1 今天正式发布。在这个版本中,除了进行了大量使用体验优化和 bug 修复外,新增三个特性:Gateway 功能扩展:新增了“身份和访问管理(Identity and Access Management,IAM)” 与 “事件通知” ,为用户提供更安全、灵活和自动化的数据管理和监控能力,适…

DP32RF002—低功耗SUB-1G收发一体SOC芯片

DP32RF002是基于ARM Cortex-M0+内核的超低功耗、高性能的、单片集成(G)FSK/OOK无线收发机的32位SoC芯片。工作于200~960MHz范围内,支持灵活可设的数据包格式,支持自动应答和自动重发功能,支持跳频操作,支持FEC功能,同时内部集成了完整的射频接收机、射频发射机、频率综合器…

盘点效率工具RunFlow那些容易被忽略的功能

本文我们将带您了解RunFlow有哪些容易被忽略、但是又非常实用的功能。还不了解RunFlow?从这里开始了解。固定工作窗口您还可以通过双击 Ctrl 键来切换窗口固定状态,您也可以在 热点事件 设置页面自定义该快捷键。预览菜单内容用浏览器打开剪贴板复制的URL多行输入按 Ctrl+Ent…

LSTM时间序列预测中的一个常见错误以及如何修正

当使用LSTM进行时间序列预测时,人们容易陷入一个常见的陷阱。为了解释这个问题,我们需要先回顾一下回归器和预测器是如何工作的。预测算法是这样处理时间序列的:一个回归问题是这样的:因为LSTM是一个回归量,我们需要把时间序列转换成一个回归问题。有许多方法可以做到这一点…

Plumed分子模拟后分析

Plumed是一个强大的分子模拟数据处理工具,可以在模拟的过程中逐步分析,也可以保存模拟的轨迹做后分析。本文紧接前面的“增强采样软件PLUMED的安装与使用”文章,还有“直方图与核密度估计”文章。介绍了如何使用Plumed后分析工具,对输出的反应坐标的轨迹进行核密度估计。技…