Тестування програмного забезпечення

Спеціальність: Кібербезпека
Код дисципліни: 6.125.04.E.130
Кількість кредитів: 3.00
Кафедра: Захист інформації
Семестр: 7 семестр
Форма навчання: денна

Тестування програмного забезпечення (курсова робота)

Спеціальність: Кібербезпека
Код дисципліни: 6.125.04.E.131
Кількість кредитів: 2.00
Кафедра: Захист інформації
Лектор: к.ф.-м.н., доцент Червінка Костянтин Андрійович
Семестр: 7 семестр
Форма навчання: денна
Мета вивчення дисципліни: Метою викладання дисципліни є ознайомлення студентів з теорією та практикою тестування програмного забезпечення, особливостями та вимогами до тестування на різних етапах життєвого циклу розробки програм, методиками формування тест-кейсів та інструментами автоматизації тестування.
Завдання: Вивчення навчальної дисципліни передбачає формування у здобувачів освіти компетентностей: загальні компетентності: ЗК 1. Здатність застосовувати знання у практичних ситуаціях ЗК 2. Знання та розуміння предметної області та розуміння професії ЗК 3. Здатність професійно спілкуватися державною та іноземною мовами як усно, так й письмово ЗК 4. Вміння виявляти, ставити і вирішувати проблеми за професійним спрямуванням ЗК 5. Здатність до пошуку, оброблення та аналізу інформації фахові компетентності: ФКС 4.1. Володіння методологіями проведення оцінки ризиків та проактивного виявлення загроз, вміння ідентифікувати вразливості інформаційної безпеки та застосовувати ефективні інструменти для їх помягшення ФКС 4.4. Здатність опрацьовувати та аналізувати журнали реєстрації подій, уміння розробляти синтаксичні аналізатори. ФКС 4.5. Уміння виявляти шкідливе програмне забезпечення та здатність застосовувати принципи і методи ефективної протидії. ФКС 4.7. Уміння розробляти програмне забезпечення із виявлення шкідливих програм і кібератак ФКС 4.9. Здатність виконувати моніторинг даних, комп’ютерних зловживань та аномалій.
Результати навчання: У результаті вивчення навчальної дисципліни здобувач освіти повинен бути здатним 4.1. Вирішувати завдання захисту програм та інформації, що обробляється в інформаційно-телекомунікаційних системах програмно-апаратними засобами та давати оцінку результативності якості прийнятих рішень. 4.3. Вирішувати задачі захисту потоків даних в інформаційних та інформаційно-телекомунікаційних (автоматизованих) системах 4.8. Вирішувати задачі управління процесами відновлення штатного функціонування інформаційно-телекомунікаційних систем з використанням процедур резервуванням згідно встановленої політики безпеки. 4.11. Вирішувати задачі аналізу програмного коду на наявність можливих загроз а також повинен 1. володіти уявленнями про актуальні методики тестування сучасних програмних засобів різних видів на усіх етапах життєвого циклу розробки ПЗ; 2. вміти здійснювати аналіз вимог до проектованого програмного забезпечення для різних моделей розробки за ознаками повноти, коректності, здійсненності, необхідності, пріоритетності, несуперечливості тощо; 3. розуміти основні завдання різних видів тестування та вміти вибирати оптимальні схеми тестування для різних моделей розробки ПЗ; 4. знати основні методи функціональних видів тестування, аналізу й синтезу компонентів тестового інструментарію, основ статичного й динамічного тестування; 5. здійснювати виконання тестових випадків та формування звітность із оцінкою виявлених дефектів за необхідними ознаками; 6. за заданими технічними завданнями до розробки програмного забезпечення проектувати стислі чек-списки та набори тест-кейсів для поверхневого та глибокого тестування ПЗ.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Етичний хакінг в комп’ютерних системах та мережах Безпека мобільних технологій, ч.2
Короткий зміст навчальної програми: Зміст дисципліни включає основні поняття в області тестування програмного забезпечення, рівнів та видів тестування на різних етапах життєвого циклу розробки програмного забезпечення, методик та стратегій формування тестових наборів для різних категорій програмних продуктів, проблеми тестування безпеки програмного продукту з метою реалізації встановленої політики інформаційної та/або кібербезпеки. Основні теми лекційних занять охоплюють: Тестування та його роль у підвищенні якості ПЗ Види та напрямки тестування. Класифікація тестування Аналіз вимог та результати тестування Інструменти тестування та його дизайн. Чек-списки та тест-кейси Звіти про дефекти. Оцінка витрат на тестування Особливості тестування для різних моделей розробки ПЗ Особливості тестування різних видів ПЗ. Тестування безпеки Основні теми лабораторних занять охоплюють: Аналіз вимог програмного забезпечення Планування та організація процесу тестування Розробка тестових випадків Функціональне тестування Звіти про помилки та звіти тестування Тестування локалізації, як частина функціонального тестування Техніки та методи тест-дизайну
Опис: Тестування та його роль у підвищенні якості ПЗ Вступ. Поняття тестування. Варіативність та ефективність тестування. Особливості професії "тестувальник ПЗ" Види та напрямки тестування. Класифікація тестування Стадії розробки ПЗ та життєвий цикл тестування. Планування тестів. Види тестування за запуском, доступом до коду, автоматизацією, деталізацією, метою тощо Аналіз вимог та результати тестування Специфікації вимог. Тестування документації. Тестування в циклі розробки програмного забезпечення. Тестові результати: визначення та види. Стратегія та план тесту. Шаблони та сценарії тестування. Інструменти тестування та його дизайн. Чек-списки та тест-кейси Визначення тест-кейсу, його структура та види. Життєвий цикл та поля тест-кейсу. Методики тестування. Статичний аналіз, рецензування, метрики. Динамічне тестування Звіти про дефекти. Оцінка витрат на тестування Виконання тестових випадків та баг-репорти. Дефекти, звіти про них та їх оцінка. Планування та звітність тестового процесу. Тест-план та його оптимізація Особливості тестування для різних моделей розробки ПЗ Знайомство з інструментами та гнучкими практиками. Елементи автоматизації. Системне і регресивне тестування Особливості тестування різних видів ПЗ. Тестування безпеки Особливості тестування Web-додатків та Web-сервісів. Дослідницьке тестування. Тестування на проникнення
Методи та критерії оцінювання: Оформлена і захищена курсова робота згідно сформульованого завдання, що містить необхідні теоретичні відомості та ілюструє на конкретних прикладах обрану проблемну задачу щодо тестування програмного забезпечення оцінюється у 100 балів
Критерії оцінювання результатів навчання: Перевірка виконання КР 50 балів Усне опитування 50 балів
Порядок та критерії виставляння балів та оцінок: 100–88 балів – («відмінно») виставляється за високий рівень знань (допускаються деякі неточності) навчального матеріалу компонента, що міститься в основних і додаткових рекомендованих літературних джерелах, вміння аналізувати явища, які вивчаються, у їхньому взаємозв’язку і роз витку, чітко, лаконічно, логічно, послідовно відповідати на поставлені запитання, вміння застосовувати теоретичні положення під час розв’язання практичних задач; 87–71 бал – («добре») виставляється за загалом правильне розуміння навчального матеріалу компонента, включаючи розрахунки , аргументовані відповіді на поставлені запитання, які, однак, містять певні (неістотні) недоліки, за вміння застосовувати теоретичні положення під час розв’язання практичних задач; 70 – 50 балів – («задовільно») виставляється за слабкі знання навчального матеріалу компонента, неточні або мало аргументовані відповіді, з порушенням послідовності викладення, за слабке застосування теоретичних положень під час розв’язання практичних задач; 49–26 балів – («не атестований» з можливістю повторного складання семестрового контролю) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння застосувати теоретичні положення під час розв’язання практичних задач; 25–00 балів – («незадовільно» з обов’язковим повторним вивченням) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння орієнтуватися під час розв’язання практичних задач, незнання основних фундаментальних положень.
Рекомендована література: 1. Якість програмного забезпечення та тестування: базовий курс. Навчальний посібник / За ред. Крепич С.Я., Співак І.Я. / для бакалаврів галузі знань 12 «Інформаційні технології» спеціальності 121 «Інженерія програмного забезпечення». – Терно¬піль: ФОП Паляниця В.А., 2020. – 478 с. 2. Білас О. Якість програмного забезпечення та тестування: навч.посібник. – Львів: Видавництво Львівської політехніки, 2011. – 216 с. 3. Верифікація і тестування програмного забезпечення. Конспект лекцій для студентів базових напрямів 6.050101 «Комп’ютерні науки» та 6.050103 «Програмна інженерія». І частина. / Укл.: О.Є. Білас. — Львів: Видавництво Національного університету «Львівська політехніка», 2008. — 80 с. 4. ISTQB Foundation Level Certification v. 4.0 Syllabus [Електронний ресурс] – Режим доступу : https://astqb.org/assets/documents/ISTQB_CTFL_Syllabus-v4.0.pdf (2023) 5. Myers, G. J., Sandler, C., & Badgett, T. (2011). The art of software testing. John Wiley & Sons. 6. Jorgensen, P. C. (2013). Software testing: a craftsman's approach. Auerbach Publications.
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою: вул. Карпінського, 2/4, І-й н.к., кімн. 112 E-mail: nolimits@lpnu.ua Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).