Эта серия статей представляет собой сборник заметок, которые я собрал во время моего учебного курса по программированию в Green Fox Academy в прошлом году.
Вы можете прочитать другие статьи здесь:
- Конечные точки
- "Аутентификация"
- "Поток данных"
Зачем вам писать тесты для своего программного обеспечения?
1. Тестирование программного обеспечения экономит деньги
2. Безопасность
3. Качество продукции
4. Удовлетворенность клиентов
Существуют разные типы тестов:
Модульный тест
Модульное тестирование - это процесс разработки программного обеспечения, в котором мельчайшие тестируемые части приложения, называемые модулями, индивидуально и независимо проверяются на предмет надлежащей работы. Модульное тестирование включает только те характеристики, которые жизненно важны для производительности тестируемого модуля.
Интеграционный тест
Интеграционное тестирование - это уровень тестирования программного обеспечения, на котором отдельные модули объединяются и тестируются как группа. Цель этого уровня тестирования - выявить ошибки во взаимодействии между интегрированными блоками. Тестовые драйверы и тестовые заглушки используются для помощи в тестировании интеграции.
Системный тест
Системное тестирование - это уровень тестирования программного обеспечения, при котором тестируется полное и интегрированное программное обеспечение. Цель этого теста - оценить соответствие системы указанным требованиям.
Приемочное тестирование
Приемочное тестирование - это уровень тестирования программного обеспечения, при котором система проверяется на приемлемость. Цель этого теста - оценить соответствие системы бизнес-требованиям и оценить, подходит ли она для поставки.
Сквозной тест
Сквозное тестирование - это методология, используемая для проверки того, работает ли поток приложения так, как задумано, от начала до конца. Целью проведения сквозных тестов является выявление зависимостей системы и обеспечение передачи правильной информации между различными компонентами системы.
Например, упрощенное сквозное тестирование почтового приложения может включать:
· Вход в приложение
· Доступ к почтовому ящику
· Открытие и закрытие почтового ящика
· Написание, пересылка или ответ на электронное письмо
· Проверка отправленных товаров
· Выход из приложения
Утверждения
Утверждение - это логическое выражение в определенной точке программы, которое будет истинным, если в программе нет ошибки. Утверждение теста определяется как выражение, которое инкапсулирует некоторую проверяемую логику, указанную для тестируемой цели.
Преимущества утверждений:
· Используется для обнаружения мелких ошибок, которые могут остаться незамеченными
· Используется для обнаружения ошибок раньше, чем они возникают
· Сделайте заявление о влиянии кода, которое гарантированно будет правдой
Типы утверждений
assertTrue
assertFalse
assertNull
assertNotNull
assertEqual
assertNotEqual
assertIdentical
assertNotIdentical
Издевательство
Издевательство - это создание объекта, имитирующего поведение другого объекта. Это стратегия изоляции объекта для тестирования и проверки его поведения.
Spock - среда тестирования Java, способная обрабатывать полный жизненный цикл компьютерной программы.
Заглушка - имитирует определенное поведение.
Мок - заменяет реальный объект, обеспечивая безоперационные ответы на все вызовы методов.
Шпион - всегда обертывает реальный объект и по умолчанию направляет все вызовы методов на исходный объект, также передавая исходные результаты.