Методологии тестирования программного обеспечения: изучение моделей обеспечения качества

Содержание:

Anonim

Что такое методология тестирования программного обеспечения?

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

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

В этом руководстве вы узнаете:

  • Модель водопада
  • Итеративная разработка
  • Гибкая методология
  • Экстремальное программирование
  • Какую методологию программного обеспечения выбрать?
  • Как настроить методики тестирования программного обеспечения?

Модель водопада

Что это такое?

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

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

Что такое подход к тестированию?

Первый этап в каскадной модели - это этап требований, на котором все требования проекта полностью определяются перед началом тестирования. На этом этапе команда тестирования обсуждает объем тестирования, стратегию тестирования и составляет подробный план тестирования.

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

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

Преимущества

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

Недостатки

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

Эта методология не подходит для проектов, где требования часто меняются.

Итеративная разработка

Что это такое?

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

Что такое подход к тестированию?

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

Преимущества

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

Недостатки

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

Гибкая методология

Что это такое?

Традиционные методологии разработки программного обеспечения основаны на том, что требования к программному обеспечению остаются неизменными на протяжении всего проекта. Но с увеличением сложности требования претерпевают многочисленные изменения и непрерывно развиваются. Иногда заказчик сам не уверен, чего он хочет. Хотя итеративная модель решает эту проблему, она по-прежнему основана на модели водопада.

В методологии Agile программное обеспечение разрабатывается поэтапно и быстро. Особое внимание уделяется взаимодействию между клиентами, разработчиками и клиентом, а не процессам и инструментам. Гибкая методология фокусируется на реагировании на изменения, а не на обширном планировании.

Что такое подход к тестированию?

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

Преимущества

В любой момент можно внести изменения в проект для соответствия требованиям.

Это инкрементное тестирование минимизирует риски.

Недостатки

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

Экстремальное программирование

Что это такое?

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

В экстремальном программировании разработчики обычно работают парами.

Экстремальное программирование используется там, где требования клиентов постоянно меняются.

Что такое подход к тестированию?

Экстремальное программирование следует за разработкой, управляемой тестированием, которая описывается следующим образом:

  1. Добавьте тестовый набор в набор тестов, чтобы проверить новые функции, которые еще предстоит разработать.
  2. Запустите все тесты, и, очевидно, новый добавленный тестовый пример должен завершиться неудачно, поскольку функциональность еще не закодирована
  3. Напишите код для реализации функции / функции
  4. Снова запустите набор тестов. На этот раз новый тестовый пример должен пройти, поскольку функционально закодировано

Преимущества

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

Непрерывное тестирование и непрерывная интеграция небольших выпусков обеспечивает высокое качество программного кода.

Недостатки

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

Какую методологию программного обеспечения выбрать?

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

Выбор конкретной методологии зависит от многих факторов, таких как характер проекта, требования клиента, график проекта и т. Д.

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

Как настроить методики тестирования программного обеспечения?

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

Планирование

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

Определенные результаты

Чтобы все члены команды были на одной странице, должны быть предоставлены четко определенные результаты. Результаты должны содержать прямой контент без какой-либо двусмысленности.

Подход к тестированию

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

Составление отчетов

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