Найти тему
Всё о IT и не только

Тестирование программного обеспечения - уровни тестирования

Оглавление

Тестирование является ключевым аспектом программной инженерии, который часто недооценивается. Много раз, наверное, каждый сталкивался с таким подходом: давайте сделаем функциональность, давайте напишем код, а тесты и документация будут сделаны позже. Подобную практику часто можно встретить в небольших компаниях, где даже иногда доходят до абсурдных ситуаций, когда просто менеджер/владелец говорит, что не будет нанимать тестера, потому что у него нет ресурсов, поэтому разработчикам приходится управлять самостоятельно. Как это может закончиться в будущем? Мы все хорошо знаем...

Заботясь о хороших практиках программирования, я решил обсудить в блоге совершенно новую тему, связанную с тестированием ПО. Для начала я решил написать статью о тестовых уровнях, поэтому приглашаю вас почитать ...

В тестировании программного обеспечения существует четыре уровня тестирования. Существует четыре уровня тестирования:

1. Юнит-тесты,

2. Интеграционные тесты,

3. Системные тесты,

4. Приемочные испытания.

Что такое юнит-тесты?

Как следует из названия, модульные тесты проверяют "единицу" - единый программный модуль или компонент. Например, если нам приходится проверять конкретный метод из класса X, то разработчик в большинстве случаев не проверяет его вручную, а создает юнит-тесты, которые проверяют корректность написанного кода. При наличии зависимостей между конкретными модулями или компонентами используются так называемые "плагины" или драйверы, задача которых - смоделировать работу части кода, не являющейся объектом тестирования. Например, юнит-тесты не проверяют, вернул ли удаленный сервер правильный json, но правильно ли интерпретирован этот json ("жестко закодированный" для теста).

Что такое интеграционные тесты?

Интеграционные тесты подтверждают интеграцию между отдельными программными модулями или компонентами. В отличие от модульных тестов, на данном этапе мы не проверяем правильность отдельных компонентов или модулей. Примером интеграционного теста является, например, проверка правильности подключения к БД.

Что такое системные тесты?

Тесты системы проводятся на всей системе и предполагают проверку конкретного сценария с точки зрения пользователя. Примерным сценарием может быть, например, добавление статьи системы CMS. Для этого требуется, чтобы тестер аутентифицировался, запустил редактор, написал статью, опубликовал ее и убедился, что все правильно отображается на сайте. Это одни из самых сложных тестов, так как их сложно автоматизировать.

В чем заключаются приемочные испытания?

Приемочные испытания - это последний уровень испытаний, они проводятся для того, чтобы клиент принял продукт. В целом, на данном этапе не должно быть ошибок в программном обеспечении. Эти тесты проводятся на производственной среде и должны проверить, соответствует ли, в конечном счете, программное обеспечение всем предположениям и ожиданиям клиента.