Тестування супроводу
Після розгортання у виробничих середовищах програмне забезпечення та системи потребують обслуговування. Зміни різного роду майже неминучі в наданому програмному забезпеченні та системах, або для виправлення дефектів, виявлених під час оперативного використання, для додавання нових функціональних можливостей, або для видалення чи зміни вже наданих функціональних можливостей. Технічне обслуговування також необхідне для збереження або покращення нефункціональних якісних характеристик компонента або системи протягом терміну служби, особливо продуктивності, сумісності, надійності, безпеки та портативності.
Коли вносяться будь-які зміни в рамках технічного обслуговування, необхідно провести тестування технічного обслуговування, щоб оцінити успішність внесених змін і перевірити можливі побічні ефекти (наприклад, регресії) у частинах системи, які залишаються незмінними (що зазвичай є більшою частиною системи).
Технічне обслуговування може включати заплановані та незаплановані випуски (гарячі виправлення).
Реліз обслуговування може вимагати тестування обслуговування на кількох рівнях тестування з використанням різних типів тестування залежно від його обсягу. Обсяг технічного обслуговування залежить від:
- Ступіню ризику зміни, наприклад, ступінь зв’язку зміненої області програмного забезпечення з іншими компонентами чи системами
- Розмір існуючої системи
- Розмір зміни
Тригери для супроводу
Існує кілька причин, чому технічне обслуговування програмного забезпечення, а отже, тестування супроводу, має місце як для запланованих, так і для незапланованих змін.
- Модифікації, такі як заплановані вдосконалення (наприклад, на основі випуску), коригування та екстрені зміни, зміни робочого середовища (наприклад, заплановані оновлення операційної системи або бази даних), оновлення програмного забезпечення COTS та виправлення дефектів і вразливостей
- Міграція, наприклад, з однієї платформи на іншу, яка може вимагати операційних тестів нового середовища, а також зміненого програмного забезпечення, або тестів перетворення даних, коли дані з іншої програми будуть перенесені в систему, що обслуговується.
- Вихід з експлуатації, наприклад, коли програма досягає кінця свого життя. Якщо програму або систему виведено з експлуатації, це може вимагати тестування міграції даних або архівування, якщо потрібні тривалі періоди зберігання даних.
- Також може знадобитися перевірка процедур відновлення після архівування протягом тривалого періоду зберігання.
- може знадобитися регресійне тестування, щоб переконатися, що будь-які функції, які залишаються в системі, все ще працюють.
Для систем Інтернету речей тестування технічного обслуговування може бути викликано впровадженням абсолютно нових або модифікованих речей, таких як апаратні пристрої та програмні служби, у загальну систему. Тестування технічного обслуговування для таких систем приділяє особливу увагу тестуванню інтеграції на різних рівнях (наприклад, рівень мережі, рівень програми) та аспектам безпеки, зокрема тим, що стосуються персональних даних.
Аналізу впливу для супроводу
Аналіз впливу оцінює зміни, внесені в релізі для обслуговування, щоб визначити передбачувані наслідки, а також очікувані й можливі побічні ефекти змін, а також визначити області системи, на які вплинуть зміни. Аналіз впливу також може допомогти визначити вплив зміни на існуючі тести. Побічні ефекти та уражені області в системі потрібно перевірити на регресії, можливо, після оновлення будь-яких існуючих тестів, на які вплинула зміна.
Аналіз впливу може бути проведений до внесення змін, щоб допомогти вирішити, чи слід вносити зміни, виходячи з потенційних наслідків в інших областях системи.
Аналіз впливу може бути складним, якщо:
- Специфікації (наприклад, бізнес-вимоги, історії користувачів, архітектура) застаріли або відсутні
- Тестові випадки не задокументовані або застаріли
- Двонаправлена відстежуваність між тестами та тестовою основою не підтримується
- Підтримка інструментів слабка або відсутня
- Залучені люди не володіють предметними знаннями або знанням системи
- Під час розробки недостатньо уваги приділено зручності супроводу програмного забезпечення
Тестування супроводу (версія 4.0)
Існують різні категорії технічного обслуговування, воно може бути коригуючим, адаптованим до змін у середовищі або покращувати продуктивність або зручність обслуговування (ISO/IEC 14764), тому технічне обслуговування може включати заплановані випуски/розгортання та незаплановані випуски/розгортання (гарячі виправлення) . Аналіз впливу може бути проведений до внесення змін, щоб допомогти вирішити, чи слід вносити зміни, виходячи з потенційних наслідків в інших областях системи. Тестування змін у системі в робочому стані включає як оцінку успішності впровадження змін, так і перевірку можливих регресій у частинах системи, які залишаються незмінними (як правило, більша частина системи).
Обсяг технічного обслуговування зазвичай залежить від:
- Ступінь ризику зміни
- Розмір існуючої системи
- Розмір зміни
Тригери для технічного обслуговування та тестування технічного обслуговування можна класифікувати таким чином:
- Зміни, такі як заплановані вдосконалення (тобто на основі випуску), коригувальні зміни або гарячі виправлення.
- Оновлення або міграція робочого середовища, наприклад, з однієї платформи на іншу, що може вимагати тестування, пов’язаного з новим середовищем, а також зміненого програмного забезпечення, або тестування перетворення даних, коли дані з іншої програми переносяться в систему.
- Вихід з експлуатації, наприклад, коли програма досягає кінця свого життя. Коли система виводиться з експлуатації, це може вимагати тестування архівування даних, якщо потрібні тривалі періоди зберігання даних. Тестування процедур відновлення та пошуку після архівування також може знадобитися, якщо під час архівування потрібні певні дані.
В цьому відео починаємо працювати з секцією 2.4.
00:01:26 Тестування підтримки (Maintenance testing)
00:05:46 Тригери для підтримки(обслуговування) Triggers for Maintenance
00:14:14 Аналіз впливу для підтримки (осблуговування)
00:20:09 Maintenance Testing (v 4.0)