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

Спеціальність: Телекомунікації та радіотехніка
Код дисципліни: 6.172.07.E.151
Кількість кредитів: 5.00
Кафедра: Теоретична радіотехніка та радіовимірювання
Лектор: Ст. викл., к.т.н. Бенч Андрій Ярославович
Семестр: 8 семестр
Форма навчання: денна
Мета вивчення дисципліни: Метою курсу є надання майбутнім спеціалістам знань та практичних навичок в галузі тестування програмного забезпечення програмно апаратних засобів. Рівень цих знань повинен бути достатнім для проведення наукових досліджень на рівні останніх світових досягнень і направленим на їх розширення та поглиблення.
Завдання: Вивчення навчальної дисципліни передбачає формування у здобувачів освіти компетентностей: загальні компетентності: - здатність до абстрактного мислення, аналізу та синтезу (ЗК-1); - здатність до застосування знань на практиці (ЗК-2); - здатність здійснювати пошук та аналізувати інформацію з різних джерел; - здатність вчитись та оволодівати сучасними знаннями (ЗК-7) - мати дослідницькі навички; фахові компетентності: - знання з обчислювальної техніки та програмування, володіння навичками роботи з комп'ютером для та тестування програмного забезпечення для програмно-апаратних засобів радіотехнічних систем (вбудованих систем); - базові знання наукових понять, теорій і методів, необхідних для розуміння принципів роботи та функціонального призначення програмно-апаратних засобів телекомунікаційних та радіотехнічних систем та пристроїв, електронного обладнання та устаткування.
Результати навчання: У результаті вивчення навчальної дисципліни здобувач освіти повинен бути здатним продемонструвати такі результати навчання: • знати та розуміти життєвий цикл розробки програмного забезпечення (software development life cycle) та життєвий цикл розробки систем (system development life cycle); • знати основні види тестування програмно-апаратних засобів; • знати основні методи проектування тестів; • вміти створювати усі види тестової документації; • вміти використовувати системи відстеження проблем (issue tracking systems)та системи відстеження помилок (bug tracking systems); • вміти використовувати системи управління тестуванням (test management system); • мати загальне розуміння про організацію автоматизованого тестування програмно - апаратних засобів; • мати загальне розуміння про реалізацію практик неперервної інтеграції (continuous integration) при створенні програмно-апаратних засобів.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Програмування апаратних засобів Основи проектування програмно-апаратних засобів Проектування програмно-апаратних систем Проектування радіочастотних пристроїв дистанційного контролю
Короткий зміст навчальної програми: Програма навчальної дисципліни “Тестування програмного забезпечення програмно-апаратних систем ” укладена для студентів інституту телекомунікацій, радіоелектроніки та електронної техніки, які навчаються за спеціальністю Телекомунікації та радіотехніка. Навчальна дисципліна присвячена вивченню принципів тестування програмно-апаратних систем. Розглянуто методи статичного та динамічного тестування, методи проектування тест-кейсів за типом чорної і білої скриньки та на підставі досвіду. Суттєва увага звертається на планування та управління процесом тестування. У заключній частині курсу та на лабораторних заняттях вивчаються інструменти для проведення тестування. Після успішного завершення курсу, студенти готові до здачі міжнародної кваліфікації ISTQB: Foundation Level.
Опис: Назви тем Тема 1 Основи тестування програмного забезпечення Лекція 1. Що таке тестування? Навіщо воно потрібне? Помилки, дефекти, та відмови. Причини і наслідки дефектів. Головні принципи тестування. Процес тестування. Тема 2 Життєвий цикл розробки програмного забезпечення (SDLC) та процес тестування. Лекція 2. Моделі SDLC. Водоспадна модель. Еволюційна модель. Agile моделі розробки програмного забезпечення. SCRAM. KANBAN. LEAN. Лекція 3. Рівні тестування. Тестування модулів і компонентів. Інтеграційне тестування. Системне тестування. Приймальне тестування. Лекція 4. Типи тестування. Функціональне тестування. Нефункціональне тестування. Тестування за принципом прозорої\білої скриньки Тема 3. Методи тестування та проектування тестів. Лекція 5. Статичне тестування. Переваги статичного тестування. Різниця між статичним та динамічним тестуванням. Процес рецензування програмного забезпечення. Лекція 6. Методи динамічного тестування та проектування тесткейсів ч1. Методи тестування за типом чорної скриньки (розбиття на групи еквівалентності, аналіз граничних умов, тестування таблиць переходів, тестування переходів між станами, тестування випадків використання). Лекція 7. Методи динамічного тестування та проектування тесткейсів ч2. Методи тестування за типом білої скриньки (тестуванням маршрутів, тестуванням циклів, тестування переходів, тестуванням обробки даних) Лекція 8. Методи динамічного тестування та проектування тесткейсів ч3. Методи тестування на підставі досвіду (прогнозування помилок, дослідницьке тестування, тестування на підставі списків контролю\чек-листів) Тема 4. Управління процесом тестування. Лекція 9. Організація процесу тестування. Планування і оцінка процесу тестування. Контроль за процесом тестування. Управління конфігураціями. Ризики і тестування. Управління дефектами Тема 4. Інструменти для тестування. Лекція 10. Класифікація інструментів. Переваги та ризики автоматизації тестування. Ефективне використання інструментів. Основні принципи вибору інструментів. Пілотні проекти для впровадження інструментів в процеси тестування.
Методи та критерії оцінювання: Тестування за пройденими темами (у віртуальному навчальному середовищі). Захист лабораторних робіт у вигляді опитування за оформленими звітами. Екзаменаційний контроль (письмова компонента – тести і індивідуальна задача, усна компонента – опитування за переліком питань, які підлягають вивченню і виносяться на семестровий контроль.
Критерії оцінювання результатів навчання: Поточний контроль (45 балів): • лабораторні роботи - 35 балів; • проміжний контроль - 10 балів. Екзаменаційний контроль (55 балів): • письмова компонента - 50 балів; • усна компонента - 5 балів.
Порядок та критерії виставляння балів та оцінок: 100–88 балів – («відмінно») виставляється за високий рівень знань (допускаються деякі неточності) навчального матеріалу компонента, що міститься в основних і додаткових рекомендованих літературних джерелах, вміння аналізувати явища, які вивчаються, у їхньому взаємозв’язку і роз витку, чітко, лаконічно, логічно, послідовно відповідати на поставлені запитання, вміння застосовувати теоретичні положення під час розв’язання практичних задач; 87–71 бал – («добре») виставляється за загалом правильне розуміння навчального матеріалу компонента, включаючи розрахунки , аргументовані відповіді на поставлені запитання, які, однак, містять певні (неістотні) недоліки, за вміння застосовувати теоретичні положення під час розв’язання практичних задач; 70 – 50 балів – («задовільно») виставляється за слабкі знання навчального матеріалу компонента, неточні або мало аргументовані відповіді, з порушенням послідовності викладення, за слабке застосування теоретичних положень під час розв’язання практичних задач; 49–26 балів – («не атестований» з можливістю повторного складання семестрового контролю) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння застосувати теоретичні положення під час розв’язання практичних задач; 25–00 балів – («незадовільно» з обов’язковим повторним вивченням) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння орієнтуватися під час розв’язання практичних задач, незнання основних фундаментальних положень.
Рекомендована література: Базова 1. Білас О. Якість програмного забезпечення та тестування: навч.посібник – Львів: Видавництво Львівської політехніка, 2011. – 216с. 2. ISTQB. Cerified Tester Foundation Level (CTFL) Syllabus 2018 v.3.1.1. Режим доступу: https://www.istqb.org/certifications/certified-tester-foundation-level Допоміжна 3. Boris Beizer. Black-Box Testing. Techniques for Functional Testing of Software and Systems. – New York:John Wiley & Sons, 1995. – 320 p. 4. Lisa Cispin, Janet Gregory. Agile Testing. A Practical Guide for Testers and Agile Teams. – New York: Addison-Wesley, 2009. – 464 p. 9. Інформаційні ресурси http://vns.lpnu.ua/course/view.php?id=14160
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою: вул. Карпінського, 2/4, І-й н.к., кімн. 112 E-mail: nolimits@lpnu.ua Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).