Розробники та рецензенти
Заклад вищої освіти:

Компанія-рецензент 1:

Компанія-рецензент 2:

Валідація:
Розробник навчальної програми:
Наталія Апенько – канд. техн. наук, доцент кафедри "Інтелектуальних кібернетичних систем"
Базова інформація
Шифр та назва спеціальності:
123 - Комп'ютерна інженеріяНазва освітньо-наукової програми
Системне програмуванняНазва дисципліни
Якість та тестування програмного забезпеченняВид дисципліни
ВибірковаБлок дисципліни
Embeded-програмуванняКількість студентів
78Курс/Семестр
3Загальна інформація про дисципліну
Анотація
Навчальна дисципліна «Якість програмного забезпечення та тестування» є теоретичною та практичною основою сукупності знань та вмінь, що формують профіль фахівця у галузі комп’ютерної інженерії.Анотація
Метою викладання дисципліни є вивчення сучасних парадигм та технологій забезпечення якості програмного забезпечення при його розробці. Головними задачами є опановування студентами методами тестування, верифікації і валідації; вивчення студентами підходів до створення звітності по проблемах при розробці програмного забезпечення; ознайомлення студентів з сучасними статистичними методами та інструментальними засобами контролю якості.Анотація
Лекції, лабораторні роботи, самостійна робота. Підсумковий контроль – іспитРозподіл часу
Загальний обсяг (кредитів): 4; Лекції (занять): 17; Лабораторні (занять): 8; Практичні (занять): 0; Самостійна робота (годин): 69
Попередні дисципліни
«Теорія алгоритмів», «Основи програмування»Матеріально-технічне та програмне забезпечення дисципліни
Комп’ютер, ОС, інструменти програмного забезпечення, вихід в ІнтернетСтруктура дисципліни
| Теоретична складова Назва, перелік питань або анотація лекції | Годин | Практична складова Опис та приклад завдання, а також посилання на методичні матеріали | Годин | Інструменти, засоби та технології | ||||||||||||||
| Тема 1 – Основи тестування програмного забезпечення. | ||||||||||||||||||
Зміст дисципліни. Термінологія тестування.
|
2 | |||||||||||||||||
Ключові питання тестування програмного забезпечення. Ефективність тестування.
|
2 | Тестування специфікації вимог Виконання статичного тестування. Software Requirements Specification | 2 | Комп’ютер | ||||||||||||||
Створення тестового плану.
|
2 | |||||||||||||||||
Види тестування. Тестування методами «білого ящика», «сірого ящику» та «чорного ящику».
|
2 | Створення тест плану Розробити тестовий план за варіантом. Шаблони тест планів від RUP (Rational Unified Process) та стандарт IEEE 829. | 2 | Комп’ютер | ||||||||||||||
| Тема 2 – Техніки тестування та автоматизоване тестування | ||||||||||||||||||
Процес тестування. Управління процесом тестування. Планування процесу тестування.
|
2 | |||||||||||||||||
Розробка тестів. Генерація сценаріїв тестування.
|
2 | Розробка тестових сценаріїв Оформлення позитивних та негативних тестових сценаріїв за варіантом | 2 | Комп’ютер | ||||||||||||||
Структура процесу тестування.
|
2 | |||||||||||||||||
Документування та аналіз результатів. Розробка тест-стратегії
|
2 | Оформлення звіту про помилки. Розробити звіт про помилки Внести результати звіту про помилки в систему Jira | 2 | Комп’ютер | ||||||||||||||
Автоматизоване тестування. Створення автотестів.
|
2 | |||||||||||||||||
Автоматизоване тестування. Написання юніт тестів
|
2 | Розробка коду для автоматизованого тестування Розробити програмне забезпечення відповідно до варіанту. Розробити код або скрипт автоматизованого тестування відповідно до плану тестування | 2 | Комп’ютер | ||||||||||||||
| Тема 3 – Основи якості програмного забезпечення | ||||||||||||||||||
Аспекти визначення якості та її атрибути. Значення і вартість якості.
|
2 | |||||||||||||||||
Метрики якості. Використання метрик якості.
|
2 | Метрики якості програмного продукту Порахувати кількісні метрики програмного коду | 2 | Комп’ютер | ||||||||||||||
Попередня оцінка якості.
|
2 | |||||||||||||||||
Класифікація моделі якості програмного забезпечення.
|
2 | Методи експертного оцінювання програмного забезпечення Розробити та порахувати експертне оцінювання методом коефіцієнта конкордації. | 2 | Комп’ютер | ||||||||||||||
| Тема 4 – Методи оцінки значень показників якості | ||||||||||||||||||
Основні поняття в проблематиці надійності програмних систем.
|
2 | |||||||||||||||||
Процеси з управління якістю ПЗ.
|
2 | Модель якості програмного забезпечення Оформити звіт відповідно до моделі якості програмного забезпечення за варантом | 2 | Комп’ютер | ||||||||||||||
Проблеми якості програмного забезпечення та практичні рекомендації.
|
2 | |||||||||||||||||
Теми та завдання для самостійної роботи
| Назва та опис завдання | Методи контролю та критерії оцінювання | Годин | |||||||||||||||
| Опанування теоретичного матеріалу: організація, структурування, моделювання, трасування і інтеграція вимог. Покриття тестами вимог. Види покриттів. Валідація компонент і програми в цілому. Неперервне тестування. Використання шаблонів тестового плану. Методи тестування. Життєвий цикл дефектів. Використання шаблонів проєктування автоматизованих тестів. Процеси підвищення якості. Сертифікація програмного забезпечення в Україні. Професійний підхід до якості програмного забезпечення. Принципи придатності до використання ПЗ. Попередня оцінка якості на основі статистичних методів залежно від етапу розробки програми. | Усне опитування | 34 | |||||||||||||||
| Домашнє завдання (груповий проєкт). Ознайомитися з методичними рекомендаціями до домашнього завдання | Захист проєкту | 29 | |||||||||||||||
| Підготовка до модульних контрольних робіт: повторення лекційного та самостійного матеріалу | Усно | 6 | |||||||||||||||
Проєкт
Немає
Рекомендовані джерела інформації та навчальні матеріали
| Основні | ||||||||||||||||||
| № | Назва | До теми (вказати номер) | ||||||||||||||||
| 1 | Роберт С. Мартін Чистий код. Створення і рефакторинг за допомогою Agile. – Київ: Фабула, 2019. – 448 с. | Тема 4 | ||||||||||||||||
| 2 | Роберт С. Мартін Чистий Agile. Створення і рефакторинг за допомогою Agile. – Київ: Фабула, 2021. – 224 с. | Тема 1 | ||||||||||||||||
| 3 | Brian Hambling, Geoff Thompson, Peter Morgan. Software Testing. An ISTQB-BCS Certified Tester Foundation guide - 4th edition. BCS Learning and Development Ltd. 2019. – 229p. | Тема 1, 2 | ||||||||||||||||
| 4 | Трофименко О.Г. С++. Алгоритмізація та програмування : підручник / О.Г. Трофименко, Ю.В. Прокоп, Н.І. Логінова, О.В. Задерейко. 2-ге вид. перероб. і доповн. – Одеса : Фенікс, 2019. – 477 с.. | Тема 4 | ||||||||||||||||
| 5 | Saleem Siddiqui. Learning Test-Driven Development: A Polyglot Guide to Writing Uncluttered Code 1st Edition m / Saleem Siddiqui – O'Reilly Media, 2021. – 280 p | Тема 2, 3, | ||||||||||||||||
| Додаткові | ||||||||||||||||||
| № | Назва | До теми (вказати номер) | ||||||||||||||||
| 1 | https://www.istqb.org/certifications/certification-list | |||||||||||||||||
Контрольні заходи
| Назва та опис | Методи контролю та критерії оцінювання | |||||||||||||||||
| Лабораторні роботи 1-8 | Захист робіт | |||||||||||||||||
| Домашнє завдання (груповий проєкт) | Захист проєкту | |||||||||||||||||
| Модульна контрольна робота 1-2 | Письмово | |||||||||||||||||
| Залік | ||||||||||||||||||
Результати навчання
Опанування основних принципів розробки тестового плану, орієнтуватися в етапах тестування програмного забезпечення, – вміти тестувати для досягнення необхідних характеристик, тестування різними рівнями та видами програмного продукту, ознайомитись із формалізмом в організації тестування та опанувати автоматизацією тестування. Вміти: розробляти план тестування; розробляти тестові випадки та звіти про помилки; розробляти автоматизоване тестування; тестування різними рівнями та видами програмного продукту, ознайомитись із формалізмом в організації тестування; розробляти експертне оцінювання якості програмного забезпечення.
Зв'язок з ринком праці
Спеціальність/професія, підготовці до діяльності в якій читається курс:
Тестувальник ПЗПосилання на вакансії (понад 3),
- https://jobs.dou.ua/companies/zagrava-games-by-playrix/vacancies/261764/
- https://jobs.dou.ua/companies/genesis-technology-partners/vacancies/265672/
- https://jobs.dou.ua/companies/techtellent/vacancies/261500/
Перелік компетентностей із вказаних як вимоги до вакансії, які набувають студенти, в процесі проходження дисципліни.
- Створення тест-кейсів та чек-листів, Аналіз та оновлення тестової документації, Своєчасне внесення знайдених помилок у баг-трекер
- Тестування існуючого та нового функціоналу; Займатися написанням тестової документації, тест кейсів, чек листів, баг репортів тощо; Вирішення технічних кейсів з командою розробки;
- Review and analysis of requirements and specifications
- Creation of different types test documentation: checklists, test suites,
- Test Plans
Інструменти оцінювання результатів навчання за дисципліною
| Об'єкт оцінювання (знання методів та принципів, практичні навички, командна робота тощо) | Методи контролю (тести, виконання поточних практичних завдань та їх форма: написання коду, створення діаграми Гантта, створення прототипу тощо) | Інструмент оцінювання (доступ до результатів тесту, гостьова лекція, посилання на виконані завдання, посилання на проєкт, присутність на захисті проєктів, доступ до запису захисту тощо) |
| Домашнє завдання (груповий проєкт) | Виконання проєкту: специфікація вимог до програмного забезпечення, план тестування, створення тестових випадків (позитивні та негативні), автоматизоване тестування (навантаження), звіт про помилки, метрики програмного забезпечення, аналіз якості програмного забезпечення методом експертного оцінювання. | Присутність на захисті проєкту, гостьова лекція, доступ до оформлення проєкту |
| Лабораторні роботи | Захист звіту відповідно до завдання | Доступ до результатів захисту |
| Модульні контрольні роботи | Письмова робота | Доступ до результатів письмової роботи |
