Аналіз впливу в тестуванні програмного забезпечення

⚡ Розумний підсумок

Аналіз впливу в тестуванні програмного забезпечення оцінює, як запропонована зміна впливає на вимоги, дизайн, код, тести та графік реалізації, допомагаючи...ping команди оцінюють зусилля, визначають пріоритети регресійного покриття та запобігають непередбачуваним дефектам перед релізом.

  • 🔍 Визначення: Аналіз впливу вивчає, на які частини розгорнутого продукту впливає зміна розділу, функції або вимоги.
  • 📄 Результат: Документ «Аналіз впливу» слугує контрольним списком, що охоплює опис проблеми, оцінку зусиль, складність та нові тестові випадки.
  • 🚦 Рівні впливу: Таблиця з кольоровим кодуванням (червоний, жовтий, зелений) візуалізує силу впливу між зміненими ознаками та залежними ознаками.
  • 🧭 Три типи: TracПрактичність, залежність та історичний аналіз разом відповідають на те, яких документів, коду та ризиків стосується зміна.
  • 🛠️ Інструменти: Джама Коннект, IBM ДВЕРІ, Jira з Xray, SonarQube, а також звіти про вплив підтримки Launchable та інтелектуальний вибір тестів.
  • Кращі практики: Безперервне спілкування між розробником і тестувальником, перегляд змін інтерфейсу користувача та оновлення планів проекту, конфігурації та контролю якості забезпечують надійність аналізу.

Аналіз впливу в тестуванні програмного забезпечення

Що таке аналіз впливу?

Аналіз впливу – це процес аналізу впливу змін, внесених до розгорнутого продукту або програми. Він визначає області системи, на які може вплинути зміна певного розділу або функції програми.

Вплив оцінюється за такими аспектами, як Вимоги, Дизайн та ArchiТекстура, випробування та графік доставки.

Щоразу, коли до програми чи продукту додаються нові функції, вкрай важливо перевірити, як ці зміни вплинуть на продуктивність та стабільність системи. Саме для цього проводиться аналіз впливу.

Чому проводиться аналіз впливу змін?

  • Щоб зрозуміти можливий результат впровадження змін. Додавання занадто великої кількості функціональності до продукту може знизити загальну продуктивність.
  • Визначити кожен файл, документ і модель, які, можливо, потребуватимуть модифікації, якщо команда вирішить впровадити зміни.
  • Оцінити зусилля, необхідні для впровадження змін.
  • Визначити завдання, необхідні для впровадження змін.
  • Щоб перерахувати залежності від конкретного елемента, що змінюється.

Що таке документ аналізу впливу?

Документ аналізу впливу можна використовувати як контрольний список для оцінки запиту на зміни, перш ніж команда почне над ним працювати. Документ повинен містити такі деталі, як:

  • Короткий опис питання.
  • Пояснення або приклад того, як дефект спричиняє збій або неефективність.
  • Оцінка складності.
  • Оцінка вартості та часу на ремонт.
  • Функціональність, яку потрібно протестувати.
  • Нові тестові випадки, створені для змін.
  • Довідкові документи, такі як технічна специфікація або відповідні проектні примітки.

приклад:

Документ аналізу впливу.

  1. ID запиту на зміну:
  2. Назва:
  3. Descriptіон:
  4. Дата підготовки:
  5. Оцінка пріоритетності:
    • Відносна вигода
    • Відносний штраф
    • Відносна вартість
    • Відносний ризик
  6. Орієнтовний загальний обсяг зусиль: ______ годин
  7. Орієнтовні втрати зусиль: ______ годин
  8. Очікуваний вплив на графік: ______ днів
  9. Вплив на якість:
  10. Інші вимоги, що зачіпаються:
  11. Інші завдання, на які впливає:
  12. Проблеми інтеграції:

Як представити аналіз впливу Рівень впливу

Аналіз впливу можна представити за допомогою кольорового коду, який показує критичність змін у системі. Загальний колірний код наведено нижче:

  • Червоний — Сильний вплив
  • Жовтий — помірний вплив
  • Зелений — слабкий вплив

Аналіз впливу в тестуванні програмного забезпечення

У таблиці вище пояснюється вплив впроваджених змін:

  • Об’єкти, позначені червоним кольором, – це основні об’єкти, що зазнали змін. Об’єкти, позначені жовтим кольором, зазнали найменшого впливу змін. Об’єкти, позначені зеленим кольором, зазнали найменшого впливу.
  • Вертикально перелічені функції – це ті, що змінюються. Горизонтально перелічені функції – це ті, на які може вплинути зміна. У наведеному вище прикладі зміна функції 1 впливає на функцію 3.
  • У більшому проєкті, де є багато функцій та можливостей, наведена вище таблиця може бути непрактичною. У такому випадку застосовується інший підхід, коли розробник безпосередньо позначає рівень впливу, спричинений змінами в основних функціях, як показано нижче, де вплив основної функції позначено навпроти кожної підфункції.

Аналіз впливу в тестуванні програмного забезпечення

Приклади питань, які слід розглянути під час проведення аналізу впливу:

  • Які несприятливі побічні ефекти або ризики внесення запропонованих змін?
  • Чи потрібно придбати якийсь новий інструмент для впровадження та тестування змін?
  • Якщо зміну буде прийнято, яка частина вже вкладених зусиль буде втрачена?
  • Чи впливають запропоновані зміни негативно на вимоги до продуктивності?
  • Чи потрібен додатковий вхід користувача для перевірки запропонованої зміни?
  • Чи збільшує зміна вартість продукту?
  • Чи має нинішній персонал знання та навички для впровадження запропонованих змін?
  • Чи створює запропонована зміна якийсь неприйнятний попит на будь-який комп’ютерний ресурс?

Найкращі практики аналізу впливу змін

  • Перш ніж розпочати аналіз впливу, переконайтеся, що в запиті на тестування визначено кожну частину проекту, на яку впливають зміни.
  • Постійний зв'язок між розробником і тестувальником є ​​обов'язковим, щоб не пропустити жодної зміни, необхідної в кінцевому продукті.
  • Визначте, чи потрібні будь-які зміни, видалення або доповнення інтерфейсу користувача.
  • Оцініть кількість необхідних тестів приймання, системних та інтеграційних тестів.
  • Визначте будь-який вплив запропонованої зміни на план проекту, план управління конфігурацією або план забезпечення якості.

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

Аналіз впливу змін не є єдиною методикою. Практики зазвичай використовують один із трьох додаткових типів, щоб відповісти на різні запитання щодо запропонованої зміни.

  • TracАналіз впливу на ефективність: Використовує вимоги TracМатриця спроможності та проектні зв'язки для зіставлення кожної вимоги з модулями, тестами та документами, які її реалізують. Коли вимога змінюється, матриця виявляє кожен артефакт нижче за течією, який необхідно оновити або повторно протестувати.
  • Аналіз впливу залежностей: Вивчає графи викликів, потоки даних та інтерфейсні функціїtracts всередині кодової бази. Зміна одного модуля – це tracчерез прямі виклики, непрямі виклики та спільні структури даних, щоб приховані хвильові ефекти виявилися до того, як зміни будуть впроваджені.
  • Експериментальний (історичний) аналіз впливу: Розглядає дані про історичні зміни — минулі дефекти, невдалі спринти та виходи з регресії — щоб передбачити поведінку поточної зміни. Сучасні інструменти поєднують аналіз історії контролю версій зі статистичними моделями або моделями машинного навчання для оцінки ризику кожної зміни.

Більшість команд поєднують щонайменше два з цих типів. TracАналіз спрощеності показує, на які документи це впливає, аналіз залежностей показує, на який код це впливає, а історичний аналіз показує, наскільки ризикованою може бути зміна.

Популярні інструменти для аналізу впливу змін

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

  • Джама Коннект, IBM ДВЕРІ, Modern Requirements, та вимоги до візуального сприйняття: Фіксуйте вимоги, ведіть базові показники та створюйте звіти про вплив на пов'язані вимоги, тести та ризики, коли пропонується внесення змін.
  • Atlassian Jira з Xray або Зефір: Track історій користувачів, дефектів та тестових випадків. Звіти про вплив показують кожну історію та тест, яких стосується запропонована зміна в межах спринту або потяга релізів.
  • SonarQube, Розуміння за допомогою SciTools та Structure101: Аналізуйте залежності вихідного коду та створюйте графіки викликів і звіти про зв'язки, щоб інженер міг бачити, на який код вплинули зміни.
  • Запускний, Testim Автоматичне відновлення та TestGrid: Використовуйте машинне навчання для прогнозування того, які тести найімовірніше виявлять дефекти, внесені зміною, що дозволяє розумно вибирати тести та пришвидшувати цикли регресії.
  • Microsoft Excel або Google Аркуші: Досі широко використовується для початкового документа аналізу впливу, таблиці впливу з кольоровим кодуванням та журналу запитів на зміни в невеликих проектах.

Правильна комбінація залежить від розміру кодової бази, регуляторного середовища та методу доставки. Регульовані галузі покладаються на Jama або DOORS для перевірки. tracзручність, тоді як команди розробників продуктів покладаються на Jira, SonarQube, та інструмент для тестування впливу.

Поширені запитання

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

Так. Моделі GitHub Copilot Chat та GPT можуть перетворити запит на зміни та diff на перший варіант документа аналізу впливу з описом проблеми, оцінкою складності та варіантами тестових випадків. Тестер перевіряє документ, перш ніж його розповсюдити серед зацікавлених сторін.

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

Вимоги TracМатриця спроможності пов'язує кожну вимогу з її дизайном, кодом та тестами. Коли вимога змінюється, матриця миттєво виявляє кожен артефакт, який необхідно переглянути, оновити або повторно протестувати, що робить оцінку впливу повторюваною та аудиторською.

Аналіз впливу виконується щоразу, коли пропонується зміна, виправлення дефекту або нова функція, перш ніж команда візьме на себе зобов'язання. Він повторюється щоразу, коли обсяг змін зростає під час впровадження, щоб оцінки та плани тестування відповідали реальності.

Поширені помилки включають використання пам'яті розробника замість tracматриця зручності, ігноруючи нефункціональні впливи, такі як продуктивність, пропускping точки інтеграції нижче за течією та неможливість оновлення журналу змін, коли обсяг зростає під час впровадження.

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

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

Підсумуйте цей пост за допомогою: