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

Методология Agile

Что такое Agile-методология в тестировании?

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

Методология Agile
Методология Agile

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

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

Гибкая разработка программного обеспечения делает акцент на четырех основных ценностях.

  1. Индивидуальное и командное взаимодействие по процессам и инструментам
  2. Рабочее программное обеспечение над обширной документацией
  3. Сотрудничество с клиентами по вопросам переговоров по контракту
  4. Реагирование на изменения вместо следования плану

Гибкая модель против модели водопада

Модели Agile и Waterfall — это два разных метода разработки программного обеспечения. Хотя они различаются по своему подходу, оба метода иногда полезны, в зависимости от требований и типа проекта.

Гибкая модель Модель водопада
Определение гибкой методологии в тестировании программного обеспечения: гибкие методологии предлагают поэтапный и итеративный подход к разработке программного обеспечения. Модель водопада: разработка программного обеспечения осуществляется последовательно от начальной точки до конечной точки.
The Гибкий процесс при тестировании программного обеспечения разбивается на отдельные модели, над которыми работают дизайнеры. Процесс проектирования не разбит на отдельные модели.
У клиента есть ранняя и частая возможность взглянуть на продукт и принять решение и внести изменения в проект. Клиент может увидеть продукт только в конце проекта.
Гибкая модель в тестировании считается неструктурированной по сравнению с водопадной моделью. Модель водопада более безопасна, поскольку она ориентирована на планирование.
Небольшие проекты можно реализовать очень быстро. Для крупных проектов сложно оценить время разработки. Все виды проектов могут быть оценены и завершены.
Ошибку можно исправить в середине проекта. Только в конце тестируется весь продукт. Если обнаружена ошибка требования или необходимо внести какие-либо изменения, проект придется начинать с самого начала.
Процесс разработки итерационный, проект выполняется за короткие (2-4) недели итерации. Планирование очень меньше. Процесс разработки поэтапный, и эта фаза намного больше, чем итерация. Каждый этап заканчивается подробным описанием следующего этапа.
Документация имеет меньший приоритет, чем разработка программного обеспечения Документация является главным приоритетом, и ее можно даже использовать для обучения персонала и обновления программного обеспечения совместно с другой командой.
Каждая итерация имеет свой этап тестирования. Это позволяет проводить регрессионное тестирование каждый раз, когда выпускаются новые функции или логика. Только после этапа разработки выполняется этап тестирования, поскольку отдельные части не являются полностью функциональными.
При гибком тестировании по завершении итерации заказчику передаются готовые к отправке функции продукта. Новые функции можно использовать сразу после поставки. Это полезно, когда у вас хороший контакт с клиентами. Все разработанные функции предоставляются сразу после длительного этапа внедрения.
Тестировщики и разработчики работают вместе Тестировщики работают отдельно от разработчиков
В конце каждого спринта осуществляется приемка пользователя. Принятие пользователем выполнены в конце проекта.
Это требует тесного общения с разработчиками и совместного анализа требований и планирования. Разработчик не участвует в процессе требований и планирования. Обычно временные задержки между тестами и кодированием

Также проверьте: - Agile против водопада: узнайте разницу между методологиями

Гибкий процесс

Проверьте ниже Agile методология процесс для быстрого создания успешных систем.

Гибкая модель процессов
Гибкая модель процессов

Есть различные Гибкие методы присутствуют в гибком тестировании и перечислены ниже:

Scrum

SCRUM — это гибкий метод разработки, который конкретно концентрируется на управлении задачами в среде групповой разработки. По сути, Scrum основан на действиях, происходящих во время матча по регби. Scrum верит в расширение возможностей команды разработчиков и выступает за работу в небольших командах (скажем, от 7 до 9 человек). Agile и Scrum состоят из трех ролей, и их обязанности объясняются следующим образом:

Скрам-метод
Скрам-метод
  • Scrum Master
    • Scrum Master отвечает за настройку команды, спринтерскую встречу и устраняет препятствия на пути прогресса
  • Владелец продукта
    • Владелец продукта создает бэклог продукта, расставляет приоритеты в бэклоге и отвечает за предоставление функциональности на каждой итерации.
  • Скрам Команда
    • Команда управляет своей работой и организует ее для завершения спринта или цикла.

Резерв продукта

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

Скрам Практики

Подробно описаны практики:

Скрам Практики
Скрам Практики

Технологический поток методологий Scrum:

Технологический поток Scrum-тестирование заключается в следующем:

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

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

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

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

Бизнес-требования собраны в виде историй. Все эти истории хранятся в месте, называемом парковкой.

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

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

В методе Agile XP доступно 6 этапов, которые объясняются следующим образом:

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

  • Определение заинтересованных сторон и спонсоров
  • Требования к инфраструктуре
  • Безопасность. соответствующая информация и сбор
  • Соглашения об уровне обслуживания и их условия

Анализ

  • Съемка историй на парковке
  • Расставьте приоритеты историй на парковке
  • Очистка историй для оценки
  • Определить SPAN итерации (время)
  • Планирование ресурсов для команд разработки и контроля качества.

Дизайн

  • Разбивка задач
  • Подготовка тестового сценария для каждой задачи
  • Платформа автоматизации регрессии

Типы

  • Кодирование
  • Выполнение сценариев ручного тестирования
  • Создание отчета о дефектах
  • Преобразование ручных в автоматизированные регрессионные тесты
  • Обзор средней итерации
  • Обзор завершения итерации

Обертывание

  • Небольшие релизы
  • Демо и обзоры
  • Разрабатывайте новые истории в зависимости от необходимости
  • Улучшения процесса на основе комментариев по итогам итерации

Закрытие

  • Пилотный запуск
  • Обучение
  • Запуск производства
  • Гарантия SLA
  • Revрассмотреть стратегию SOA
  • Поддержка производства

Для ежедневного отслеживания работы доступны две раскадровки, они перечислены ниже для справки.

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

Кристалл Методологии

Кристаллическая методология основана на трех концепциях.

  1. фрахтования: Различные действия, включенные в этот этап, включают создание команды разработчиков, выполнение предварительного технико-экономического обоснования, разработку первоначального плана и доработку методологии разработки.
  2. Циклическая доставка: Основная фаза разработки состоит из двух или более циклов поставки, в ходе которых
    1. Команда обновляет и уточняет план выпуска
    2. Реализует подмножество требований посредством одной или нескольких итераций интеграции тестирования программы.
    3. Интегрированный продукт предоставляется реальным пользователям
    4. Revрассмотрение плана проекта и принятой методологии разработки
  3. Заворачивать: Действия, выполняемые на этом этапе, включают развертывание в пользовательской среде, а также проверки и размышления после развертывания.

Метод динамической разработки программного обеспечения (DSDM)

ДСДМ – это Быстрая разработка приложений (RAD) подход к разработке программного обеспечения и обеспечивает гибкую структуру реализации проектов. Важным аспектом DSDM является то, что пользователи должны активно участвовать, а командам предоставляется право принимать решения. Частота доставки продукции становится основной задачей DSDM. В DSDM используются следующие методы:

  1. Дата BoxИНГ
  2. Правила Москвы
  3. Макетирования

Проект DSDM состоит из 7 этапов.

  1. Предпроект
  2. Технико-экономическое обоснование
  3. Бизнес-исследование
  4. Итерация функциональной модели
  5. Проектирование и создание итерации
  6. Реализация
  7. Пост-проект

Разработка, управляемая функциями (FDD)

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

  1. Моделирование предметной области
  2. Разработка по функциям
  3. Владение компонентом/классом
  4. Функциональные команды
  5. Инспекции
  6. Управление конфигурацией
  7. Обычные сборки
  8. Видимость прогресса и результатов

Бережливая разработка программного обеспечения

Метод бережливой разработки программного обеспечения основан на принципе «Производство точно в срок». Он направлен на увеличение скорости разработки программного обеспечения и снижение затрат. Бережливое развитие можно свести к семи шагам.

  1. Устранение отходов
  2. Расширение обучения
  3. Отложить обязательство (решить как можно позже)
  4. Ранняя доставка
  5. Расширение возможностей команды
  6. Здание Integrity
  7. Оптимизируйте все

Kanban

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

Скрам против Канбана

Scrum Kanban
В методе Scrum тесты должны быть разбиты на части, чтобы их можно было выполнить за один спринт. Конкретный размер товара не установлен.
Прописывает приоритетный бэклог продукта Приоритизация не является обязательной
Скрам-команда берет на себя определенный объем работы для итерации. Обязательство не является обязательным
График сгорания прописан Конкретный размер товара не установлен.
Между каждым спринтом схваточная доска сбрасывается. Канбан-доска постоянна. Это ограничивает количество элементов в состоянии рабочего процесса.
Он не может добавлять элементы в текущую итерацию. Он может добавлять элементы всякий раз, когда доступна емкость.
WIP ограничено косвенно Незавершенное производство ограничено напрямую
Предписаны ограниченные по времени итерации Ограниченные по времени итерации необязательны

Также проверьте: - Канбан против. Скрам: в чем разница?

Метрики Agile

Метрики, которые можно собрать для эффективного использования Agile:

  • Фактор перетаскивания
    • Усилия в часах, которые не способствуют достижению цели спринта
    • Коэффициент сопротивления можно улучшить за счет уменьшения количества общих ресурсов и уменьшения объема не вносящей вклад работы.
    • Новые оценки могут быть увеличены на процент коэффициента сопротивления -Новая оценка = (Старая оценка+коэффициент сопротивления)
  • Скорость
    • Объем невыполненной работы (пользовательских историй), преобразованный в поставляемую функциональность спринта
  • Количество добавленных модульных тестов
  • Интервал времени, необходимый для завершения ежедневной сборки
  • Ошибки, обнаруженные в итерации или в предыдущих итерациях
  • Утечка производственного дефекта