Внутренние ссылки:

Дочерние страницы:
Обратные ссылки:

 
  1. Кодовая база может быть представлена в виде снимков состояний.
  2. Каждый раз, когда мы вносим изменения в код, мы берем за основу некое состояние и добавляем. меняем строки кода, тем самым создавая новое состояние.
  3. Условно, мы можем сказать, что предыдущее состояние является корректным - в нем программа выполняет поставленные задачи, а вот состояние после изменения может содержать ошибки.
  4. Механизмы тестирования призваны удостовериться, что новое состояние кодовой базы (версия приложения), работает корректно.
  5. Тест описывание наши ожидания относительно поведения программы. Выполнение теста подтверждает, что код ведет себя именно так, как он него ожидается.
    (Это может касаться, как обязательств интерфейсов на уровне кода, так и поведение и контракт web api, UI, отправки сообщений, состояния БД, поведения отдельно взятой функции).
 AS IS TO BE
 Вопрос стоимости создания и поддержания тестов.
 Функциональное и нефункциональное тестирование.
 
Тип 
Unit test.
Модульное тестирование.

Тестирование отдельных модулей (компонентов) системы(программы) в изолированной среде, с заранее известными входными и выходными значениями тестов. Используется техника подмены реализации, когда вместо зависимостей классу передаются заглушки с заранее известным поведением и наборами данных (MOQ). Обычно предполагает изолирование от внешних систем и хранилищ данных.
Обычно является наиболее дешевым с точки зрения выполнения.

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

Интеграционное тестированиеТестирование взаимодействия между собой различных модулей системы. По сравнению с UnitTest более приближено к реальному виду системы.
Регрессионное тестированиеПроверка функционала, который уже существовал в системе и не является новым для нее. Суть в том, чтобы убедиться, что в рамках доработок системы старые функции/варианты использования не были повреждены/некорректно изменены.
Нагрузочное тестированиеПроверка, что инфраструктура системы справляется с предполагаемой нагрузкой.
Проверка производительности компонентов системы.
 

Автоматизированное интеграционное тестирование ASP.NET приложения
https://habr.com/ru/post/174735/

Автоматизация тестирования Web-приложений
https://habr.com/ru/post/178407/

В чём разница Smoke, Sanity, Regression, Re-test и как их различать?
https://habr.com/ru/post/358142/