Тестування ПЗ (Software Testing)
Конструювання ПЗ (Software Construction)
Конструювання ПЗ – створення працюючого ПЗ із залученням методів верифікації, кодування і тестування компонентів [5]. До інструментів конструювання ПЗ віднесені мови програмування і конструювання, а також програмні методи і інструментальні системи (компілятори, СУБД, генератори звітів, системи управління версіями, конфігурацією, тестуванням і ін.). До формальних засобів опису процесу конструювання ПЗ, взаємозв'язків між людиною і комп'ютером і з врахуванням навколишнього середовища віднесені мови конструювання.
Область знань «Конструювання ПЗ (Software Construction)» включає наступні розділи:
– зниження складності (Reduction in Complexity)
– попередження відхилень від стилю (Anticipation of Diversity)
– структуризація для перевірок (Structuring for Validation)
– використання зовнішніх стандартів (Use of External Standards)
Основу даної області складають завдання пониження складності конструювання програмного продукту, попередження відхилень від стилю (лінгвістичного, формального, візуального і ін.), яке забезпечується застосуванням найбільш відповідних стилів конструювання, структуризація ПЗ і використання зовнішніх стандартів.
Тестування ПЗ – це процес перевірки роботи програми в динаміці, заснований на виконанні кінцевого набору тестових даних і порівняння отриманих результатів із запланованими спочатку [5].
Область знань «Тестування ПЗ (Software Testing)» включає наступні розділи:
– основні концепції і визначення тестування (Testing Basic Concepts and definitions),
– рівні тестування (Test Levels)
– техніка тестування (Test Techniques)
– метрики тестування (Test Related Measures)
– управління процесом тестування (Managing the Test Process).
При тестуванні виявляються недоліки: відмови (faults) і дефекти (defects), як причини порушення роботи системи, збої (failures), як небажані ситуації, помилки (errors), як наслідки збоїв і ін. Базовим поняттям тестування є тест, який виконується в заданих умовах і на наборах даних. Тестування вважається успішним, якщо знайдений дефект або помилка, і вони усуваються. Ступінь тестування залежить від задання критеріїв покриття системи тестами і вірогідності появи збоїв.
1.1.5 Супровід ПЗ (Software maintenance)
Супровід ПЗ – сукупність дій із забезпечення роботи ПЗ, а також по внесенню змін у разі виявлення помилок в процесі експлуатації, по адаптації ПЗ до нового середовища функціонування, а також по підвищенню продуктивності або інших характеристик ПЗ [5]. Починаючи з 2000 р. супровід почав розглядатися як важливіший процес, який повинен строго забезпечуватися і оновлюватися учасниками розробників. Супровід рахується модифікацією програмного продукту в процесі експлуатації при умові збереження цілісності продукту.
1.1.6. Управління конфігурацією ПЗ (Software Configuration Management– SCM)
Управління конфігурацією – дисципліна ідентифікації компонентів системи, визначення функціональних і фізичних характеристик апаратного і програмного забезпечення для проведення контролю внесення змін і трасування конфігурації впродовж ЖЦ [5]. Це управління відповідає одному з допоміжних процесів ЖЦ (ISO/IEC 12207), виконується технічним і адміністративним керівництвом проекту і полягає в контролі вказаних характеристик конфігурації системи і їх зміні; складання звіту по внесених змінах в конфігурацію і статус їх реалізації; перевірки відповідності внесених змін заданим вимогам.
1.1.7. Управління інженерією ПЗ (Software Engineering Management)
Управління інженерією ПЗ (менеджмент) – керівництво роботами команди розробників ПЗ в процесі виконання плану проекту, визначення критеріїв і оцінка процесів і продуктів проекту з використанням загальних методів управління планування і контролю робіт [5].
1.1.8. Процес інженерії ПЗ (Software Engineering Process)
Процес інженерії ПЗ включає концепції, інфраструктуру, методи визначення і вимірювання етапів ЖЦ, пошук помилок і внесення змін, а також аналіз і оцінку якості продукту.
1.1.9. Методи і засоби інженерії ПЗ (Software Engineering Tools and Methods)
Методи і засоби включають середовище розробки, засоби і методи розробки, що використовуються на процесах ЖЦ. Засоби забезпечують специфікацію вимог, конструювання і супровід ПЗ. Методи забезпечують проектування, реалізацію і виконання ПЗ на процесах, а також досягнення якості процесів і продуктів.
1.1.10. Якість ПЗ (Software Quality)
Якість ПЗ – набір характеристик продукту або сервісу, які характеризують його здатність задовольнити встановленим або передбачуваним потребам замовника. Поняття якості має різні інтерпретації залежно від конкретної системи і вимог до програмного продукту [5].
Таким чином, дана область знань SWEBOK представляє методологію проведення заходів щодо досягнення високої якості ПЗ. Розглядаються характеристики і атрибути якості, згідно стандарту ISO 9126-98, і приведені способи їх досягнення на процесах ЖЦ ПЗ. Визначаються види і техніка аналізу ПЗ, прогони системи на тестах і методи оцінки показників якості.