Модульное тестирование-Сортировка массива - PullRequest
2 голосов
/ 12 февраля 2012

У меня есть метод, который сортирует массив чисел в порядке возрастания, и я хочу проверить этот метод. Я создал два модульных теста, один из которых проходит по всем элементам и утверждает, что текущий элемент меньше, чем следующий, и другой метод, который утверждает, что отсортированный массив имеет те же элементы, что и другой отсортированный массив, который я создал сам.

Есть ли другой способ проверить этот метод, или эти два в порядке?

Я работаю с Java

Ответы [ 3 ]

3 голосов
/ 12 февраля 2012

Я бы также добавил тесты для охвата желаемого поведения, когда:

  • входной массив равен нулю
  • входной массив пуст или имеет один элемент

Однако, если у вас нет веских причин, вам, вероятно, следует использовать встроенную Arrays.sort () вместо реализации собственной сортировки.

2 голосов
/ 07 сентября 2015
  1. проверка с пустым массивом.
  2. проверка с Integer.Max и Integer.Min в качестве элементов
  3. проверка с Integer.Max + 1 и Integer.Max-1
  4. проверка с помощью Integer.Min-1 и Integer.Min + 1
  5. дубликаты элементов
  6. нечетное и четное количество элементов в массиве
  7. массив с различными элементами примитивного типа
  8. проверка со всеми отрицательными / всеми положительными целыми числами и смесью обоих
  9. проверка длины возвращаемого массива
  10. массив только с 1 элементом
  11. проверка порядка отсортированного массива (asc / desc)
  12. все нули
  13. проверка с 0 по первому или последнему индексу
2 голосов
/ 12 февраля 2012

Если вы по «отсортированный массив имеет одинаковые элементы» означает, что отсортированный массив имеет некоторое количество вхождений для каждого элемента, тогда этих двух тестов достаточно.(Массив, такой как { 1, 1, 2 }, не должен быть допустимым результатом для ввода {2, 1, 2}.) Другой способ выразить это состоит в том, что результатом должна быть перестановка ввода.

Третье требование, которое можетили вас может не интересовать, является ли алгоритм стабильным .В этом случае вы должны добавить тест, который гарантирует, что любые два равных элемента на входе имеют одинаковый относительный порядок на выходе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...