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

Спритна методологія

Що таке гнучка методологія тестування?

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

Спритна методологія
Спритна методологія

Що таке гнучка розробка програмного забезпечення?

Команда Agile розробка програмного забезпечення Методологія є одним із найпростіших і ефективних процесів перетворення бачення потреб бізнесу в програмні рішення. Гнучкість — це термін, який використовується для опису підходів до розробки програмного забезпечення, які включають постійне планування, навчання, вдосконалення, командну співпрацю, еволюційний розвиток і ранню поставку. Це заохочує гнучку реакцію на зміни.

Гнучка розробка програмного забезпечення наголошує на чотирьох основних цінностях.

  1. Індивідуальна та командна взаємодія щодо процесів та інструментів
  2. Працює програмне забезпечення над вичерпною документацією
  3. Співпраця клієнтів щодо переговорів про контракт
  4. Відповідь на зміну відповідно до плану

Гнучка модель проти моделі водоспаду

Гнучка модель і модель Waterfall — це два різні методи процесу розробки програмного забезпечення. Хоча вони відрізняються за своїм підходом, обидва методи іноді корисні, залежно від вимог і типу проекту.

Гнутка модель Модель водоспаду
Гнучка методологія у визначенні тестування програмного забезпечення: гнучка методологія пропонує поступовий та ітеративний підхід до розробки програмного забезпечення Модель водоспаду: розробка програмного забезпечення відбувається послідовно від початкової до кінцевої точки.
Команда Гнучкий процес у тестуванні програмного забезпечення розбивається на окремі моделі, над якими працюють дизайнери Процес проектування не розбивається на окремі моделі
Клієнт має ранні та часті можливості подивитися на продукт і прийняти рішення та змінити проект Клієнт може побачити продукт лише в кінці проекту
Гнучка модель під час тестування вважається неструктурованою порівняно з моделлю водоспаду Модель водоспаду є більш безпечною, оскільки вона орієнтована на план
Невеликі проекти можна реалізувати дуже швидко. Для великих проектів важко оцінити час розробки. Будь-які проекти можуть бути оцінені та виконані.
Помилка може бути виправлена ​​в середині проекту. Тільки в кінці весь продукт тестується. Якщо виявлено помилку вимоги або необхідно внести будь-які зміни, проект потрібно почати з самого початку
Процес розробки ітераційний, і проект виконується за короткі (2-4) тижні ітерації. Планування дуже мало. Процес розробки поетапний, і фаза набагато більша, ніж ітерація. Кожен етап закінчується детальним описом наступного етапу.
Документація має менший пріоритет, ніж розробка програмного забезпечення Документація є головним пріоритетом, і її можна навіть використовувати для навчання персоналу та оновлення програмного забезпечення іншою командою
Кожна ітерація має власну фазу тестування. Це дозволяє реалізувати регресійне тестування щоразу, коли випускаються нові функції чи логіка. Лише після фази розробки виконується фаза тестування, оскільки окремі частини не є повністю функціональними.
Під час гнучкого тестування після завершення ітерації замовнику надаються функції продукту, які можна відправити. Нові функції можна використовувати відразу після доставки. Це корисно, коли у вас хороший контакт із клієнтами. Усі розроблені функції надаються одразу після тривалого етапу впровадження.
Тестувальники та розробники працюють разом Тестувальники працюють окремо від розробників
Наприкінці кожного спринту виконується прийняття користувача Прийняття користувача є виконується в кінці проекту.
Це вимагає тісного спілкування з розробниками та спільного аналізу вимог і планування Розробник не бере участі в процесі вимог і планування. Зазвичай між тестуванням і кодуванням є затримки

Також перевірте: - Agile Vs Waterfall: знайте різницю між методологіями

Гнучкий процес

Перевірте нижче Agile методологія процес для швидкого впровадження успішних систем.

Гнучка модель процесу
Гнучка модель процесу

Є різні Гнучкі методи присутні в гнучкому тестуванні, і вони перераховані нижче:

Бійка

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

Метод Scrum
Метод Scrum
  • Scrum Master
    • Scrum Master відповідає за створення команди, спринт-нараду та усуває перешкоди для прогресу
  • Власник продукту
    • Власник продукту створює резерв продукту, визначає пріоритети резерву та відповідає за надання функціональних можливостей на кожній ітерації
  • Команда Scrum
    • Команда керує своєю роботою та організовує роботу для завершення спринту або циклу

Блокування продукту

Це репозиторій, де відстежуються вимоги з деталями щодо кількості вимог (історій користувачів), які потрібно виконати для кожного випуску. Власник продукту має підтримувати та розставляти пріоритети, а також розповсюджувати команду scrum. Команда також може подати запит на додавання нової вимоги, зміну чи видалення

Практики Scrum

Практики описані докладно:

Практики Scrum
Практики Scrum

Потік методології Scrum:

Потік процесу scrum тестування полягає в наступному:

  • Кожна ітерація scrum відома як Sprint
  • Белог продукту – це список, де вводяться всі деталі, щоб отримати кінцевий продукт
  • Під час кожного Sprint, вибираються та перетворюються на найпопулярніші історії користувачів із резерву продукту Sprint відставання
  • Команда працює на визначеному спринтерському відставанні
  • Команда перевіряє щоденну роботу
  • Наприкінці спринту команда забезпечує функціональність продукту

Екстремальне програмування (XP)

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

Екстремальне програмування
Екстремальне програмування

Бізнес-вимоги зібрані в термінах історій. Усі ці історії зберігаються в місці, яке називається автостоянкою.

У цьому типі методології релізи базуються на коротших циклах, які називаються ітераціями з проміжком часу в 14 днів. Кожна ітерація включає такі фази, як кодування, модульне тестування та тестування системи, де на кожній фазі в програму вбудовуються деякі другорядні чи основні функції.

Фази програмування eXtreme:

У методі Agile XP доступно 6 фаз, які пояснюються наступним чином:

Планування

  • Визначення зацікавлених сторін та спонсорів
  • Вимоги до інфраструктури
  • Безпека відповідна інформація та збір
  • Угоди про рівень обслуговування та їх умови

Аналіз

  • Зйомка історій на стоянці
  • Пріоритезуйте історії на стоянці
  • Очищення історій для оцінювання
  • Визначити ітерацію SPAN (час)
  • Планування ресурсів для команд розробки та контролю якості

Дизайн

  • Розбивка завдань
  • Підготовка тестового сценарію до кожного завдання
  • Платформа автоматизації регресії

Виконання

  • Кодування
  • Виконання сценаріїв ручного тестування
  • Формування звіту про дефекти
  • Перетворення ручних регресійних тестів на автоматизовані
  • Огляд середньої ітерації
  • Огляд кінця ітерації

Упаковка

  • Малі випуски
  • Демонстрації та огляди
  • Розробляйте нові історії на основі потреб
  • Удосконалення процесу на основі коментарів до перегляду в кінці ітерації

Закриття

  • Пілотний запуск
  • Навчання
  • Запуск виробництва
  • Гарантія SLA
  • Revie стратегія SOA
  • Підтримка виробництва

Для щоденного відстеження роботи є дві розкадровки, наведені нижче для довідки.

  • Story Cardboard
    • Це традиційний спосіб збору всіх історій на дошці у вигляді нотаток, щоб відстежувати щоденну діяльність XP. Оскільки ця ручна робота вимагає більше зусиль і часу, краще перейти на онлайн-форму.
  • Онлайн розкадровка
    • Для зберігання історій можна використовувати онлайн-інструмент Storyboard. Його можуть використовувати кілька команд для різних цілей.

Кристалічні методики

Crystal Methodology базується на трьох концепціях

  1. Фрахтування: Різноманітні види діяльності, пов’язані з цим етапом, включають створення групи розробників, виконання попереднього аналізу здійсненності, розробку початкового плану та доопрацювання методології розробки
  2. Циклічна доставка: Основна фаза розробки складається з двох або більше циклів доставки, під час яких
    1. Команда оновлює та вдосконалює план випуску
    2. Реалізує підмножину вимог за допомогою однієї або кількох ітерацій інтеграції тесту програми
    3. Інтегрований продукт надається реальним користувачам
    4. Revтобто плану проекту та прийнятої методології розробки
  3. Завершення: Діяльність, яка виконується на цьому етапі, полягає в розгортанні в середовищі користувача, переглядах і рефлексіях після розгортання.

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

DSDM - це a Швидкий розвиток додатків (RAD) підхід до розробки програмного забезпечення та забезпечує гнучку структуру реалізації проекту. Важливим аспектом DSDM є те, що від користувачів вимагається активна участь, а командам надається повноваження приймати рішення. Часті доставки продукту стають активним фокусом DSDM. Техніки, які використовуються в DSDM

  1. Time BoxІНГ
  2. Правила Москви
  3. Макетування

Проект DSDM складається з 7 етапів

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

Розроблена функціональна розробка (FDD)

Цей метод зосереджений на функціях «проектування та будівництва». На відміну від інших гнучких методів розробки програмного забезпечення, FDD описує дуже конкретні та короткі етапи роботи, які потрібно виконувати окремо для кожної функції. Він включає покрокове керівництво доменом, перевірку дизайну, просування до створення, перевірку коду та дизайн. FDD розробляє продукт, зберігаючи наступні речі в цілі

  1. Моделювання предметної області
  2. Розвиток за ознакою
  3. Власність компонентів/класів
  4. Команди функцій
  5. огляди
  6. Управління конфігурацією
  7. Регулярні збірки
  8. Видимість прогресу та результатів

Lean Розробка програмного забезпечення

Метод ощадливої ​​розробки програмного забезпечення заснований на принципі «Виробництво точно в строк». Він спрямований на збільшення швидкості розробки програмного забезпечення та зниження вартості. Розвиток економічного розвитку можна підсумувати семи кроками.

  1. Усунення відходів
  2. Посилення навчання
  3. Відкласти зобов'язання (прийняти рішення якомога пізніше)
  4. Завчасна доставка
  5. Розширення можливостей команди
  6. Створюємо Integrity
  7. Оптимізуйте все

Kanban

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

Scrum Vs Kanban

Бійка Kanban
У техніці сутички тести повинні бути розбиті на частини, щоб їх можна було виконати протягом одного спринту Конкретний розмір предмета не встановлено
Прописує пріоритетний резерв продукту Пріоритезація необов’язкова
Команда Scrum бере на себе певний обсяг роботи для повторення Зобов'язання необов'язкове
Прописана карта вигорання Конкретний розмір предмета не встановлено
Між кожним спринтом дошка сутичок скидається Дошка Kanban є стійкою. Він обмежує кількість елементів у стані робочого процесу
Він не може додавати елементи до поточної ітерації Він може додавати елементи, коли є доступна ємність
WIP обмежений опосередковано WIP обмежено безпосередньо
Призначені ітерації з часовими межами Ітерації з часовими межами необов’язкові

Також перевірте: - Канбан проти Scrum: у чому різниця?

Спритні показники

Показники, які можна зібрати для ефективного використання Agile:

  • Фактор перетягування
    • Зусилля в годинах, які не сприяють досягненню цілі спринту
    • Коефіцієнт перетягування можна покращити, зменшивши кількість спільних ресурсів, зменшивши обсяг роботи, яка не виконується
    • Нові оцінки можна збільшити на відсоток коефіцієнта опору -Нова оцінка = (Стара оцінка+фактор опору)
  • Швидкість
    • Кількість резервів (історій користувачів), перетворених у функціональність спринту, яку можна відправити
  • Немає доданих модульних тестів
  • Інтервал часу, необхідний для завершення щоденної збірки
  • Помилки, виявлені в ітерації або в попередніх ітераціях
  • Витік виробничого браку