Тестування зручності супроводу перевіряє здатність програмного забезпечення підтримувати себе під час внесення змін. Зручність супроводу означає здатність програмного забезпечення підтримувати себе в різних ситуаціях. Це важливо, оскільки додатки зазнають змін протягом SDLC, що, очевидно, вимагає належного обслуговування. Завдяки тестуванню зручності супроводу стає легше перевірити потенціал системи для продовження роботи через часті оновлення функцій, виправлення помилок, внесення змін тощо.
Тестування зручності супроводу — це нефункціональне тестування, яке визначає, наскільки легко підтримувати, аналізувати, змінювати систему та запускати в ній тести.
Зручність супроводу
Зручність супроводу (Maintainability) включає модульність, можливість багаторазового використання, можливість аналізу, можливість модифікацій, можливість тестування.
Модульність (Modularity) — ступінь представлення системи або програми у вигляді окремих блоків таким чином, щоб зміна одного компонента здійснювала мінімальний вплив на інші компоненти.
Можливість багаторазового використання (Reusability) — ступінь, в якій актив може бути використаний в декількох системах чи при створенні інших активів.
Можливість аналізу (Analysability) — ступінь простоти оцінки впливу змін однієї або більше частин на продукт або систему або простоти діагностики продукта для виявлення недоліків та причин відмов, або простоти ідетифікації частин, які порібно змінювати.
Можливість модифікацій (Modifiability) — ступінь простоти ефективної та раціональної зміни продукту або системи без додавання дефектів та зниження якості продукта.
Напрямки тестування:
- заплановані вдосконалення
- коригування та екстрені зміни
- зміни робочого середовища (наприклад, заплановані оновлення операційної системи або бази даних)
- оновлення програмного забезпечення COTS.
Maintainability (Зручність супроводу) and Maintenance (супровід/підтримка)
Не слід плутати maintainability testing (тестування зручності супроводу) та maintenance testing (тестування супроводу). У тестуванні супроводу причиною тестування є зміна системи. У тестуванні зручності супроводу причиною тестування є визначення того, наскільки добре систему можна оновлювати, змінювати та підтримувати.
Maintenance testing (Тестування супроводу)
Після випуску програмне забезпечення та системи потребують обслуговування. Зміни різного роду майже неминучі в програмному забезпеченні та системах, або для виправлення дефектів, виявлених під час оперативного використання, для додавання нових функціональних можливостей, або для видалення чи зміни вже наданих функціональних можливостей.
Супровід (технічне обслуговування) також необхідний для збереження або покращення нефункціональних якісних характеристик компонента або системи протягом терміну служби, особливо продуктивності, сумісності, надійності, безпеки та портативності.
Коли вносяться будь-які зміни в рамках технічного обслуговування, необхідно провести тестування супроводу, щоб оцінити успішність внесених змін і перевірити можливі побічні ефекти (наприклад, регресії) у частинах системи, які залишаються незмінними.
Технічне обслуговування може включати заплановані та незаплановані випуски. Реліз обслуговування може вимагати тестування обслуговування на кількох рівнях тестування з використанням різних типів тестування залежно від його обсягу.
Обсяг технічного обслуговування залежить від:
- Ступінь ризику зміни, наприклад, ступінь зв’язку зміненої області програмного забезпечення з іншими компонентами чи системами
- Розмір існуючої системи
- Розмір зміни
Тригери супроводу:
- Модифікації, такі як заплановані вдосконалення, зміни робочого середовища, оновлення суміжного програмного забезпечення та виправлення дефектів і вразливостей.
- Міграція, наприклад, з однієї платформи на іншу, яка може вимагати операційних тестів нового середовища, а також зміненого програмного забезпечення, або тестів перетворення даних, коли дані з іншої програми будуть перенесені в систему, що обслуговується.
- Вихід з експлуатації, наприклад, коли програма досягає кінця свого життя. Якщо програму або систему виведено з експлуатації, це може вимагати тестування міграції даних або архівування, якщо потрібні тривалі періоди зберігання даних.
Impact analysis (Аналіз впливу)
Аналіз впливу оцінює внесені зміни, щоб визначити передбачувані наслідки, а також очікувані й можливі побічні ефекти цих змін, а також визначити області системи, на які вплинуть зміни.
Аналіз впливу також може допомогти визначити вплив зміни на існуючі тести. Побічні ефекти та уражені області в системі потрібно перевірити на регресії.
Аналіз впливу може бути проведений до внесення змін, щоб допомогти вирішити, чи слід вносити зміни, виходячи з потенційних наслідків в інших областях системи.
Аналіз впливу може бути складним, якщо:
- Специфікації (наприклад, бізнес-вимоги, історії користувачів, епіки) застаріли або відсутні
- Тестові кейси не задокументовані або застаріли
- Двонаправлена відстежуваність між тестами та тестовою основою відсутня
- Залучені люди не володіють предметними знаннями
- Під час розробки недостатньо уваги приділено зручності супроводу програмного забезпечення
Портативність
Портативність (Portability) включає можливість адаптації, можливість встановлення, можливість заміни.
Можливість адаптації (Adаptability) — ступінь простоти ефективної та раціональної адаптації для удосконалених апаратних засобів, програмного забезпечення, інших операційних середовищ або умов використання.
Можливість встановлення (Installability) — ступінь простоти ефективного, раціонального, успішного встановлення або видалення продукта або системи в заданому середовищі.
Можливість заміни (Replaceability) — здатність продукта замінити інший конкретний програмний продукт для досягнення тих самих цілей в тих же умовах.
Тестування портативності
Тестування портативності (переносимості) — це тип тестування програмного забезпечення , який проводиться для визначення ступеня легкості чи труднощів, з якими програмне забезпечення може бути ефективно та результативно перенесено з одного обладнання, програмного забезпечення чи середовища в інше.
Результати тестування переносимості — це вимірювання того, наскільки легко програмний компонент або додаток буде інтегровано в середовище, а потім ці результати порівнюються з нефункціональною вимогою переносимості програмної системи.
Важливість тестування переносимості полягає в його здатності виявляти та виправляти потенційні проблеми, пов’язані із залежностями від певної платформи, варіаціями апаратного забезпечення тощо. Вирішуючи ці проблеми, розробники програмного забезпечення та тестувальники можуть гарантувати, що кінцеві користувачі зможуть безперешкодно отримувати доступ до програми та використовувати її, незалежно від обраної ними платформи чи середовища.
В цьому відео поговоримо про:
02:10 Тестування зручності супроводу (Maintainability testing)
09:16 Тестування супроводу (Maintenance testing)
15:05 Аналіз впливу (Impact analysis)
17:35 Тестування портативності (Portability testing)