gpt4 book ai didi

sorting - 我应该对排序功能进行哪些测试?

转载 作者:行者123 更新时间:2023-11-28 20:42:49 24 4
gpt4 key购买 nike

我有一个工作面试,他们要求我提供一个排序功能的测试场景。

问题是:
我们有 3 个数字和一个对它们进行排序的函数。你会对这个功能做哪些测试?

我说

  • 检查零
  • 检查负数
  • 检查是否多次返回相同的数字

  • 他们说这个答案是可以的,但是如果数字限制在 1 - 1000 之间,我应该做哪些额外的测试?

    最佳答案

    我会写以下测试。我假设该函数需要一个数组,例如写成[1、2、3]。

  • 测试该函数是否实际对未排序的输入进行排序:
  • 输入中出现的所有数字,而不是其他数字,必须出现在输出中。
  • 输出必须排序,即输出中的每个数字必须小于以下数字。
    (你可以通过测试排序来断言这两个东西,例如 [2, 1] 给你 [1, 2],但它们是不同的要求,应该明确说明。)
  • 如果语言允许您使用不同类型的数字数组(例如整数和浮点数)调用函数,请测试排序 [1.1, 1] 返回 [1, 1.1]。
  • 测试,给定 [],函数返回 []。 (这是输入数组长度的边缘情况。)
  • 测试给定 [1],函数返回 [1]。 (这是输入数组长度的边缘情况。)
  • 测试给定 [1000],函数返回 [1000]。 (这是输入元素大小的边缘情况。)
  • 如果输入为 [0](小于允许范围的最大数字),则测试该函数是否引发异常(或出现错误时应该执行的任何操作)。如果允许 float ,请使用 [0.9]。
  • 如果输入为 [1001](大于允许范围的最小数字),则测试该函数是否引发异常。如果允许 float ,请使用 [1000.1]。
  • 如果编写函数的语言允许您使用
  • 空,
  • 一个非空值,它不是一个数组,
  • [空]
  • 一个包含非空值的数组,该值不是数字

  • 测试该函数在这些情况下是否引发异常或其他任何情况。
    如果性能测试在范围内,请测试功能的时间性能
  • 给定长度的随机排序输入(作为基线)
  • 相同长度的输入以有趣的方式排序:
  • 已经从小到大排序
  • 反向排序
  • 由重复的相同数字组成

  • 以及您在研究排序算法和检查实现时提出的其他潜在病态案例。
    您甚至可能需要测试空间(内存使用)性能。

    关于sorting - 我应该对排序功能进行哪些测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25571301/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com