Download as pdf or txt
Download as pdf or txt
You are on page 1of 16

Дисципліна: “Математичні методи та технології

тестування і верифікації програмного


забезпечення”

Лекція вступна
«Вступ до спеціальності
Quality Assurance engineer»
Лектор: доцент, к.т.н. Нарєжній Олексій Павлович

2024
Інформація про дисципліну
• ЕКТС 4 (Всього) = 120 г.
• Лекції = 32 г.
• Лабораторні роботи (15 ЛР) = 32 г.
• Сам. робота = 56 г.
Методика оцінювання
• 60 балів – семестр (лабораторні роботи (0-4 балів) +
курсова робота (0-12 балів)).
• 40 балів – іспит письмовий.
• Штрафні бали: -2 – відсутність на занятті без
поважних причин.
Умова допуску до складання іспиту з дисципліни
Здано: не менше 10 ЛР + Курсова робота.
Інформація про дисципліну
Метою навчальної дисципліни є засвоєння основних
понять та визначень з галузі тестування, критеріїв вибору
тестів, огляд різновидів тестування, аналіз особливостей
процесу й технології індустріального тестування, придбання
навичок застосування сучасних інформаційних технологій
для аналізу та тестуванню інформаційних систем, створення
звітної тестової документації. Предметом вивчення
навчальної дисципліни є сучасні методи та технології
тестування та керування якістю програмного забезпечення
(ПЗ). Отриманні, в межах цього напрямку, теоретичні знання
та практичні навички гармонічно поєднують в собі сучасні
здобутки та погляди за окресленою проблематикою.
Інформація про дисципліну
Основні завдання вивчення дисципліни
• Основними завданнями вивчення є теоретична та
практична підготовка майбутніх фахівців з таких питань,
як термінологія та визначення з галузі тестування, фази й
технологія тестування, основні проблеми і завдання
тестування; структурні, функціональні, стохастичні,
мутаційний критерії вибору тестів, оцінки покриття
проекту.
• Необхідні попередні знання: передбачається, що для
сприйняття матеріалу курсу необхідно знати мову
програмування JAVA і бути знайомим з основами
розробки програмних систем. Бажано мати уявлення про
модульний і об'єктно-орієнтований підходи, покрокову
деталізацію і колективну розробку програмного
забезпечення.
Інформація про дисципліну
Згідно з вимогами освітньої програми студенти набувають
таких компетентностей, як
• здатність використовувати основні поняття, принципи та
методи технологій тестування програмних продуктів (ПП);
• здатність використовувати стандарти якості при створенні
ПП та розробляти технології забезпечення якості
програмного забезпечення;
• здатність обирати критерії вибору тестів та
використовувати модульне, інтеграційне, системне,
регресійне тестування;
• здатність здійснювати планування тестування, розробку
тестових сценаріїв та процедур, аналізувати особливості
розробки й генерації тестів, здійснювати автоматизацію
тестового циклу та здійснювати документування
тестування, використовувати огляди й метрики.
Інформація про дисципліну
За результатами вивчення дисципліни студенти повинні
ЗНАТИ:
• модульне, інтеграційне, системне, регресійне тестування,
автоматизація тестування, витрати тестування;
• планування тестування, підходи до розробки тестів,
особливості ручної розробки й генерації тестів,
автоматизація тестового циклу;
• документування тестування, огляди й метрики, аналіз
методів відбору тестів, оцінка їх ефективності;
• принципи побудови сучасних ПП;
• основи запобігання несанкціонованого витоку даних з
програмного забезпечення (ПЗ).
Інформація про дисципліну
ВМІТИ:
• використовувати стандарти якості при створенні ПП та
розробляти технології забезпечення якості ПЗ, обирати
критерії вибору тестів;
• використовувати модульне, інтеграційне, системне,
регресійне тестування та здійснювати планування
тестування, розробку тестових сценаріїв та процедур,
аналізувати особливості розробки й генерації тестів;
• здійснювати документування тестування, використовувати
огляди й метрики та орієнтуватися в специфіки
функціонування сучасних ПЗ;
• обґрунтовувати вимоги щодо основних характеристик
перспективних ПЗ та виявляти потенційні вразливості ПЗ
різного призначення;
• планувати стратегію організації комплексного тестування ПЗ.
Теми лабораторних занять

з/п Назва теми

1 Вивчення систем контролю версії на прикладі Git.

Вивчення та дослідження існуючих технологій та інструментів для тестування


2
програмного забезпечення.

3 Мовні запити до HTML (hyper text markup language)

Вивчення технології автоматизованого тестування запису і відтворення (Record and


4
playback) на прикладі використання інтегрованої середи розробки Selenium IDEE.

5 Модульне тестування (unit testing) з використанням фреймворку JUnit.

6 Фреймворк для логування log4j.

7 Тестування web-додатків з використанням інструменту Selenium WebDriver

8 Шаблон проектування Page Object.


Теми лабораторних занять
9 Selenium Grid – інструмент для паралельного запуску тестів.

Технологія BDD (behavior driven development) на прикладі бібліотеки Serenity


10
BDD.

11 Клас Java Servlet.

Покриття коментаріями коду програмного забезпечення Doxugen, побудова


12
діаграм коду з використанням Graphviz.

Тестування API (Application programming interface) за допомогою існуючих


13
інструментів.

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


14
інструменту Jmeter.

15 Знайомство з баг трекінговими системами. Робота з Jira.


Список основної літератури:
1. R. Chopra. Software Testing: A Self-Teaching
Introduction, MERCURY LEARNING AND INFORMATION.
Dulles, Virginia. Boston, Massachusetts. New Delhi, 2014,
674 р.
2. Certified Tester Foundation Level (CTFL) Syllabus, 27-
April-2018, Candidate general release version ISTQB, 2021,
93 р.
3. Standard Glossary of Terms used in Software Testing,
Version 3.2, Foundation 2018 - Release Candidate Terms
ISTQB, 2018, 29 р.
4. Burnstein I. Practical Software Testing. A process-
oriented approach. Springer-Verlag, New York, 2003, - 732 p.
Посилання на інформаційні
ресурси в Інтернеті:
1. International Software Testing Qualifications Board
https://www.istqb.org/
2. Certified Tester Foundation Level (CTFL)
https://www.istqb.org/certifications/certified-tester-
foundation-level
За навчальною дисципліною розробляється (можна
приєднатися до команди розробників): Тестування
безпеки WEB-сайтів, що видають випадкові
послідовності з квантових генераторів випадкових
чисел (QRNG) на апаратно-програмному комплексі
QRNG.
Основними міжнародними стандартами, що
регламентують питання якості ПЗ та їх оцінки, є такі серії
стандартів:
• ISO/IEC 9126–1–4:2001–2004 Software engineering —
Product quality was an international standard for
the evaluation of software quality. It has been replaced
by ISO/IEC 25010:2011;
• ДСТУ ISO/IEC 14598–1–6:2005 Інформаційні технології.
Оцінювання програмного продукту.
• ДСТУ ISO/IEC 25010:2016 Інженерія систем і програмних
засобів. Вимоги до якості систем і програмних засобів та
її оцінювання (SQuaRE). Моделі якості системи та
програмних засобів
В даний час розроблено серію стандартів ISO/IEC 250ХХ:
Стандарти цієї серії покликані замінити дві вищеназвані
серії стандартів.
Апаратно-програмний комплекс

Рисунок 1 – Схема апаратно-програмного комплекса QRNG


Апаратно-програмний комплекс

Рисунок 2 – Приклад сайту з QRNG


Апаратно-програмний комплекс

Рисунок 3 – Приклади перехоплення HTTP пакетів


Дякую за увагу!

You might also like