Управління якістю програмного забезпечення

Спеціальність: Інженерія програмного забезпечення
Код дисципліни: 7.121.01.E.021
Кількість кредитів: 5.00
Кафедра: Програмне забезпечення
Лектор: Ваврук Ірина Євгенівна
Семестр: 2 семестр
Форма навчання: денна
Мета вивчення дисципліни: Метою вивчення дисципліни є ознайомлення студентів з методами та засобами забезпечення якості програмного забезпечення, а саме з автоматизацією тестування програмного продукту, яке дозволяє підвищити показники його якості та зменшує ризики розроблення програмних систем.
Завдання: ІНТ. Здатність ефективно розв’язувати спеціалізовані задачі та практичні проблеми інноваційного характеру під час професійної діяльності, пов’язаної зі всіма аспектами виробництва програмного забезпечення від початкових стадій створення специфікації до супроводу системи після здачі в експлуатацію. фахових спеціального спрямування: ФКС2.2. Здатність продемонструвати знання стандартів процесів життєвого циклу програмного забезпечення та моделей зрілості процесів.
Результати навчання: РНC2.2. Вміти обчислювати показники якості ПЗ з використанням готових інструментів та обирати доцільні засоби підвищення показників якості ПЗ на основі часових та людських ресурсів. РНС2.3. Вміти виконувати автоматизоване тестування веб-сервісів та підвищувати якість веб-аплікацій.
Необхідні обов'язкові попередні та супутні навчальні дисципліни: Пререквізити: Теорія надійності програмних систем Кореквізити: Виконання та захист магістерської кваліфікаційної роботи
Короткий зміст навчальної програми: Широке використання програмного забезпечення у всіх сферах суспільної діяльності висуває високі вимоги до якості функціонування програмних систем. Програмні проекти стають дедалі складнішими та багатокомпонентними, тому відомі засоби оцінювання та підвищення показників їхньої якості є трудомісткими, вимагають великих затрат ресурсів як часових, так і людських. Основна увага під час викладання дисципліни приділяється розробці засобів підвищення показників якості програмного забезпечення на основі існуючих фреймворків автоматизації тестування. У курсі розглядаються методи автоматизованого тестування веб-додатків та веб-сервісів, що дають можливість покращити якість програм та скоротити затрати на ручне тестування.
Опис: Загальні поняття та визначення про якість програмного забезпечення. Метрики програмних продуктів. Метрики коду, метрики автоматизованого та ручного тестування. Sonar – система для оцінки показників надійності ПЗ. Автоматизація процесу тестування, мета, переваги та недоліки. Java Core. Collection Framework. Робота з вийнятковими ситуаціями. Log4j – бібліотека журналювання Java програм. Junit – бібліотека написання тестів на мові Java TestNg – фреймворк написання автотестів на мові Java. Xpath –мова запитів до елементів xml або xhtml. Selenium WebDriver – інструмент для автоматизації роботи в web-браузері. Бібліотеки для тестування Soap Web-service Бібліотеки для тестування Rest Web-service Allure report – фреймворк для створення простих і зрозумілих звітів виконання автотестів
Методи та критерії оцінювання: 1) Захист лабораторних робіт включає демонстрацію програм, створених за індивідуальним варіантом, оформлення письмових звітів до лабораторних робіт. 2) Усне опитування відбувається на лабораторних заняттях. 3) Тестування відбувається у ВНС під час екзамену. 4) Екзамен складається з письмової компоненти.
Критерії оцінювання результатів навчання: Поточний контроль: 45% (лабораторні роботи – 35% (5 лабораторних робіт по 7% кожна), tests – 10%) Екзаменаційний контроль: 55% (письмова компонента 50%, усна компонента 5%) Перші три лабораторні роботи здаються протягом 1-7 навчального тижня включно. Дедлайн по кожній лабораторній роботі - 2 тижні після пояснення як її робити. За відтермінування на кожен тиждень максимальна кількість балів зменшується на 1. Після 7 тижня л.р. №1, 2 та 3 оцінюються в нуль балів. Наступні дві лабораторні здаються протягом 8-15 тижні. Дедлайн по кожній лабораторній роботі - 2 тижні після пояснення як її робити. За відтермінування на кожен тиждень максимальна кількість балів зменшується на 1.
Порядок та критерії виставляння балів та оцінок: 100–88 балів – («відмінно») виставляється за високий рівень знань (допускаються деякі неточності) навчального матеріалу компонента, що міститься в основних і додаткових рекомендованих літературних джерелах, вміння аналізувати явища, які вивчаються, у їхньому взаємозв’язку і роз витку, чітко, лаконічно, логічно, послідовно відповідати на поставлені запитання, вміння застосовувати теоретичні положення під час розв’язання практичних задач; 87–71 бал – («добре») виставляється за загалом правильне розуміння навчального матеріалу компонента, включаючи розрахунки , аргументовані відповіді на поставлені запитання, які, однак, містять певні (неістотні) недоліки, за вміння застосовувати теоретичні положення під час розв’язання практичних задач; 70 – 50 балів – («задовільно») виставляється за слабкі знання навчального матеріалу компонента, неточні або мало аргументовані відповіді, з порушенням послідовності викладення, за слабке застосування теоретичних положень під час розв’язання практичних задач; 49–26 балів – («не атестований» з можливістю повторного складання семестрового контролю) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння застосувати теоретичні положення під час розв’язання практичних задач; 25–00 балів – («незадовільно» з обов’язковим повторним вивченням) виставляється за незнання значної частини навчального матеріалу компонента, істотні помилки у відповідях на запитання, невміння орієнтуватися під час розв’язання практичних задач, незнання основних фундаментальних положень.
Рекомендована література: [Електронний ресурс]: Режим доступу http://alpaev.com/TestingAutomation.pdf [Електронний ресурс]: Режим доступу https://tmpaconf.org/images/pdf/adrianov.pdf Navneesh Garg. Test Automation Using Selenium WebDriver with Java, 2014. – 344 p. Kovalenko D. Selenium Design Patterns and Best Practices, 2014. – 225 p. Kankanamge C. Web Services Testing with soapUI, 2012. – 214 p. Gordon Schulmeyer G. Handbook of Software Quality Assurance, Fourth Edition 4th Edition, 2008. - 457 p. Galin D. Software Quality Assurance, From theory to implementation, 2004. – 590 p.
Уніфікований додаток: Національний університет «Львівська політехніка» забезпечує реалізацію права осіб з інвалідністю на здобуття вищої освіти. Інклюзивні освітні послуги надає Служба доступності до можливостей навчання «Без обмежень», метою діяльності якої є забезпечення постійного індивідуального супроводу навчального процесу студентів з інвалідністю та хронічними захворюваннями. Важливим інструментом імплементації інклюзивної освітньої політики в Університеті є Програма підвищення кваліфікації науково-педагогічних працівників та навчально-допоміжного персоналу у сфері соціальної інклюзії та інклюзивної освіти. Звертатися за адресою: вул. Карпінського, 2/4, І-й н.к., кімн. 112 E-mail: nolimits@lpnu.ua Websites: https://lpnu.ua/nolimits https://lpnu.ua/integration
Академічна доброчесність: Політика щодо академічної доброчесності учасників освітнього процесу формується на основі дотримання принципів академічної доброчесності з урахуванням норм «Положення про академічну доброчесність у Національному університеті «Львівська політехніка» (затверджене вченою радою університету від 20.06.2017 р., протокол № 35).