Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ШПОРЫ ТРПО 1-16.docx
Скачиваний:
3
Добавлен:
26.09.2019
Размер:
1.44 Mб
Скачать

9. Тестирование программного обеспечения. Юнит тестирование. Заглушки. Виды заглушек

Тести́рование програ́ммного обеспе́чения — деятельность, выполняемая для оценки и улучшения качества программного обеспечения. Эта деятельность в общем случае базируется на обнаружении дефектов и проблем в программных системах.

С точки зрения ISO 9126, Качество (программных средств) можно определить как совокупную характеристику исследуемого ПО с учётом следующих составляющих:

  1. Надёжность

  2. Сопровождаемость

  3. Практичность

  4. Эффективность

  5. Мобильность

  6. Функциональность

Модульное тестирование, или юнит-тестирование (англ. unit testing) — процесс в программировании, позволяющий проверить на корректность отдельные модули исходного кода программы.

Обычно выполняется программистами

Тесты пишутся для любой нетривиальной функции или метода. Модульное тестирование используется при регрессионном тестировании.

  • Регрессионное тестирование:

    • повторное выборочное тестирование системы или компонент для проверки сделанных модификаций не должно приводить к непредусмотренным эффектам

    •  если система успешно проходила тесты до внесения модификаций, она должна их проходит и после внесения таковых

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

Принципы:

  • Поощрение изменений Модульное тестирование позже позволяет программистам проводить рефакторинг, будучи уверенными, что модуль по-прежнему работает корректно (регрессионное тестирование). Это поощряет программистов к изменениям кода, поскольку достаточно легко проверить, что код работает и после изменений.

  • Упрощение интеграции Модульное тестирование помогает устранить сомнения по поводу отдельных модулей и может быть использовано для подхода к тестированию «снизу вверх»: сначала тестируются отдельные части программы, затем программа в целом.

  • Документирование кода Модульные тесты можно рассматривать как «живой документ» для тестируемого класса. Клиенты, которые не знают, как использовать данный класс, могут использовать юнит-тест в качестве примера.

Недостатки:

  • Ошибки интеграции, системного уровня, функций, исполняемых в нескольких модулях не будут определены

  • Не учитывается производительность

Особенности:

  • приемлемая степень покрытия кода unit-тестами – 50-90%

  • в первую очередь unit-тестами должна быть покрыта логика приложения

  • полное покрытие сложно и трудоемко

Критерии эффективности Unit-теста:

  • написан до кода

  • не зависит от других тестов, источников данных

  • является повторяемым (при повторном запуске теста результат не меняется)

Виды заглушек:

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

  • Mock – более совершенный Fake: может содержать внутри себя операции assert, проверять порядок вызовов методов, записывать данные в единый лог-файл

Многощетинковые черви в ярости от всей этой хуйни!!!!

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]