| - Кодовая база может быть представлена в виде снимков состояний.
- Каждый раз, когда мы вносим изменения в код, мы берем за основу некое состояние и добавляем. меняем строки кода, тем самым создавая новое состояние.
- Условно, мы можем сказать, что предыдущее состояние является корректным - в нем программа выполняет поставленные задачи, а вот состояние после изменения может содержать ошибки.
- Механизмы тестирования призваны удостовериться, что новое состояние кодовой базы (версия приложения), работает корректно.
- Тест описывание наши ожидания относительно поведения программы. Выполнение теста подтверждает, что код ведет себя именно так, как он него ожидается.
(Это может касаться, как обязательств интерфейсов на уровне кода, так и поведение и контракт web api, UI, отправки сообщений, состояния БД, поведения отдельно взятой функции).
|
| AS IS TO BE |
| Вопрос стоимости создания и поддержания тестов. |
| Функциональное и нефункциональное тестирование. |
| Тип | |
---|
Unit test. Модульное тестирование. | Тестирование отдельных модулей (компонентов) системы(программы) в изолированной среде, с заранее известными входными и выходными значениями тестов. Используется техника подмены реализации, когда вместо зависимостей классу передаются заглушки с заранее известным поведением и наборами данных (MOQ). Обычно предполагает изолирование от внешних систем и хранилищ данных. Обычно является наиболее дешевым с точки зрения выполнения. MOQ - объекты, выполняющий роль заглушки, замещающей реальны объекты, с заранее известными входами и выходами. | Интеграционное тестирование | Тестирование взаимодействия между собой различных модулей системы. По сравнению с UnitTest более приближено к реальному виду системы. | Регрессионное тестирование | Проверка функционала, который уже существовал в системе и не является новым для нее. Суть в том, чтобы убедиться, что в рамках доработок системы старые функции/варианты использования не были повреждены/некорректно изменены. | Нагрузочное тестирование | Проверка, что инфраструктура системы справляется с предполагаемой нагрузкой. Проверка производительности компонентов системы. |
|
| |