Эта серия статей представляет собой сборник заметок, которые я собрал во время моего учебного курса по программированию в Green Fox Academy в прошлом году.

Вы можете прочитать другие статьи здесь:

  1. Конечные точки
  2. "Аутентификация"
  3. "Поток данных"

Зачем вам писать тесты для своего программного обеспечения?

1. Тестирование программного обеспечения экономит деньги

2. Безопасность

3. Качество продукции

4. Удовлетворенность клиентов

Существуют разные типы тестов:

Модульный тест

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

Интеграционный тест

Интеграционное тестирование - это уровень тестирования программного обеспечения, на котором отдельные модули объединяются и тестируются как группа. Цель этого уровня тестирования - выявить ошибки во взаимодействии между интегрированными блоками. Тестовые драйверы и тестовые заглушки используются для помощи в тестировании интеграции.

Системный тест

Системное тестирование - это уровень тестирования программного обеспечения, при котором тестируется полное и интегрированное программное обеспечение. Цель этого теста - оценить соответствие системы указанным требованиям.

Приемочное тестирование

Приемочное тестирование - это уровень тестирования программного обеспечения, при котором система проверяется на приемлемость. Цель этого теста - оценить соответствие системы бизнес-требованиям и оценить, подходит ли она для поставки.

Сквозной тест

Сквозное тестирование - это методология, используемая для проверки того, работает ли поток приложения так, как задумано, от начала до конца. Целью проведения сквозных тестов является выявление зависимостей системы и обеспечение передачи правильной информации между различными компонентами системы.

Например, упрощенное сквозное тестирование почтового приложения может включать:

· Вход в приложение

· Доступ к почтовому ящику

· Открытие и закрытие почтового ящика

· Написание, пересылка или ответ на электронное письмо

· Проверка отправленных товаров

· Выход из приложения

Утверждения

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

Преимущества утверждений:

· Используется для обнаружения мелких ошибок, которые могут остаться незамеченными

· Используется для обнаружения ошибок раньше, чем они возникают

· Сделайте заявление о влиянии кода, которое гарантированно будет правдой

Типы утверждений

assertTrue

assertFalse

assertNull

assertNotNull

assertEqual

assertNotEqual

assertIdentical

assertNotIdentical

Издевательство

Издевательство - это создание объекта, имитирующего поведение другого объекта. Это стратегия изоляции объекта для тестирования и проверки его поведения.

Spock - среда тестирования Java, способная обрабатывать полный жизненный цикл компьютерной программы.

Заглушка - имитирует определенное поведение.

Мок - заменяет реальный объект, обеспечивая безоперационные ответы на все вызовы методов.

Шпион - всегда обертывает реальный объект и по умолчанию направляет все вызовы методов на исходный объект, также передавая исходные результаты.