Введение
В настоящее время необходимость систематизированного тестирования в промышленной разработке программного обеспечения (ПО) общепризнанна и неоспорима. Тестирование является составляющей частью процесса отладки ПО, после выявления ошибок дефекты в программном коде должны быть устранены разработчиками. От тестовой части требуется во-первых, выявлять значительное количество дефектов программы, на как можно более ранних стадиях, во-вторых, фаза внедрения программного продукта на каждой итерации требует от тестовой подсистемы выявить такое количество ошибок, чтобы продукт мог поступить к конечному пользователю. Все это все более и более повышает требования к качеству тестов.
Традиционные методы разработки тестов вручную уже не могут обеспечить качественное тестирование современных программных систем. Появляется все большее число методик автоматизации и инструментальных средств, направленных на повышение качества и сокращение затрат ресурсов на тестирование ПО. Недостаточно хорошо проведенное тестирование может нанести серьезный урон проекту в целом. Устранение ошибки на стадии сопровождения готового ПО обходится в среднем в 200 раз дороже, чем на стадии определения требований, а в результате позднего выявления ошибок общий бюджет проекта возрастает на 30-40%.
На данный момент существует довольно много видов тестирования. Основные из них будут рассмотрены в данной работе.
Объект исследования. Объектом исследования является модульное (Unit) тестирование на языке программирования Java с использованием библиотеки JUnit.
Целью настоящей работы является сокращение трудоемкости модульного тестирования разрабатываемого приложения.
Задачей работы является описание создания тестовых классов на языке программирования Java.
программного обеспечения трудоемкость модульный
- Введение
- 1. История развития и виды тестирования программного обеспечения
- 1.1 История развития тестирования программного обеспечения
- 1.2 Виды тестирования
- 1.2.1 Инсталляционное тестирование (installation testing)
- 1.2.2 Регрессионное тестирование (regression testing)
- 1.2.3 Тестирование новой функциональности (new feature testing)
- 1.2.4 Конфигурационное тестирование (configuration testing)
- 1.2.5 Тестирование совместимости (compatibility testing)
- 1.2.6 Тестирование удобства эксплуатации (usability testing)
- 1.2.7 Интеграционное тестирование (integration testing)
- 1.2.8 Тестирование безопасности (security testing)
- 1.2.9 Тестирование интернационализации (internationalisation testing)
- 1.2.10 Локализационное тестирование (localisation testing)
- 1.2.11 Тестирование прототипа (prototype testing)
- 1.2.12 Тестирование производительности (performance testing), Нагрузочное тестирование (load testing), Стрессовое тестирование (stress testing)
- 1.2.13 Модульное (компонентное) тестирование (Unit testing)
- 2. JUnit (Модульное тестирование)
- 2.1 Описание
- 2.2 Аннотация @Test
- 2.3 Наиболее часто используемые методы
- 2.4 Фикстуры
- 2.5 Тестирование исключительных ситуаций
- 2.6 Ограничение по времени
- 2.7 Игнорирование тестов
- 3. Примеры
- Заключение