Кодовая база может быть представлена в виде точек состояний.
Каждый раз, когда мы вносим изменения в код, мы берем за основу некое состояние и добавляем. меняем строки кода, тем самым создавая новое состояние.
Условно мы можем сказать, что предыдущее состояние является корректным - в нем программа выполняет поставленные задачи, а вот состояние после изменения может содержать ошибки.
Механизмы тестирования тестирования призваны удостовериться, что новое состояние кодовой базы (версия приложения), работает корректно.
Тест описывание наши ожидания относительно поведения программы. Выполнение теста подтверждает, что код ведет себя именно так, как он него ожидается. (Это может касаться, как обязательств интерфейсов на уровне кода, так и поведение и контракт web api).


Функциональное и нефункциональное тестирование.

  • UnitTest (модульный) - тестирование отдельных модулей (компонентов) системы(программы) в изолированной среде, с заранее известными входными и выходными значениями тестов. Используется техника подмены реализации, когда вместо зависимостей классу передаются заглушки с заранее известным поведением и наборами данных (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/

Создал(а) Alexandr Fokin 2020/01/05 22:48