Юнит тестирование

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

Вследствие широкой распространенности было создано значительное количество инструментов для осуществления данного типа тестирования. Одним из примеров таких фреймворков является семейство xUnit [3], поддерживающее большинство популярных языков программирования. Помимо этого, юнит-тестирование является встроенным в качестве одного из этапов сборки проекта при использовании некоторых фреймворков автоматической сборки (например, Apache Maven). Тем не менее, инструменты тестирования позволяют запускать тесты и без использования подобных фреймворков сборки. Для юнит-тестирования иногда требуется исходный код программы. Так, например, для программ на языке C++ может понадобиться компиляция исходных кодов программы вместе с кодами модульных тестов, чтобы получить итоговую программу.

Взаимодействие с программой через командную строку и файлы

Другой методикой тестирования программного обеспечения является проверка корректности работы с помощью взаимодействия с программой посредством командной строки. Стоит учесть, что не все программы могут быть протестированы подобным образом, так как программа должна иметь определенную структуру, учитывающую механизм взаимодействия с пользователем.

Несмотря на то, что способ взаимодействия программы через командную строку предназначен скорее для взаимодействия с человеком, нежели чем с другими программами, автоматизация данной проверки может быть осуществлена с помощью средств операционной системы.

Еще одной схожей с консольным взаимодействием методикой является передача данных в программу из файлов. Однако, как и в случае с программами, использующими командную строку, данный способ должен учитывать особенную архитектуру приложения, которая должна поддерживать возможность взаимодействия с файлами.

Известны также другие виды тестирования программного обеспечения с помощью более продвинутых средств коммуникации, таких как сетевые протоколы, технологии рассылки сообщений (например, JMS, RMI), и другие. Но в данной работе она не рассматриваются в связи с чрезмерной специфичностью.

 
< Пред   СОДЕРЖАНИЕ   Загрузить   След >