Тестирование. Виды тестирования в программировании -- что это в программировании
Primary tabs
Forums:
Тестирование -- процесс проверки (разными способами) кода программы наличие в нём ошибок разных видов.
Виды тестирования (способы)
Тут эпиграф:
...сколько разработчиков, столько и определений разных видов тестов
- цитата из Сети
Вообще здесь всё действительно довольно мутно и строгих ясных определений нет, но тем не менее ниже кратко основные идеи.
По масштабу тестируемого:
- Модульные (unit-тесты) -- тестирование небольших частей, минимальных единиц кода -- например 1 функции или метода. Обычно модульное тестирование интересует программистов.
- Функциональное тестирование -- тестирование более крупного масштаба, где может проверяться одна из глобальных функций приложения (напр. система авторизации) тут тестируемые результат может быть плодом взаимодействия целой группы функций/классов.
Код теста (если он автоматический) может вызывать эти функции по очереди, сохраняя промежуточные результаты. Т.е. эта ситуация уже сложнее модульного тестирования "кирпичиков".
К этому же уровню относится "приёмочное" тестирование.
По уровню автоматизации все тесты можно разбить на два класса (которые сами делятся на разные виды):
- Ручное тестирование -- тестировщик делает действия -- те же самые что будет делать конечный пользователь программы). Ручным может быть в том числе и приёмочное тестирование
- Автоматическое тестирование -- специально написанная программа (код) запускает части другой программы (другой код), проверяя корректность результатов.
Пример из жизни -- Виды тестирования в программировании
Поясним ещё раз на примере из жизни, если вдруг пользователь не может войти в систему, то:
- это значит, что функциональное ручное тестирование, показало, что одна из функций приложения не работает
- что в свою очередь означает, программист будет вынужден проверить уже отдельные части ("модули") системы авторизации -- т.е. например, проверить, правильного ли типа значения возвращает одна из функций (этот процесс можно упростить заранее написав для сложной функции unit-тест) --- а это уже модульное тестирование.
Вывод
Таким образом:
- функциональное тестирование происходит всегда (если приложение уходит в работу) -- но желательно конечно его делать до отправки "в плавание"
- а модульное -- зависит от аккуратности программистов (желательно делать его заранее, тогда и некоторых проблем на функциональном уровне удастся избежать автоматически)
- Log in to post comments
- 3353 reads