Уровни тестирования программного обеспечения

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

Обзор уровней тестирования программного обеспечения

Выделяют четыре уровня тестирования:

  • Модульное тестирование
  • Интеграционное тестирование
  • Системное тестирование
  • Приёмочное тестирование

Overview of Software Testing LevelsUnit TestTest an IndividualComponentIntegration TestTest ComponentGroupsSystem TestTest the IntegratedSystemAcceptance TestTest the FinalSystem
Открыть схему в полном размере

Обзор уровней тестирования программного обеспечения

Модульное тестирование

Модуль представляет собой наименьшую независимую часть исходного кода, которую можно протестировать. Модульное тестирование является первым уровнем. Обычно его проводят разработчики или их коллеги по команде, а не тестировщики программного обеспечения. Завершите модульное тестирование до объединения модулей. Для этого необходимы чёткий план и тестовые сценарии.

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

Unit Testing FlowWrite or ModifyYour CodeCreate UnitTest CasesCompile and ExecuteTestsCollect TestResultsEncountereda Failure?YesNoTestsPass
Открыть схему в полном размере

Модульное тестирование

Эффективное модульное тестирование также экономит деньги. Обычно исправление дефектов на поздних этапах разработки стоит гораздо дороже, чем на ранних.

Модульные тесты охватывают небольшой компонент. Их сценарии и данные не позволяют проверить все функциональные сценарии и потоки информации во всём приложении. Некоторые сценарии можно проверить только после объединения модулей в более крупный компонент.

Интеграционное тестирование

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

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

  1. Большой взрыв
  2. Нисходящая интеграция
  3. Восходящая интеграция
При подходе «большой взрыв» все модули объединяют в целую систему, а затем тестируют её, чтобы выявить дефекты.

Integration Testing ApproachesIntegration TestingTop DownIntegration TestingBottom UpIntegration Testing
Открыть схему в полном размере

Интеграционное тестирование

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

Top Down and Bottom Up Integration12345678Level OneLevel TwoLevel ThreeLevel FourBottom UpTop Down
Открыть схему в полном размере

Тестирование при нисходящей и восходящей интеграции

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

Системное тестирование

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

System Testing through the Software Development Life CycleTestingStrategyUnitTestingIntegrationTestingSystemTestingUser AcceptanceTestingCompletion ofTestingTesting RequirementSoftwareDevelopmentLife CycleTest DependentSoftwareDevelopmentSoftwareChange ControlSoftware IsReady forImplementation
Открыть схему в полном размере

Системное тестирование

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

Приёмочное тестирование

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

  1. Пользовательское приёмочное тестирование. Реальные пользователи тестируют программное обеспечение до его приёмки на своей площадке или в организации, которая его разработала.
  2. Эксплуатационное приёмочное тестирование. Проверяется наличие процессов и процедур, необходимых для эксплуатации и сопровождения системы.
  3. Приёмочное тестирование по договорным и нормативным требованиям. Проверяется соответствие договорным требованиям и применимым государственным, правовым нормам и стандартам безопасности.
  4. Альфа-тестирование. Ближе к концу разработки, когда можно проверить всю систему, оценивают общее качество продукта и готовятся к бета-тестированию. Инженеры по тестированию и другие члены команды оценивают качество и технические решения с точки зрения клиента. Этот этап может занять значительное время.
  5. Бета-тестирование. После альфа-тестирования реальные пользователи пробуют продукт в реальных условиях, чтобы повысить качество и проверить соответствие своим требованиям. Этап проходит за несколько дней или недель до выпуска и может длиться несколько дней. Он может быть короче альфа-тестирования, поскольку вероятность обнаружить дефекты на этом этапе сравнительно невелика.

User Acceptance Testing Process01PlanUAT02Identify TestingScenarios03ExecuteTests04Verify DefectsAfter Fixing05ReportResults06End ofUAT
Открыть схему в полном размере

Приёмочное тестирование



Мы гарантируем, что с нашим бесплатным онлайн-курсом вы сдадите сертификационный экзамен по тестированию ПО!

  1. 01

    Запишитесь онлайн

    Выберите аккредитованную сертификацию и завершите регистрацию.

  2. 02

    Получите код доступа

    Персональный код доступа к экзамену сразу придёт на электронную почту.

  3. 03

    Подготовьтесь и сдайте экзамен

    Пройдите бесплатное обучение и ответьте онлайн на 50 вопросов с выбором ответа.

  4. 04

    Получите бессрочную сертификацию

    Получите сертификат, действительный во всём мире, и цифровой значок, подлинность которого можно проверить.

Образец сертификата Accredited Software Test Manager Certification™
Записаться на сертификацию

ВАШЕ БЕСПЛАТНОЕ ПРЕМИАЛЬНОЕ ОБУЧЕНИЕ ОНЛАЙН

Второе издание Software Testing Revealed уже доступно.

Мы разработали курс вместе с группой известных руководителей компаний и команд, тренеров по тестированию ПО, наставников, экспертов и признанных специалистов из всех основных отраслей. Он доступен всем посетителям International Software Test Institute™. Материалы находятся в разделах Ваша бесплатная книга по тестированию ПО и Ваше бесплатное обучение по тестированию ПО премиум-уровня в главном меню.

Эти материалы являются интеллектуальной собственностью International Software Test Institute™ и защищены авторским правом. Мы бесплатно делимся ими со всеми, потому что наш опыт помогает специалистам по тестированию ПО и способствует развитию профессии.

Сертификационный экзамен состоит из вопросов с вариантами ответа. Пройдите онлайн-курс, чтобы получить знания, необходимые для сдачи экзамена и получения сертификата по тестированию ПО.

Мы гарантируем, что с нашим бесплатным премиальным онлайн-курсом вы сдадите сертификационный экзамен по тестированию ПО!