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

Что такое гибкая разработка программного обеспечения?
The Гибкая разработка программного обеспечения Методология — это один из самых простых и эффективных процессов, позволяющих превратить видение потребностей бизнеса в программные решения. Agile — это термин, используемый для описания подходов к разработке программного обеспечения, которые включают постоянное планирование, обучение, совершенствование, командное сотрудничество, эволюционную разработку и раннюю доставку. Это поощряет гибкую реакцию на изменения.
Гибкая разработка программного обеспечения делает акцент на четырех основных ценностях.
- Индивидуальное и командное взаимодействие по процессам и инструментам
- Рабочее программное обеспечение над обширной документацией
- Сотрудничество с клиентами по вопросам переговоров по контракту
- Реагирование на изменения вместо следования плану
Гибкая модель против модели водопада
Модели 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 можно использовать для хранения историй. Несколько команд могут использовать его. для разных целей.
-
Кристалл Методологии
Кристаллическая методология основана на трех концепциях.
-
фрахтования: Различные действия, включенные в этот этап, включают создание команды разработчиков, выполнение предварительного технико-экономического обоснования, разработку первоначального плана и доработку методологии разработки.
-
Циклическая доставка: Основная фаза разработки состоит из двух или более циклов поставки, в ходе которых
- Команда обновляет и уточняет план выпуска
- Реализует подмножество требований посредством одной или нескольких итераций интеграции тестирования программы.
- Интегрированный продукт предоставляется реальным пользователям
- Revрассмотрение плана проекта и принятой методологии разработки
- Заворачивать: Действия, выполняемые на этом этапе, включают развертывание в пользовательской среде, а также проверки и размышления после развертывания.
Метод динамической разработки программного обеспечения (DSDM)
ДСДМ – это Быстрая разработка приложений (RAD) подход к разработке программного обеспечения и обеспечивает гибкую структуру реализации проектов. Важным аспектом DSDM является то, что пользователи должны активно участвовать, а командам предоставляется право принимать решения. Частота доставки продукции становится основной задачей DSDM. В DSDM используются следующие методы:
- Дата BoxИНГ
- Правила Москвы
- Макетирования
Проект DSDM состоит из 7 этапов.
- Предпроект
- Технико-экономическое обоснование
- Бизнес-исследование
- Итерация функциональной модели
- Проектирование и создание итерации
- Реализация
- Пост-проект
Разработка, управляемая функциями (FDD)
Этот метод ориентирован на «проектирование и создание» функций. В отличие от других гибких методов разработки программного обеспечения, FDD описывает очень конкретные и короткие этапы работы, которые необходимо выполнять отдельно для каждой функции. Он включает в себя обзор домена, проверку проекта, продвижение к сборке, проверку кода и проектирование. FDD разрабатывает продукт, следуя поставленным целям
- Моделирование предметной области
- Разработка по функциям
- Владение компонентом/классом
- Функциональные команды
- Инспекции
- Управление конфигурацией
- Обычные сборки
- Видимость прогресса и результатов
Бережливая разработка программного обеспечения
Метод бережливой разработки программного обеспечения основан на принципе «Производство точно в срок». Он направлен на увеличение скорости разработки программного обеспечения и снижение затрат. Бережливое развитие можно свести к семи шагам.
- Устранение отходов
- Расширение обучения
- Отложить обязательство (решить как можно позже)
- Ранняя доставка
- Расширение возможностей команды
- Здание Integrity
- Оптимизируйте все
Kanban
Kanban Первоначально возникло из японского слова, означающего карту, содержащую всю информацию, необходимую для работы с продуктом на каждом этапе его пути к завершению. Эта структура или метод широко применяется в методах тестирования программного обеспечения, особенно в концепциях Agile.
Скрам против Канбана
Scrum | Kanban |
---|---|
В методе Scrum тесты должны быть разбиты на части, чтобы их можно было выполнить за один спринт. | Конкретный размер товара не установлен. |
Прописывает приоритетный бэклог продукта | Приоритизация не является обязательной |
Скрам-команда берет на себя определенный объем работы для итерации. | Обязательство не является обязательным |
График сгорания прописан | Конкретный размер товара не установлен. |
Между каждым спринтом схваточная доска сбрасывается. | Канбан-доска постоянна. Это ограничивает количество элементов в состоянии рабочего процесса. |
Он не может добавлять элементы в текущую итерацию. | Он может добавлять элементы всякий раз, когда доступна емкость. |
WIP ограничено косвенно | Незавершенное производство ограничено напрямую |
Предписаны ограниченные по времени итерации | Ограниченные по времени итерации необязательны |
Также проверьте: - Канбан против. Скрам: в чем разница?
Метрики Agile
Метрики, которые можно собрать для эффективного использования Agile:
-
Фактор перетаскивания
-
Усилия в часах, которые не способствуют достижению цели спринта
-
Коэффициент сопротивления можно улучшить за счет уменьшения количества общих ресурсов и уменьшения объема не вносящей вклад работы.
-
Новые оценки могут быть увеличены на процент коэффициента сопротивления -Новая оценка = (Старая оценка+коэффициент сопротивления)
-
-
Скорость
-
Объем невыполненной работы (пользовательских историй), преобразованный в поставляемую функциональность спринта
-
-
Количество добавленных модульных тестов
-
Интервал времени, необходимый для завершения ежедневной сборки
-
Ошибки, обнаруженные в итерации или в предыдущих итерациях
-
Утечка производственного дефекта