Главная страница
Навигация по странице:

  • Основна концепція тестування

  • 1.2.5. Супровід програмного забезпечення

  • Ключові питання супроводу ПЗ

  • 1.2.6. Керування конфігурацією

  • Керування процесом конфігурації.

  • Ідентифікація конфігурації ПЗ

  • Контроль конфігурації ПЗ

  • Облік статусу або стану конфігурації ПЗ

  • 1.2.7. Керування інженерією програмного забезпечення

  • Керування проектом/процесом

  • К. М. Лавріщева програмна інженерія підручник Київ, 2008


    Скачать 5.23 Mb.
    НазваниеК. М. Лавріщева програмна інженерія підручник Київ, 2008
    Дата05.05.2022
    Размер5.23 Mb.
    Формат файлаpdf
    Имя файлаlavrishcheva-6.pdf
    ТипДокументы
    #513598
    страница6 из 43
    1   2   3   4   5   6   7   8   9   ...   43
    1.2.4. Тестування програмного забезпечення
    Тестування ПЗ – це процес перевірки готової програми в статиці (перегляди,
    інспекції, налагодження вихідного коду) і в динаміці (прогін на наборі тестових даних) з метою перевірки різних шляхів виконання програми і порівняння отриманих результатів із заздалегідь заданими.
    Існує дві форми перевірки коду – модульна й інтеграційна. Спочатку використовують стандарти (IEEE 829:1996 і IEEE 1008:1987) з перевірки і тестування модулів. Потім проводиться інтеграційне тестування модулів системи і
    їх інтерфейсів у динаміці виконання. Під час різних видів перевірок збираються дані про помилки, дефекти, відмови тощо і оформляється відповідна документація
    (таблиці типів помилок, частоти і часу виявлення відмов і ін.). Зібрані дані використовуються при оцінюванні характеристик якості готового ПЗ, наприклад, надійності.
    Область знань «Тестування ПЗ (Software Testing)» містить у собі такі розділи:
    – основні концепції і визначення тестування (Testing Basic Concepts and definitions),
    – рівні тестування (Test Levels),
    – техніки тестування (Test Techniques),
    – метрики тестування (Test Related Measures),
    – керування процесом тестування (Managing the Test Process).
    Дана область знань SWEBOK визначає методи перевірки правильності ПЗ: верифікація, валідація, тестування. Наводяться типи, рівні і техніки тестування ПЗ, методи планування процесу тестування, розроблення тестових наборів даних для прогону ПЗ в режимі випробування модулів або системи в цілому і наступною оцінкою результатів тестування.
    Основна концепція тестування – це базові терміни, ключові проблеми і
    їхній зв'язок з іншими областями знань. Тестування визначається як процес перевірки правильності програми в динаміці її виконання за тестовими даними.
    При тестуванні виявляються недоліки: відмови (faults) і дефекти (defects) як причини порушення роботи програми, збої (failures) як небажані ситуації, помилки
    (errors) як наслідки збоїв і ін. Базове поняття тестування – тест, що виконується в заданих умовах і за наборами даних. Тестування вважається успішним, якщо знайдено дефект або помилка, і вони відразу усуваються. Ступінь тестованості визначається критерієм покриття системи тестами, перевірки всіх можливих шляхів виконання програм і імовірності припущення стосовно того, що може з'явитися збій або помилкова ситуація в системі.
    Рівні тестування:
    – тестування окремих елементів – це перевірка окремих, ізольованих і незалежних одна від одної частин ПЗ;
    – інтеграційне тестування орієнтоване на перевірку зв'язків і взаємодії компонентів (інтерфейсів), що можуть розміщуватися на різних архітектурних платформах розподіленого середовища;
    – тестування системи – це перевірка правильності функціонування системи, пошук і виявлення відмов і дефектів у системі і їхнє усунення. При цьому контролюється виконання сформульованих не функціональних вимог (безпека,

    Розділ 1 35 надійність і ін.) у системі, правильність подання і здійснення зовнішніх інтерфейсів системи з зовнішнім середовищем.
    На всіх рівнях тестування застосовуються методи:
    – функціонального тестування, які забезпечують перевірку реалізації функцій, що визначені у вимогах, а також правильності їх виконання;
    – регресійного тестування, що орієнтоване на повторне вибіркове тестування системи або її компонентів після внесення в них змін на тих самих тестах, що і до модифікації;
    – тестування ефективності – це перевірка продуктивності, пропускної здатності, максимального обсягу даних і системних обмежень відповідно до вимог;
    – стрес-тестування – це перевірка поведінки системи при максимально припустимому навантаженні або в разі його перевищення;
    – альфа- і бета-тестування –це тестування системи (альфа) групою тестувальників організації-розробника і тестування системи «зовнішніми» користувачами (бета);
    – конфігураційного тестування – перевірка структури й ідентифікації системи, а також роботи системи на різних конфігураціях апаратури й устаткування.
    Тестуванню підлягають також перевірка реалізації вимог і забезпечення параметрів настроювання і розміщення компонентів ПЗ на заданій кількості і типах комп'ютерів і середовища.
    Техніки тестування базуються на певних теоретичних і практичних положеннях щодо проектування
    (компонентного, об'єктно-орієнтованого, сервісного і т.п.), а також на таких даних:
    – інформація про структуру ПЗ або системи в документації («біла скринька»);
    – підбір тестових наборів даних для перевірки правильності роботи компонентів і системи в цілому без знання їх структури («чорна скринька»);
    – аналіз граничних значень, таблиць прийняття рішень, потоків даних, статистики відмов і ін.;
    – блок-схеми побудови програм і складання наборів тестів для покриття системи цими тестами;
    – виявлені і зафіксовані в таблицях системи дефекти, перед- і постумови виконання, структурні характеристики системи (кількість модулів, обсяг даних тощо).
    Метрики тестування. Для вимірювання результатів тестування ПЗ й оцінки якості використовуються метрики. Вимір як частина планування і розробки тестів базується на розмірі програм, їх структурі і кількості виявлених помилок і дефектів.
    Метрики тестування – це вимірювання процесу планування, проектування і тестування, а також результатів тестування на основі таксономії відмов і дефектів, покриття границь тестування, перевірки потоків даних і ін.
    Процес тестування документується і, відповідно до стандарту IEEE 829:1995, містить у собі опис тестових документів, їх зв'язку між собою і з задачами тестування. Без документації на процес тестування неможливо провести сертифікацію продукту за моделями зрілості, зокрема, моделлю СММ [11]. Після завершення тестування оцінюється вартість і ризики ПЗ, викликані збоями або недостатньо надійною роботою системи. Вартість тестування – одне з обмежень, на основі якого приймається рішення про його припинення або продовження.

    36 Розділ 1
    Керування тестуванням:
    – планування процесу тестування (складання планів, тестів, наборів даних) і оцінювання показників якості готового продукту;
    – проведення тестування компонентів повторного використання і патернів як основних об'єктів складання ПЗ;
    – генерація необхідних тестових сценаріїв, що відповідають середовищу виконання ПЗ;
    – верифікація правильності реалізації системи і валідація реалізації вимог до
    ПЗ;
    – збирання даних про відмови, помилки і виявлені непередбачені ситуації при виконанні програмного продукту;
    – підготовка звітів за результатами тестування й оцінка характеристик системи.
    Відповідно до стандарту ISO/IEC 12207 тестування ПЗ розглядається як невід'ємна частина ЖЦ.
    1.2.5. Супровід програмного забезпечення
    Супровід ПЗ – сукупність дій із забезпечення його роботи, внесення змін при виявленні помилок, адаптації ПЗ до нового середовища функціонування, а також підвищення продуктивності або поліпшення деяких характеристик ПЗ. У зв'язку з вирішенням так званої проблеми 2000 року (пов’язаної з кодуванням дат у новому тисячолітті, зокрема, у двохсимвольному форматі) супроводження почав розглядатися, як більш важливий процес, що здійснюють розробники. Після змін система має вирішувати ті самі задачі, а також мати план перенесення інформації в
    інші БД. Супровід відповідно до стандартів ISO/IEC 12207 і ISO/IEC 14764 проводиться з метою виконання і модифікації програмного продукту в процесі експлуатації за умови збереження його цілісності.
    Область знань «Супровід ПЗ (Software Maintenance)» складається з таких розділів:
    – основні концепції (Basic Concepts),
    – процес супроводження (Process Maintenance),
    – ключові питання супроводу ПЗ (key Issue in Software Maintenance) ,
    – техніки супроводу (Techniques for Maintenance).
    Супровід розглядається з точки зору задоволення вимог споживача у готовому ПЗ, коректності його виконання, процесів навчання й оперативного обліку його процесу.
    Основні концепції – це базові визначення і термінологія, підходи до еволюції і супроводу ПЗ, до оцінки вартості супроводу тощо. До основних концепцій можна віднести ЖЦ ПЗ (стандарт ISO/IEC 12207) і складання документації. Головне призначення цієї області знань полягає у виконанні готової програмної системи, фіксації помилок, що виникають при виконанні, дослідженні
    їх причин, аналізі необхідності модифікації системи з метою усунення помилок, оцінці вартості робіт із проведення змін функцій і системи в цілому. Розглядаються проблеми, пов'язані з ускладненістю продукту при великій кількості змін, і методи
    її подолання.
    Процес супроводження містить у собі моделі процесу супроводу і планування діяльності людей, що проводять запуск ПЗ, перевірку правильності

    Розділ 1 37 його виконання і внесення в нього змін. Цей процес згідно з стандартом ISO/IEC
    14764 проводиться шляхом:
    – коригування, тобто зміни продукту для усунення виявлених помилок або нереалізованих задач;
    – адаптації, тобто настроювання продукту в умовах експлуатації, що змінилися, або в новому середовищі виконання;
    – поліпшення, тобто еволюційної зміни продукту для підвищення продуктивності або рівня супроводу;
    – перевірки ПЗ, пошуку і виправлення помилок при експлуатації системи.
    Ключові питання супроводу ПЗ – це управлінські, вимірювальні і вартісні.
    Суть управлінських питань – контроль ПЗ при модифікації й удосконалюванні функцій і недопущення зниження продуктивності системи. Питання вимірювання пов'язане з оцінкою характеристик системи після її модифікації, а також повторного тестування для оцінки показників якості. Вартісні питання пов'язані з оцінкою витрат на супровід залежно від його типу, кваліфікації персоналу, платформи й ін.
    Техніка супроводу (цей розділ називають також еволюцією ПЗ). Відомий фахівець в області ПЗ Дж. Леман (1970 р.) запропонував розглядати супровід як еволюційну розробку програмних систем, оскільки здана в експлуатацію система не завжди цілком завершена, її треба змінювати протягом терміну експлуатації.
    Внаслідок змін система стає більш складною і погано керованою. У зв'язку з цим виникає проблема зменшення її складності. До технологій еволюції ПЗвідносять реінженерію, реверсну інженерію і рефакторинг.
    Реінженерія – це удосконалення застарілого ПЗ шляхом його реорганізації або реструктуризації, а також перепрограмування окремих елементів або настроювання параметрів на іншу платформу, середовище виконання зі збереженням зручності його супроводу.
    Реверсна інженерія полягає у відновленні специфікації (графів викликів, потоків даних і ін.) за отриманим кодом системи для її аналізу на більш високому рівні. Відновлюється ідентифікація компонентів і зв'язків між ними для забезпечення перепрограмування системи на нову платформу. Найчастіше реверсна
    інженерія застосовується після того, як у код ПЗ було внесено багато змін і воно стало некерованим або змінилася платформа комп'ютера.
    Рефакторинг – це реорганізація коду для поліпшення характеристик і показників якості об’єктно-орієнтованих і компонентних програм без зміни їх поведінки. Цей процес реалізується шляхом поступової зміни окремих операцій над текстами, інтерфейсами, середовищем програмування і виконання ПЗ, а також настроювання або внесення змін в інструментальні засоби підтримки ПЗ. Якщо при зміні зберігається формат існуючої системи, то рефакторинг – один з варіантів реверсної інженерії.
    1.2.6. Керування конфігурацією
    Керування конфігурацією – це ідентифікація компонентів системи, визначення функціональних, фізичних характеристик системи, апаратного і програмного забезпечення для контролю виконання, внесення змін і трасування конфігурації. Процес керування визначено як один з допоміжних процесів ЖЦ
    (ISO/IEC 12207), виконуваний технічним і адміністративним менеджментом

    38 Розділ 1 проекту. При цьому складаються звіти про зміни, внесені у конфігурацію, і ступінь
    їхньої реалізації, а також проводиться перевірка відповідності внесених змін заданим вимогам.
    Конфігурація системи – це склад функцій, програмного і технічного забезпечення системи, можливі їх комбінації залежно від наявності устаткування, загальносистемних засобів і вимог до продукту.
    Конфігурація ПЗ складається з набору функціональних і технічних характеристик ПЗ, заданих у технічній документації і реалізованих у готовому продукті. Це сполучення різних елементів продукту з заданими процедурами збирання компонентів і настроювання на середовище. Вхідними елементами конфігурації є графік розробки, проектна документація, вихідний виконуваний код, бібліотека компонентів, інструкції з установки і розгортання системи.
    Область знань «Керування конфігурацією ПЗ (Software Configuration
    Management – SCM)» складається з таких розділів:
    – керування процесом конфігурації (Management of SMC Process),
    – ідентифікація конфігурації ПЗ (Software Configuration Identification),
    – контроль конфігурації ПЗ (Software Configuration Control),
    – облік статусу (поведінка або стани) конфігурації ПЗ (Software Configuration
    Status Accounting),
    – аудит конфігурації ПЗ (Software Configuration Auditing),
    – керування версіями ПЗ і доставкою (Software Release Management and
    Delivery).
    Керування процесом конфігурації. Це діяльність з контролю еволюції і цілісності продукту при ідентифікації, змінах і забезпеченні звітною інформацією, що стосується конфігурації. Вона містить у собі:
    – систематичне відстеження внесених змін в окремі складові частини конфігурації, виконання аудита змін і автоматизованого контролю за внесенням змін у конфігурацію системи або в ПЗ;
    – підтримку цілісності конфігурації, її аудит і забезпечення внесення змін в елементи конфігурації;
    – ревізію конфігурації з метою перевірки наявності розроблених програмних або апаратних засобів і узгодження версії конфігурації з заданими вимогами;
    – трасування змін у конфігурації на процесах супроводу й експлуатації ПЗ.
    Ідентифікація конфігурації ПЗ полягає в документуванні функціональних і фізичних характеристик елементів конфігурації, а також в оформленні технічної документація на елементи конфігурації.
    Контроль конфігурації ПЗ – це роботи з координації, затвердження або відкидання реалізованих змін в елементах конфігурації після ідентифікації, а також з аналізу вхідних компонентів конфігурації.
    Облік статусу або стану конфігурації ПЗ – комплекс заходів для визначення ступеня зміни конфігурації, а також правильності внесених змін у систему при супроводі. Інформація і кількісні показники накопичуються у відповідній БД і використовуються при складанні звітності, оцінюванні якості і виконанні процесів ЖЦ.
    Аудит конфігурації – це діяльність, що виконується для оцінки відповідності продукту і процесів стандартам, інструкціям, планам і процедурам. Аудит визначає

    Розділ 1 39 ступінь задоволення конфігурації функціональним і фізичним (апаратним) характеристикам системи.
    Керування версіями ПЗ – це відстеження наявної версії компонентів конфігурації; складання компонентів; створення нових версій системи на основі
    існуючих шляхом внесення змін у конфігурацію; узгодження версії продукту з вимогами і проведеними змінами на процесах ЖЦ; забезпечення оперативного доступу до інформації про елементи конфігурації і системи, до яких вони належать.
    Дане керування містить у собі такі основні поняття.
    Базис (baseline) – формально позначений набір елементів ПЗ, зафіксований на процесах ЖЦ.
    Бібліотека ПЗ – колекція об'єктів ПЗ і документації, призначена для полегшення процесу розроблення, використання і супроводження.
    Складання ПЗ – об'єднання коректних елементів і конфігураційних даних у
    єдину виконувану програму.
    Керування_інженерією_програмного_забезпечення'>1.2.7. Керування інженерією програмного забезпечення
    Керування інженерією ПЗ (Software Engineering Management) – керування роботами команди розробників ПЗ у процесі виконання плану проекту, визначення критеріїв ефективності роботи цієї команди й оцінка процесів і продуктів проекту з використанням загальних методів планування і контролю робіт.
    Як будь-яке керування, воно полягає у плануванні, координації, контролі, вимірі й обліку виконаних робіт у процесі розроблення програмного проекту.
    Координацію людських, фінансових і технічних ресурсів виконує менеджер проекту аналогічно до того, як це робиться в технічних проектах. У його обов'язки входить дотримання запланованих бюджетних і часових характеристик і обмежень, стандартів і сформульованих вимог.
    Загальні питання керування проектом містяться в ядрі знань РMBOK [12], а також у стандарті ISO/IEC 12207 – Software life cycle processes, де керування проектом розглядається як організаційний процес ЖЦ.
    Область знань
    «Керування
    інженерією
    ПЗ
    (Software
    Engineering
    Management)» складається з таких розділів:
    – організаційне керування (Organizational Management),
    – керування процесом/проектом (Process/Project Management),
    – інженерія вимірювання ПЗ (Software Engineering Measurement).
    Організаційне керування – це планування і складання графіка робіт, підбір і керування персоналом, контроль виконання й оцінка вартості робіт згідно з прийнятими стандартами і договорами з замовником. Головним об’єктом організаційного керування проектом є персонал (навчання, мотивація й ін.), комунікації між співробітниками (зустрічі, презентації й ін.), а також попередження й усунення ризику невиконання проекту. Для керування проектом створюється спеціальна структура колективу. Фахівці розподіляються за видами робіт і розв’язують задачі проекту під керуванням менеджера з урахуванням заданої вартості і термінів розробки. Для реалізації задач проекту підбираються необхідні програмні, інструментальні й апаратні засоби.
    Керування проектом/процесом – це складання плану проекту, побудова графіків робіт (мережних або часових діаграм) з урахуванням наявних ресурсів, розподіл персоналу за видами робіт у проекті, виходячи з заданих термінів і

    40 Розділ 1 вартості їх виконання. Для ефективного керування проектом проводиться аналіз фінансової, технічної, операційної і соціальної політики організації-розробника для вибору правильної стратегії виконання робіт і контролю плану, а також проміжних продуктів (проектних рішень, діаграм UML, алгоритмів і ін.).
    У задачі керування проектом входять також уточнення вимог, перевірка їх відповідності заданим специфікаціям характеристик якості, а також верифікація функцій проекту. Процес керування базується на планових термінах, що відображені мережними діаграмами PERT (Program Evaluation and Review
    Technique), СРМ (Сrіtісаl Path Method). У них указуються роботи, зв'язки між ними
    і час виконання.
    На сьогоднішній день найбільш поширена мережна діаграма PERT – граф, у вершинах якого розміщуються роботи, а дуги задають взаємні зв'язки між цими роботами. Інший тип мережної діаграми – СРМ – є становим. У його вершинах указують події, а роботи задають лініями між двома вузлами-подіями. Очікуваний час виконання робіт за допомогою мережних діаграм оцінюється середнім ваговим значенням трьох оцінок: оптимістичної, песимістичної й очікуваної, тобто
    імовірнісної. Ці оцінки надають експерти, що враховують обсяги виконаної роботи
    і відведений на неї час.
    Коректно складений план забезпечує виконання вимог і цілей проекту.
    Контроль здійснюється при виконанні і внесенні змін у проект з урахуванням ризиків і прийнятих рішень щодо їх мінімізації.
    Під ризиком розуміють імовірність виникнення несприятливих обставин, що можуть негативно вплинути на керування розробкою (наприклад, звільнення співробітника і відсутність заміни для продовження робіт і ін.). При складанні плану проекту проводиться ідентифікація й аналіз ризику, планування непередбачених ситуацій щодо ризиків. Запобігання ризику полягає у виконанні дій, що знімають ризик (наприклад, збільшення часу розробки й ін.). Причиною появи ризику може бути реорганізація проекту, БД або транзакцій, а також помилки при виконанні ПЗ.
    1   2   3   4   5   6   7   8   9   ...   43


    написать администратору сайта