Тестування ПЗ (50 годин)
Програма курсу:
Заняття 1. Вступ до основ тестування ПЗ
- Що таке тестування програмного забезпечення.
- Мета і завдання тестування ПО.
- Історія тестування ПЗ.
- Що таке якість ПЗ.
- Контроль якості та гарантія якості (QC & QA).
- Роль тестування у системі якості.
- Методи контролю якості «Verification» та «Validation».
- Хто такий тестувальник ПЗ.
- Необхідні навички тестувальника ПЗ.
Заняття 2. Основи проєкту, учасники проєктної команди
- Що таке проєкт.
- Характеристики Проєкту.
- Життєвий цикл розробки ПЗ (SDLC).
- Учасники проєктної команди та їх ролі.
- Завдання кожного учасника проєктної команди.
- Взаємодія у команді проєкту.
- Проєктна документація.
- Що таке Project Plan.
Заняття 3. Моделі розробки ПЗ і місце тестування в процесі
- Опис Водоспадної моделі розробки ПЗ.
- Опис V-подібної моделі розробки ПЗ.
- Опис Ітеративної моделі розробки ПЗ.
- Опис Agile моделі розробки ПЗ.
- Manifesto for Agile
- 12 принципів Agile розробки.
- Framework SCRUM.
- Артефакти:
- Product Backlog, Sprint Backlog, Increment.
- Команда:
- The Product Owner, The Development Team, The Scrum Master.
- Заходи:
- The Sprint, Sprint Planning, Daily Scrum, Sprint Review, Sprint
- Retrospective.
- Діаграма згоряння (burn down chart).
- Сторі Пойнт (Story Point).
- Покер планування (Poker planning).
- Scrum дошка (Scrum board).
Заняття 4. Практика — SCRUM
- Командна робота.
- Написання User story.
- Створення Product Backlog.
- Створення Sprint Backlog на основі Product Backlog.
- Оцінка та планування Sprint Backlog:
- Пошук Story point.
- Проведення Planning poker.
- Проведення Daily Scrum:
- Робота з Scrum Board.
- Проведення Sprint Retrospective.
Заняття 5. Рівні тестування
- Модульне тестування.
- Інтеграційне тестування:
- Рівні інтеграційного тестування:
- Компонентний інтеграційний рівень.
- Системний інтеграційний рівень.
- Підходи до інтеграційного тестування:
- Bottom Up Integration.
- Top Down Integration.
- Big Bang Integration.
- Системне тестування.
- Приймальне тестування.
Заняття 6. Види тестування
- За запуском коду на виконання:
- Статичне.
- Динамічне.
- За доступом до коду та архітектури додатка.
- Black box.
- White box.
- Gray box.
- За рівнем деталізації додатка.
- Модульне (Unit).
- Інтеграційне (Integration).
- Системне (System).
- За ступенем автоматизації.
- Ручне (Manual).
- Автоматизоване (Automation).
- За принципами роботи з додатком.
- Позитивне та негативне.
- За ступенем важливості тестованих функцій.
- Димове (Smoke).
- Критичний тест (Critical path test).
- За цілями та завданнями:
- Функціональне.
- Нефункціональне.
Заняття 7. Аналіз вимог/Практика
- Що таке «Вимога».
- Важливість вимог.
- Як виявляти вимоги:
- Інтерв’ю.
- Фокус групи.
- Анкетування.
- Рівні та типи вимог:
- Бізнес-вимоги.
- Користувацькі вимоги.
- Функціональні та Нефункціональні вимоги.
- Характеристики якісних вимог:
- Повнота (completeness).
- Коректність.
- Несуперечливість.
- Однозначність.
- Тестованість.
- Реалізовуваність.
- Відслідковуваність.
- Методи тестування вимог:
- Взаємний перегляд.
- Написання тест-кейсів.
- Написання чек-листів.
- Прототипування.
- Практика
- Робота у командах.
- Пишемо вимоги.
- Аналізуємо вимоги (крос-чек).
- Виправляємо вимоги.
Заняття 8-9. Управління дефектами/Практика
- Класифікація помилки:
- Error
- Defect
- Failure
- Fault
- Визначення дефекту.
- Життєвий цикл баг-репорту.
- Аналіз, критерії, написання звітів про помилки.
Заняття 9-10. Основи роботи у системі JIRA
- Вивчення інтерфейсу JIRA.
- Вивчення функцій JIRA для:
- Створення баг-репортів.
- Пошуку баг-репортів.
- Фільтрації баг-репортів.
- Написання звітів про помилки у системі JIRA.
- Практика
- Аналіз тренером написаних студентами баг-репортів.
Заняття 10. Техніки Тест Дизайну/Практика
- Класи еквівалентності (Equivalence Class).
- Граничні значення (Boundary Value).
- Метод пар (Pairwise testing).
- Робота з PICT
- Діаграми Станів та переходів (State-Transition Diagrams).
- Таблиці Рішень (Decision Tables).
Заняття 11. Елементи GUI
Заняття 12. Тест планування
- Основи тест планування.
- Тест план та його роль у проєкті.
- Питання, на які відповідає Тест план.
- Стратегія тестування.
- Критерії початку та завершення тестування.
- Віхи тестування (Milestones).
- Ризики тестування.
Заняття 13. Написання тестової документації
- Тест план.
- Тест кейси.
- Чек листи.
- Матриця покриття.
- Баг-репорти.
- Фінальний звіт про тестування (Test Summary Report).
Заняття 14-16. Практика тестування на основі STLC
- Робота у команді.
- Аналіз і тестування вимог.
- Написання баг-репортів на вимоги.
- Написання чек-листа.
- Написання Тест плану.
- Створення тестових-наборів.
- Створення тестових-випадків.
- Створення матриці покриття.
- Проведення тестування:
- Написання баг-репортів.
- Підтримка всіх раніше створених документів.
- Аналіз отриманих результатів.
- Написання Test Summary Report.
Заняття 17. Іспит
Практичний SQL (32 години)
Програма курсу:
Лекція 1. Введення. Основні поняття та визначення
- Що таке SQL і для чого він потрібен.
- SQL – універсальна мова (стандарт).
- Що таке База Даних.
- З чого складається База Даних.
- Таблиці, рядки, стовпці.
- Зв’язки між таблицями на основі ключів.
- Типи даних.
- Як працює доступ і пошук в таблицях на основі індексів.
- Що таке транзакційний механізм.
- Загальний перелік операторів SQL.
- Питання/Практичні завдання.
Лекція 2. Засоби і програми доступу. Навчальна база. Елементарна вибірка даних – оператор SELECT
- Засоби доступу. SQLyog
- Навчальна база: таблиці, зв’язки
- Візуальне представлення бази
- Вибірка даних з таблиць – оператор SELECT
- Псевдоніми таблиць і полів
- Виключення даних, що дублюються DISTINCT
- Додавання критеріїв вибірки WHERE
- Оператори порівняння >, <, =
- Булеві оператори AND, OR, NOT
- Оператори IN, BETWEEN, LIKE, ISNULL
- Оператор CASE
- Питання/Практичні завдання
Лекція 3. Оператор SELECT. Функції
- Перетворення виводу і вбудовані функції
- Числові, символьні і рядкові константи
- Арифметичні операції для перетворення чисел
- Операція конкатенації (об’єднання) рядків
- Функції перетворення символів
- Рядкові функції
- Функції роботи з числами
- Питання/Практичні завдання
Лекція 4. Оператор SELECT. Агрегування
- Функції перетворення значень
- Агрегування та групові функції
- Умовний оператор HAVING
- Упорядкування, сортування полів ORDER BY
- Вкладені підзапити
- Формування пов’язані підзапитів
- Питання/Практичні завдання
Лекція 5. Оператор SELECT. Реляційні відношення
- Використання оператора EXISTS
- Оператори порівняння з безліччю значень IN, ANY, ALL
- Оператор об’єднання UNION
- UNION без дублювання
- UNION разом з ORDER BY
- Зовнішнє об’єднання
- Питання/Практичні завдання
Лекція 6. Оператор SELECT. Зв’язування таблиць — JOIN
- З’єднання таблиць за допомогою оператора JOIN
- Внутрішні об’єднання
- Операції з’єднання таблиць за допомогою цілісності посилальної
- Використання псевдонімів при з’єднання таблиць
- Питання/Практичні завдання
Лекція 7. Маніпулювання даними
- Додавання даних в таблицю INSERT
- Зміна даних таблиці UPDATE
- Видалення даних з таблиці
- Використання підзапитів в INSERT, UPDATE і DELETE
- Питання/Практичні завдання
Лекція 8. Відображення VIEW
- Відображення – Іменовані запити
- Відображення таблиць
- Відображення стовпців
- Маскуючі відображення для стовпців, для рядків
- Агреговані відображення
- Обмеження застосування оператора SELECT у відображеннях
- Зміни та видалення відображень
- Питання/Практичні завдання
Лекція 9. Створення об’єктів Бази Даних
- Створення таблиці
- Використання індексації для швидкого доступу до таблиці
- Зміна існуючої таблиці
- Видалення таблиці
- Додавання обмежень допустимих значень
- Обмеження NOT NULL
- Унікальність як обмеження
- Обмеження первинних ключів
- Складові первинні ключі
- Перевірка значень полів
- Значення за замовчуванням
- Обмеження зовнішнього ключа
- Питання/Практичні завдання
Лекція 10. Управління Базою Даних за допомогою MS SQL Server
- Management Studio Express
- Створення Бази Даних
- Створення користувачів БД і обмеження прав доступу
- Вміст та файлова структура БД
- Реплікація БД
- Відновлення БД
- Копіювання даних з однієї в іншу БД
- Генерація та збереження скрипта БД
- Питання/Практичні завдання
Лекції 11-12 Розбір домашніх завдань і вирішення завдань
Лекція 13 Іспит – атестація з пройденого матеріалу
Усі проведені заняття умовно діляться на 2 частини: теоретичний матеріал, із використанням конкретних прикладів, і практична, де розглядаються окремі випадки застосування мови структурованих запитів.
Основи Unix та мережі (30 годин)
Програма курсу:
Заняття 1. Вступ до UNIX
- Базова платформа для вивчення ідеології та архітектури UNIX;
- Ази розуміння файлової системи та принципів розподілу повноважень.
Заняття 2. Перші кроки в UNIX
- Командний рядок;
- Основні та допоміжні команди;
- Інтерфейс, розрахований на одного або багато користувачів.
Заняття 3. Віддалена робота з UNIX серверами
- Клієнтські додатки для віддаленого доступу. Принципи роботи;
- Протоколи. Безпека.
Заняття 4. “Демони”
- Що це таке;
- Ролі серверів. Їх призначення та застосування на практиці.
Заняття 5. Принципи побудови файлової системи UNIX
- Файлові системи різних UNIX систем. Їх відмінності та Переваги;
- Надійність і відмовостійкість. Безпека на прикладах.
Заняття 6. Системні утиліти та робота з ними
- Основні необхідні системні утиліти;
- Запуск, зупинка;
- Виявлення причин їх непрацездатності та відмов. Практичне застосування системних програм для тестувальника.
Заняття 7. Допоміжне програмне забезпечення та оболонки, в тому числі графічні
- Для чого вони потрібні. Як вони полегшують вирішення завдань. Що потрібно для стабілізації роботи системи.
Заняття 8. Перше встановлення системи
- Базові принципи розмітки та розбивки диска для встановлення системи;
- Встановлення програм. Перший старт. Права;
- Налаштовування інтерфейсів, користувачів, груп.
Заняття 9. Програмне забезпечення для організації різної складності серверів
- Знайомство з поширеним програмним забезпеченням;
- Встановлення. Налаштовування. Обслуговування. Виявлення несправностей;
- Аварійні пуск та перезапуск.
Заняття 10. Причини відмов і непрацездатності серверів та серверного програмного забезпечення
- Які можливі проблеми. Як швидко й ефективно виявляти і усувати їх;
- Що потрібно знати, щоб уникнути простою сервера.
Заняття 11. Стартові сценарії і налаштовування програм
- Як проводиться налаштовування, налагодження та запуск програм;
- Де взяти приклади налаштування. За яким принципом це працює. Що потрібно для того, щоб відчувати себе впевнено у будь-якому середовищі.
Заняття 12. Аліаси
- Навіщо вони потрібні та як з ними працювати.
Заняття 13. Монтування файлових систем
- Які файлові системи можна монтувати;
- Основні принципи та можливості.
Заняття 14. Робота з лог файлами
- Основні принципи організації лог файлів;
- Програмне забезпечення для моніторингу системи і прикладних програм;
- Де зберігаються логи. Що можна дізнатися, прочитавши лог файл.
- Програми для отримання інформації з лог файлів та побудови розгорнутої статистики.
Заняття 15. Практична робота протягом всього курсу
- Робота з операційною системою. Віддалений доступ. Конфігурація програм. Запуск зупинка без перезапуску системи. Налаштування сценаріїв.
- Робота з документацією.
Web-сервери та Web-сервіси (6 годин)
Програма курсу:
Заняття 1. Модель Клієнт-Сервер
- Модель Клієнт-сервер;
- 2-рівнева архітектура моделі Клієнт-сервер;
- Багаторівнева архітектура моделі Клієнт-сервер;
- Тонкий та Товстий клієнти;
- Web-server як Поняття,
- Web-server як спеціальне комп’ютерне обладнання;
- Апаратна складова серверів;
- Програмна складова серверів;
- HTTP протокол;
- HTTP методи;
- Відправка GET запиту серверу та одержання відповіді, аналіз.
Заняття 2. Web-сервіси
- Модель стека TCP/IP;
- DNS;
- Load balancing;
- Reverse Proxy;
- Web-service, якщо по простому;
- Хмарні обчислення;
- Web-сервіси на основі SOAP;
- XML, XSD;
- Практика в SoapUI c Web-сервісом на основі SOAP;
- Web-сервіси на основі REST;
- Основні принципи REST;
- JSON;
- Практика у SoapUI c Web-сервісом на основі REST
Основи навантажувального тестування з JMeter (6 годин)
Програма курсу:
- Перша лекція, теорія:
- Ознайомлення з напрямком в тестуванні – “Навантажувальне тестування”;
- З чого починається тестування навантаження, фактори, які впливають на продуктивність системи;
- Про те, що тестування навантаження – це крок в сторону автоматизації;
- Короткий огляд інструментів, які використовуються для генерації навантаження;
- Види навантажувального тестування – визначення.
- Перша лекція, практика:
- Правильна установка інструменту jMeter;
- Ознайомлення з інтерфейсом інструменту;
- Наповнення тест-плану базовими елементами, які використовуються в більшості сценаріїв;
- Налаштування браузера для запису автоматизоване;
- Розбір отриманих даних;
- Відтворення записаного сценарію і розбір результату.
- Друга лекція, теорія:
- Підготовка до тестування навантаження;
- Профілі користувачів і для чого це потрібно;
- Що таке паралелізм користувачів і паралелізм транзакцій, в чому різниця і для
- чого потрібно пам’ятати про це;
- Що таке масштабованість системи;
- Види навантажувального тестування – візуалізація.
- Друга лекція, практика:
- Наповнення сценарію базовими елементами;
- Створення сценарію руками;
- Використання даних в сценарії взятих з * .CSV документів;
- Використання регулярних виразів для отримання результатів і налаштування сценарію;
- Розгляд слухачів View Results Tree, Summary Report.
Як правильно скласти резюме та пройти співбесіду (6 годин)
Програма курсу:
Частина перша. Написання резюме:
1. Оформлення резюме:
- Фото;
- Об’єм резюме;
- Необхідні блоки резюме;
- Що вказувати в резюме, а про що варто промовчати;
- Мова резюме;
- Правильне використання шрифтів;
- Резюме на сайтах hh.ua, rabota.ua, work.ua та ін.;
- Помилки в резюме (багатослівність, надмірна стислість, плагіат, неадекватність та ін.).
2. Розміщення резюме на онлайн сайтах з пошуку роботи.
Частина друга. Проходження співбесіди:
1. Як підготувати себе до співбесіди:
- Інформаційна підготовка (Що важливо дізнатися ДО)
- Психологічна підготовка
- Технічна підготовка (Одяг, Аксесуари і т.п.)
- Організаційна підготовка
2. Які питання вам будуть ставити із вірогідністю в 90%?
3. Види співбесід
- Звичайна
- Стресова та/або провокативна
- Шпіонаж
- Екзаменаційна
4. Як поводитися на співбесіді?
5. Стандартні запитання, які можуть задавати. Правильні відповіді на стандартні запитання.
6. Нестандартні запитання, які можливо почути і як поводитися, якщо «я не знаю правильну відповідь».
7. “Мова тіла” на співбесіді
8. Етапи співбесід і специфіка на кожному з них. Що потрібно знати на кожному етапі.
9. Важливі “фішки”, які значно збільшать ваші шанси перед конкурентами.
Після проходження курсу «Базовий модуль тестування» проводиться підсумковий іспит. За умови успішної здачі іспиту студенти отримують сертифікати.