Классификация тестирования по уровням кратко

Обновлено: 08.07.2024

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

Уровни Тестирования

1. Компонентное или Модульное тестирование (Component or Unit Testing)

Компонентное (модульное) тестирование проверяет функциональность и ищет дефекты в частях приложения, которые доступны и могут быть протестированы по-отдельности (модули программ, объекты, классы, функции и т.д.). Обычно компонентное (модульное) тестирование проводится вызывая код, который необходимо проверить и при поддержке сред разработки, таких как фреймворки (frameworks — каркасы) для модульного тестирования или инструменты для отладки. Все найденные дефекты, как правило исправляются в коде без формального их описания в системе менеджмента багов (Bug Tracking System).

Один из наиболее эффективных подходов к компонентному (модульному) тестированию — это подготовка автоматизированных тестов до начала основного кодирования (разработки) программного обеспечения. Это называется разработка от тестирования (test-driven development) или подход тестирования вначале (test first approach). При этом подходе создаются и интегрируются небольшие куски кода, напротив которых запускаются тесты, написанные до начала кодирования. Разработка ведется до тех пор, пока все тесты не будут успешно пройдены.

Разница между компонентным и модульным тестированием:

По-существу, эти уровни тестирования представляют одно и тоже и разница лишь в том, что в компонентном тестировании, в качестве параметров функций, используют реальные объекты и драйверы, а в модульном тестировании — конкретные значения.

2. Интеграционное тестирование (Integration Testing)

Интеграционное тестирование предназначено для проверки связи между компонентами, а также взаимодействия с различными частями системы (операционной системой, оборудованием либо связи между различными системами).

Уровни интеграционного тестирования:

  • Компонентный интеграционный уровень ( Component Integration testing) проверяется взаимодействие между компонентами системы после проведения компонентного тестирования.
  • Системный интеграционный уровень (System Integration Testing) — проверяется взаимодействие между разными системами после проведения системного тестирования.

Подходы к интеграционному тестированию:

  • Снизу вверх (Bottom Up Integration):

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

  • Сверху вниз (Top Down Integration):

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

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

3. Системное тестирование (System Testing)

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

Можно выделить два подхода к системному тестированию:

  • на базе требований (requirements based) — для каждого требования пишутся тестовые случаи (test cases), проверяющие выполнение данного требования.
  • на базе случаев использования (use case based) — на основе представления о способах использования продукта создаются случаи использования системы (Use Cases). По конкретному случаю использования можно определить один или более сценариев. На проверку каждого сценария пишутся тест-кейсы (test cases), которые должны быть протестированы.

4. Приемочное тестирование или приемо-сдаточное испытание (Acceptance Testing)

Приемочное тестирование или приемо-сдаточное испытание (Acceptance Testing) — формальный процесс тестирования, который проверяет соответствие системы требованиям и проводится с целью:

  • определения удовлетворения системой приемочным критериям;
  • вынесения решения заказчиком или другим уполномоченным лицом принятия приложения.

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

  • Продукт достиг необходимого уровня качества.
  • Заказчик ознакомлен с Планом Приемочных Работ (Product Acceptance Plan) или иным документом, где описан набор действий, связанных с проведением приемочного тестирования, дата проведения, ответственные и т.д.

Фаза приемочного тестирования длится до тех пор, пока заказчик не выносит решение об отправлении приложения на доработку или выдаче приложения.

Схема классификации тестирования: Рис. 2.2. Схема, на которой все способы классификации показаны одновременно

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

Уровни тестирования:

Уровни тестирования по детализации (Test Levels by detalization):

  • Компонентное тестирование (component\module\unit testing)
  • Интеграционное тестирование (integration testing)
  • Системное тестирование (system testing)
  • Приёмочное тестирование (acceptance testing)
    • Пользовательское приёмочное тестирование (User acceptance testing)
    • Эксплуатационное приёмочное тестирование (Operational acceptance testing)
    • Альфа-тестирование (Alpha testing)
    • Бета-тестирование (Beta testing)

    Уровни тестирования по приоритету (Test Levels by priority):

    Согласно ISTQB, нижеперечисленное не является уровнями тестирования. Но многие тестировщики относят к их к уровням, поэтому упомянем их в этой секции.

    • Смоук тестирование (Smoke testing)
    • Тестирование критического пути (Critical path testing)
    • Тестирование расширенного пути (Extended path testing)

    Виды тестирования:

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

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

    Виды тестирования по объекту (Test types by object):

    Виды функционального тестирования:

    • Тестирование функциональной корректности (Functional correctness testing)
    • Тестирование функциональной пригодности\целесообразности (Functional appropriateness testing)
    • Тестирование функциональной полноты (Function completeness testing)

    Виды нефункционального тестирования:

    • Тестирование защищённости (Security testing)
    • Тестирование безопасности (Safety testing)
    • Тестирование производительности (Performance testing)
      • Нагрузочное тестирование (Load testing)
      • Стрессовое тестирование (Stress testing)
      • Тестирование кроссбраузерности (Cross browser testing)
      • Тестирование кроссплатформенности (Cross platform testing)

      Виды тестирования по изменениям:

      • Тестирование нового функционала (New feature testing)
      • Перепроверка дефекта (Retest, Defect validation)
      • Регрессионное тестирование (Regression testing)

      Виды тестирования по степени автоматизации:

      • Ручное тестирование (Manual testing)
      • Автоматическое тестирование (Automated testing)

      Виды тестирования по запуску кода:

      • Статическое тестирование (Static testing)
        • Тестирование белого ящика

        Методы тестирования:

        • Чёрный ящик (Black box testing)
        • Белый ящик (White box testing)
        • Серый ящик (Gray box testing)

        Техники тестирования:

        Техники тестирования метода чёрного ящика:

        • Эквивалентное разбитие (Equivalence partitioning)
        • Анализ граничных значений (Boundary value analysis)
        • Анализ доменов (Domain analysis)
        • Тестирование всех пар (All pairs testing, Pairwise)
        • Тестирование таблицы решений (Decision table testing)
        • Тестирование диаграмы переходов состояний (State transition testing)
        • Графики причинно-следственных связей (Cause-Effect Graphing)
        • Тестирование сценариев использования (Use Case Testing)
        • Тестирование историй использования (User Story Testing)

        Техники тестирования метода белого ящика:

        • Тестирование покрытия операторов (Statement testing and coverage)
        • Тестирование покрытия условий и решений (Decision testing and coverage)
        • Тестирования покрытия условий и значений операторов (The value of statement and decision testing)

        Техники основанные на опыте:

        • Предугадывание ошибок (Error guessing)
        • Исследовательское тестирование (Exploratory testing)
        • Свободное тестирование (Ad-hoc testing
        • Тестирование по чеклистам (Checklist-based testing)

        Техники тестирования основанные на дефектах:

        Кто такой тестировщик и чем он занимается?
        Функциональное VS Нефункциональное тестирование

        Вам также может понравиться

        domain testing

        Техники тест дизайна: Доменное тестирование (Эквивалентное разбиение и анализ граничных значений)

        7 Принципов тестирования

        2 февраля, 2022

        7 принципов тестирования


        2 сентября, 2021

        Раздел: Компьютер - Программирование - Теория программирования - Конструирование и тестирование программного обеспечения - Лекции Циганенко В. Н.

        Тема 12. Классификация тестирования на уровни, виды и типы

        Тесты существенно различаются по задачам, которые с их помощью решаются, и по используемой технике. Различие задач тестирования приводит, естественным образом, к необходимости использовать весьма разнообразные типы (виды) тестирования. Принято подразделять тестирование на виды по следующим категориям:

        • по объектам (элементам) тестирования, часто разделение на виды тестов по данному критерию называют разделением тестирования на уровни;
        • по глубине тестирования, то есть разделение тестовых испытаний на типы проводится в зависимости от количества времени и объема тестируемых компонент программного продукта.

        Тем не менее, основная классификация тестов на виды производится в соответствие с традиционными показателями качества, которые проверяются с их помощью.

        12.1. Уровни тестирования

        Модульное тестирование (Автономное или Unit-тестирование)

        Объект тестирования — Разработанные компоненты

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

        Комплексное тестирование (Сборочное тестирование, integration testing или interface testing)

        Объект тестирования — Собранная из компонентов система или подсистема

        Определение: На данном уровне тестируются объединенные элементы (компоненты или подсистемы) общей системы, чаще всего некоторая взаимодействующая между собой группа элементов.

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

        Системное тестирование (system testing)

        Объект тестирования — Разработанная система

        Определение: После того, как система собрана из составляющих компонентов, она должна быть протестирована на соответствие “Системным спецификациям” – реализованы ли все функциональные и нефункциональные требования к разрабатываемой системе.

        На данном уровне тестируется приложение или система (одно или более приложений) целиком.

        Приемочное тестирование (Приемо-сдаточное тестирование или acceptance testing)

        Объект тестирования — Разработанная система

        Определение: На данном уровне завершенное приложение (система) тестируется Заказчиком, конечными пользователями или соответствующими уполномоченными с целью определения соответствия системы “Требованиям Заказчика” и готовности системы к внедрению. Приемосдаточные испытания оформляют процесс передачи продукта от Разработчика Заказчику. В зависимости от особенностей продукта и от требований Заказчика они могут проводиться в различной форме. Например, в виде альфа- или бета-тестирования.

        Приемочное тестирование схоже с системным тестированием, но со следующим различием:

        • Системное тестирование проверяет, что разработанная система соответствует специфицированным требованиям;
        • Приемочное тестирование проверяет, что разработанная система удовлетворяет запрошенным Заказчиком требованиям с упором на нужды конечных пользователей в данной предметной области.

        Операционное тестирование (Release Testing)

        Объект тестирования — Разработанная система

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

        Кроме этого, тестирование в среде эксплуатации позволяет выявить и нефункциональные проблемы, такие как: конфликт с другими системами, смежными в области бизнеса или в программных и электронных окружениях; недостаточная производительность системы в среде эксплуатации и др.

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

        Основное разделение тестов на виды по объектам тестирования, или, точнее, на уровни тестирования, было произведено нами при определении обобщенной модели ЖЦ ТП. Уровни тестирования приведены ниже. Для каждого уровня тестирования могут использоваться различные виды тестирования, для каждого из которых, в свою очередь, могут использоваться различные типы тестовых испытаний.

        12.2. Виды тестирования

        Инсталляционное тестирование (Installation testing)

        Определение: В процессе инсталляционного тестирования проверяется корректность установки и деинсталляции программного продукта в среде максимально приближенной к эксплуатационной. Проверка правильности установки программного продукта должна быть обязательным элементом проекта по тестированию любого продукта.

        Цель: Основная цель состоит в том, чтобы убедиться, что продукт может быть установлен/деинсталлирован при различных условиях – таких как: новая инсталляция, усовершенствование системы (upgrade), установка по умолчанию, полная установка, установка по выбору.

        Дымное тестирование (проверка на дым, Smoke testing)

        Определение: Первый прогон программы (после написания или после внесения существенных изменений). Как правило, используется для определения, готова ли программа для проведения более обширного тестирования.

        Функциональное тестирование (Functional testing)

        Определение: Проверка соответствия продукта функциональным требованиям и спецификациям

        Цель: Проверка соответствия продукта функциональным требованиям и спецификациям

        Определение: Повторное тестирование после внесения изменений в программное обеспечение или в его окружение (в новой версии приложения), чтобы убедиться в том, что функции, которые работали в предыдущей версии системы, по-прежнему работают так, как ожидалось, а найденные дефекты успешно исправлены (все протестированное ранее тестируется повторно)

        Цель: Выявление потенциальных проблем, которые могли возникнуть в результате изменений. Проверка исправления найденных ранее дефектов.

        Интеграционное тестирование (Integration testing)

        Определение: Проверка скомбинированных компонентов прикладной программы с целью определения корректности их совместного функционирования

        Цель: Выявление потенциальных проблем в совместном функционировании компонент

        Тестирование графического интерфейса пользователя (User Interface testing)

        Определение: Тестирование интерфейса – экранов, кнопок и т.д. Большая часть функциональности ПО реализуется, как правило, через пользовательский интерфейс.

        Цель: Обнаружение ошибок в интерфейсе и поиск ошибок в функциональности посредством интерфейса

        Тестирование производительности (Performance testing)

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

        Цель: Установить реальную производительность программного продукта

        Нагрузочное тестирование (Load testing)

        Цель: Убедиться в том, что система работает соответственно ожидаемым рабочим нагрузочным параметрам (какой предел работоспособности)

        Стресс тестирование (Stress testing)

        Определение: Является одним из разновидностей тестирования на производительность. Проверяется поведение системы при недостатке ресурсов (дискового пространства, обрывов сети и т.д.).

        Цель: Проверка того, что система адекватно реагирует на те или иные стрессовые ситуации

        Конфигурационное тестирование (Configuration testing)

        Определение: Конфигурационное тестирование – тестирование работы на различных платформах. Различные варианты аппаратной конфигурации, версии операционной системы и окружения.

        Цель: Проверить работоспособность системы при различных конфигурациях

        Тестирование интернационализации (Internationalization testing)

        Определение: Этот вид тестирует насколько продукт готов к тому, чтобы быть адаптированном для работы в других локалях с другим языком пользовательского интерфейса, отличном от языка по умолчанию (как правило, это английский)

        Цель: Проверить способность продукта быть быстро локализованным под необходимую локаль потенциальных пользователей системы

        Локализационное тестирование (Localization testing)

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

        Цель: Проверить, правильно ли локализован продукт

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

        Для проверки функциональности (functionality) ПО необходимо испытать приложенние на выполнение функциональных требований к нему (сценариев использования и др.). Для этого используются собственно функциональные тесты, а также тесты безопасности, объема и другие.

        Тестирование надежности (reliability) ПО производится с целью проверки нефункциональных требований, что приложение работает, как и ожидалось, устойчиво к падениям и т.п. Здесь применяются интеграционные тесты, тесты структуры, стрессовые тесты и другие.

        Тестирование удобства использования (usability) ПО (нефункциональные требования) производится с целью удостовериться в том, что приложение удобно для использования его конечным пользователям. Включает в себя тесты на человеческий фактор, эстетику интерфейса и его непротиворечивость, наличие и качество оперативной и контекстной помощи, руководств и учебных материалов.

        Тестирование производительности (performance) ПО выполняется с целью удостовериться, что функционирование приложения обеспечивается в то время, когда выполняются нефункциональные требования к приложению по работе в реальных условиях. Включает в себя оценку временных профилей, времени отклика, операционной надежности и некоторых других характеристик. Основные виды тестирования приведены ниже.

        12.3. Типы тестовых испытаний по глубине тестирования.

        Приемочный тест (Smoke test) – первый и самый короткий тест, призванный проводить проверку основных элементов программного продукта и его работоспособности в целом. В случае функционального тестирования – проверяется основной функционал приложения. Тест занимает 1-4 часа в зависимости от сложности тестируемого продукта. На основе результатов данного теста принимается решение о приемке версии программного продукта и продолжении тестирования текущей версии продукта более серьезными тестовыми испытаниями.

        Критический тест (Critical path test) – основной тип тестовых испытаний, во время которого значимые элементы и функции приложения проверяются на предмет правильности работы при стандартном их использовании. Как правило, на данном уровне тестирования проверяется основная масса требований к продукту.

        Расширенный тест (Extended test) – вид углубленного тестирования, при котором проверяется нестандартное использование программного продукта, границы переполнения массивов данных, ввод специальных символов и т.п.

        Классификация
        тестирования по уровням
        1.
        2.
        3.
        4.
        5.
        6.
        Модульное тестирование
        Интеграционное тестирование
        Системное тестирование
        Выходное тестирование
        Приемочное тестирование
        Альфа- и бета-тестирование

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

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

        Модульное тестирование
        Модульное тестирование включает в себя:
        • проверку программного кода с
        использованием некоторого
        инструментального средства для выявления
        синтаксических ошибок в программном коде
        (синтаксическую проверку);
        • проверку кода на соответствие стандартам
        кодирования (например, соответствия
        оформления программного кода
        требованиям организации-разработчика);
        • технический обзор программного кода.

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

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

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

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

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

        Системное тестирование
        Категории тестов системного тестирования:
        • полнота решения функциональных задач;
        • корректность использования ресурсов (утечка
        памяти, возврат ресурсов);
        • оценка производительности;
        • эффективность защиты от искажения данных и
        некорректных действий;
        • проверка инсталляции и конфигурации на
        разных платформах;
        • корректность документации.

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

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

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

        Альфа-тестирование и бета-тестирование
        Существуют еще две разновидности тестирования,
        отличающиеся друг от друга временем исполнения, —
        альфа-тестирование и бета-тестирование.
        Альфа-тестирование — это реальная работа с
        программным обеспечением, проводимая
        потенциальными пользователями или заказчиками, либо
        имитация реальной работы разработчиками. Чаще всего
        альфа-тестирование проводится на ранней стадии
        разработки продукта, но уже когда реализована вся или
        почти вся функциональность системы. В некоторых
        случаях альфа-тестирование может применяться для
        законченного продукта в качестве внутреннего
        приемочного тестирования. Альфа-тестирование может
        выполняться с использованием отладчика или какого-либо
        инструментария, который помогает быстро выявлять
        ошибки. Обнаруженные ошибки могут быть переданы
        тестировщикам для дополнительного исследования.

        Альфа-тестирование и бета-тестирование
        Бета-тестирование — это уже интенсивное
        использование почти готовой версии
        программного обеспечения с полным набором
        запланированных функций. Целью его является
        выявление максимального числа ошибок в
        работе программного обеспечения для их
        последующего устранения перед окончательным
        выходом продукта на рынок, к массовому
        потребителю. В отличие от альфа-тестирования,
        проводимого силами разработчиков или
        тестировщиков, бета-тестирование предполагает
        привлечение сторонних пользователей, которым
        доступна упомянутая предварительная версия
        продукта (бета-версия).

        Альфа-тестирование и бета-тестирование
        Кроме того, бета-тестирование может
        использоваться в рекламных целях как часть
        стратегии продвижения продукта на рынок
        (например, бесплатная раздача бета-версий
        позволяет привлечь широкое внимание
        пользователей к окончательной дорогой версии
        продукта), а также для получения
        предварительных отзывов о нем от широкого
        круга будущих пользователей.
        Бета-версия не является финальной версией
        продукта, поэтому разработчик не гарантирует
        полное отсутствие ошибок, которые могут
        нарушить работу компьютера и/или привести к
        потере данных.

        Задание 2. Ответьте на вопросы
        1. Дайте определение модульного
        тестирования.
        2. Что такое интеграционное тестирование?
        3. В чем заключается разница между
        модульным и интеграционным
        тестированием?
        4. Чем отличается системное тестирование от
        интеграционного и модульного уровней?
        5. Что такое альфа- и бета-тестирование?

        Читайте также: