Similar presentations:
Модульное тестирование (unit- тестирование)
1.
Модульноетестирование
(unit- тестирование)
2.
Уровни тестирования3.
ПонятиеМодульное тестирование – это тестирование
программы на уровне отдельно взятых модулей,
функций или классов
4.
Цель модульного тестированияЦель: выявление локализованных в модуле ошибок в
реализации алгоритмов, а также в определении степени
готовности системы к переходу на следующий уровень
разработки и тестирования
5.
6.
Особенности модульноготестирования
1. Использует подход «Белый ящик» (работа с программным кодом, связь с
библиотеками тестируемого ПО)
2. выполняет программист (разработчик) , а не тестировщик
3. удобен при параллельной разработки
4. узкая специализация — проверке подвергаются отдельные модули, а не
все приложение в целом
7.
Преимущества unit-тестированияПростота. Написать тест для отдельного модуля проще, чем для приложения в целом. Соответственно,
если нужно проверить не всю программу, а лишь ее часть (например, вышедшее обновление или патч),
то можно использовать модульное тестирование, предварительно изолировав проверяемый фрагмент
кода.
Информативность. Хорошо составленный тест помогает разработчикам понять API приложения,
функционал модуля, особенности его использования. Особенно это полезно в том случае, если при
работе над проектом произошла смена ответственных за разработку и проверку специалистов.
Параллельная разработка. Модульное тестирование позволяет проверить работу одного компонента
приложения независимо от других. Благодаря этому можно параллельно разрабатывать различные
программные модули, тем самым сократив время на создание и отладку продукта.
Возможность повторного использования. Создав однажды тест для проверки отдельного модуля,
разработчик может вернуться к нему позднее, чтобы протестировать работу компонента еще раз.
Регрессионное тестирование состоит в написании контрольных примеров для всех функций, которые
помогают выявить ошибки, вызванные внесенными изменениями.
8.
Недостатки unit-тестирования1. не гарантирует, что будут найдены все ошибки (невозможно
предугадать все сценарии их выполнения);
2. применяется к изолированным фрагментам кода, поэтому
может выявить только ошибки проверяемого модуля
(неспособно показать баги, возникающие при интеграции
модуля с другими компонентами приложения; не способно
выявить системные ошибки продукта в целом).
9.
Рекомендации к unit-тестамЧтобы модульное тестирование было максимально эффективным, тесты должны:
соответствовать конкретному модулю — нельзя применять один и тот же тест для
тестирования разных по назначению и реализации программных компонентов;
быть автоматизированными — тест лучше вписать в сам код, тогда он будет запускаться
автоматически и сильно упростит жизнь разработчику;
быть своевременными — если тест нельзя написать до разработки самого кода, его лучше
создавать параллельно, что сэкономит много времени в дальнейшем;
отвечать основным задачам — при написании теста не нужно стараться учесть все
возможные сценарии, лучше сосредоточиться сначала на основных, а остальные дополнять по
мере необходимости;
иметь хорошее название — описывающее, что именно тестируется, в каких условиях и с
каким желаемым результатом.
10.
Инструменты модульного тестирования1. NUnit —платформа модульного тестирования NET для организации тестовых сценариев.
2. Microsoft Visual Studio — комплексная среда разработки для разработки, отладки и управления
тестированием в .net.
3. JUnit —простая среда тестирования для Java и JVM для повторяемых тестов.
4. HtmlUnit — браузер без графического интерфейса для программ на Java.
5. TestNG —упрощает широкий спектр задач расширенного тестирования.
6. Parasoft JTest —для оптимизации соответствия за счет создания бездефектного кода с помощью Java.
7. Mockito —фреймворк для создания макетов Java для написания и поддержки тестов.
8. PHPUnit — PHP-фреймворк для модульного тестирования, ориентированный на программистов.
9. JMockit — набор инструментов автоматического тестирования для разработчиков Java.
10. Embunit —среда модульного тестирования для разработки встроенного программного обеспечения на
C или C++.
ИСТОЧНИК: https://theqalead.com/tools/best-unit-testing-tools/