Prog Academy

MilTech · за підпискою

QA для embedded і MilTech

Тестуйте прошивку так, щоб тестам можна було вірити

  • 14 модулів
  • 30+ практичних завдань
  • Автоматична перевірка
  • Українською

Отримати доступ до курсу

Курс за підпискою · Навчання у власному темпі

Про курс

Що це за курс?

У вбудованих системах помилка не закінчується червоним екраном: робот не зупиняється, дрон не повертається, контролер моторів відповідає «OK» на команду, яку мав відхилити. Тому QA-інженер (QA — quality assurance, забезпечення якості) у цій галузі — не той, хто «клацає», а той, хто будує перевірки: таблиці тест-кейсів з вимог, автоматичні прогони на стенді, аналіз логів і історії CI (сервера, що проганяє тести на кожну зміну коду). І головне — уміє довести, що його тести справді ловлять помилки.

Наскрізний сценарій курсу — ви тест-інженер у команді, що робить цивільного дрона-картографа і наземного робота-інспектора. Під тестом — монітор батареї, класифікатор GPS, парсер телеметричних кадрів, плата контролера моторів із серійними командами і менеджер режимів віртуального політного контролера. Усе працює в симуляції прямо в браузері.

Аудиторія

Для кого цей курс?

  • QA-інженер, що переходить в embedded

    Тест-кейси з вимог, стенди HIL, моки пристроїв і мутаційне тестування, що доводить: тести ловлять помилки.

  • Python-розробник без досвіду QA

    Тест-кейси, мутанти, HIL і моки пояснюються з нуля; у трьох задачах — невеликий код на C++.

  • Шлях «QA-інженер у MilTech»

    Тестування прошивки, парсера протоколу і менеджера режимів у симуляції.

Спершу потрібна підготовка

Курс спирається на знання, позначені нижче як обов’язкові.

Потрібно знати

Не потрібно знати заздалегідь

  • Досвід QA, електроніка чи власна плата — тест-кейси, мутанти, стенди HIL і моки пояснюються в курсі з нуля, починаючи з першого уроку.

Якщо цих знань ще немає — пройдіть курси за порядком:

  1. З нуля
  2. Обов’язково Основи програмування на Python
  3. Бажано Основи програмування на C++
  4. Цей курс QA для embedded і MilTech

Результат

Що ви навчитеся робити

писати тест-кейси з вимог: класи еквівалентності, граничні значення, комбінації умов

оцінювати якість набору тестів мутаційним аналізом — у Python і в C++ (мутаційні схеми)

тестувати парсер протоколу, зокрема систематичним спотворенням кадрів

автоматично перевіряти логи телеметрії і вимірювання зі стенда HIL (hardware-in-the-loop: справжня плата, а датчики й мотори навколо неї імітує стенд)

автоматизувати тест-процедуру для пристрою з серійними командами і писати його мок

ловити регресії порівнянням логів, відрізняти нестабільні тести від справжніх поломок

зводити збій до мінімального відтворення, групувати креші, писати якісні баг-репорти

будувати матрицю трасування вимог і аналіз впливу змін

покривати скінченний автомат режимів — переходами, забороненими подіями і таймерами

Формат

Як влаштоване навчання?

14 модулів: коротка теорія з прикладом, дві задачі з автоматичною перевіркою, тести і практичні форми-рішення. Задачі трьох видів: написати з нуля, знайти помилку, розширити робочий код. Мова — Python, у трьох задачах — C++.

  • Теорія

    15 уроків з прикладами

  • Практика в браузері

    30+ завдань з автоматичною перевіркою

  • Тести

    5 тестів для самоперевірки

  • Власний темп

    Онлайн на my.prog.academy, без встановлення програм

Фірмова механіка курсу — мутаційне тестування

У багатьох задачах ви пишете не програму, а список тест-кейсів. Незмінний стенд спершу проганяє ваш список на еталонній реалізації (усі кейси мають пройти — інакше помилка у вашому очікуванні), а потім на мутантах: копіях коду з однією навмисною помилкою — зсунутим порогом, переставленою умовою, забутою гілкою. Мутант «вбито», якщо хоч один ваш кейс на ньому падає. Приховані тести обирають інші набори мутантів, тож список, підігнаний під приклад, не пройде — треба тестувати за вимогами.

AI-помічник

AI-помічник поруч під час навчання

На сторінках курсу, уроків і завдань є кнопка «Запитати AI». Помічник знає матеріали саме цього курсу й урок, на якому ви зараз, тому відповідає по темі й показує, у яких уроках про це йдеться.

  • Пояснить інакше

    Не зрозуміли урок з першого разу — попросіть пояснити простіше або дати ще один приклад.

  • Допоможе із завданням

    Застрягли — підкаже, з чого почати, і допоможе знайти помилку у вашому рішенні. Готового рішення не дає.

  • Знайде потрібну тему

    Запитайте, де пояснювали поняття, — і отримаєте посилання на потрібні уроки курсу.

  • Продовжить розмову

    Уточнюйте без повторів: помічник пам’ятає розмову, а нещодавні розмови курсу зберігаються.

Входить у кожен тариф оплаченої підписки — Basic і Premium. У Premium ліміти використання AI-помічника вищі — ним можна користуватися активніше. Це помічник у навчанні, а не генератор готових відповідей: він пояснює й підказує, а завдання ви розв’язуєте самі.

Програма

Програма курсу

14 модулів, 30+ практичних завдань з автоматичною перевіркою і 5 тестів. Відкрийте модуль, щоб побачити всі теми.

Модуль 1 — Тест-кейс, оракул і вердикт 2 уроки · 2 практики

Що таке тест-кейс, звідки береться очікуваний результат і як таблицю кейсів перетворити на автоматичний прогін

  • Теорія Вступ: чому прошивку тестують інакше, ніж сайт
  • Теорія Тест-кейс — це вхід, очікування і вердикт
  • Практика Прогін таблиці кейсів вентилятора
  • Практика Знайдіть помилку — прогін, що не бачить збоїв
Модуль 2 — Класи еквівалентності та граничні значення 1 урок · 3 практики

Як із діапазону датчика отримати мінімальний набір значень, що ловить більшість помилок

  • Теорія EP і BVA для діапазонів датчиків
  • Практика Граничні значення для набору датчиків
  • Практика Розширте генератор на кілька смуг
  • Практика Класи і межі лідара
Модуль 3 — Мутаційне тестування: хто перевіряє тести 1 урок · 2 практики · 1 тест

Мутанти, вбиті й живі; стенд, що проганяє ваш список кейсів на еталоні і на мутантах

  • Теорія Мутанти і мутаційна оцінка
  • Практика Кейси для монітора батареї
  • Практика Знайдіть помилку в чужому списку кейсів
  • Тест Тест-кейси, межі і мутанти
Модуль 4 — Матриця вбивств і мутаційні схеми в C++ 1 урок · 2 практики

Оцінка, живі й еквівалентні мутанти, мінімальний набір тестів; як мутують прошивку на C++

  • Теорія Що читати в результатах мутаційного аналізу
  • Практика Розберіть матрицю вбивств
  • Практика Кейси для енкодера на C++
Модуль 5 — Тестуємо парсер протоколу 1 урок · 2 практики

Кейси для кожного статусу й поля, фікстури замість ручних контрольних сум, систематичне спотворення кадрів

  • Теорія Як тестують розбір кадрів
  • Практика Кейси для парсера телеметричних кадрів
  • Практика Скільки спотворень пропускає контрольна сума
Модуль 6 — Автоматичні перевірки телеметричних логів 1 урок · 2 практики

Вимоги до логу як перевірки: монотонний час, пропуски, діапазони, допустимі значення; швидкості з нерівними інтервалами

  • Теорія Лог як доказ виконання вимог
  • Практика Автоматична перевірка вимог до логу
  • Практика Знайдіть помилку — швидкість набору висоти
Модуль 7 — HIL: стенд, вимірювання, допуски 1 урок · 2 практики · 1 тест

MIL, SIL, HIL; затримки команд і перцентилі; допуски вимірювань в обидва боки

  • Теорія Від моделі до заліза
  • Практика Затримки команд на HIL-стенді
  • Практика Знайдіть помилку — допуск фронтів ШІМ
  • Тест HIL і вимірювання
Модуль 8 — Мок-пристрій із серійними командами 1 урок · 2 практики

Тест-процедура як дані, одна сесія на всю процедуру, мок пристрою на C++ за специфікацією протоколу

  • Теорія Автоматизуємо тест-процедуру
  • Практика Автоматизуйте тест-процедуру плати
  • Практика Мок плати на C++
Модуль 9 — Регресія з логів 1 урок · 2 практики

Еталонний прогін проти нового: послідовність подій з допуском часу, маски для мінливих полів

  • Теорія Golden-лог і що в ньому має право змінюватись
  • Практика Перша розбіжність з еталонним прогоном
  • Практика Розширте порівняння — маски мінливих полів
Модуль 10 — Нестабільні (flaky) тести в історії CI 1 урок · 2 практики · 1 тест

Нестабільний тест чи справжня поломка; частота перемикань і карантин

  • Теорія Flaky проти broken
  • Практика Знайдіть помилку — поломки, записані в нестабільні
  • Практика Частота перемикань і карантин
  • Тест Регресія і CI
Модуль 11 — Відтворення збою і якісний баг-репорт 1 урок · 3 практики

Мінімальне відтворення автоматично, групування крешів за сигнатурою, звіт, з яким можна працювати

  • Теорія Від польового звіту до мінімального відтворення
  • Практика Мінімальне відтворення з польового логу
  • Практика Групування крешів за сигнатурою
  • Практика Доведіть баг-репорт до ладу
Модуль 12 — Трасування вимог 1 урок · 3 практики · 1 тест

Матриця вимоги × тести, непокриті вимоги й тести-сироти, аналіз впливу змін

  • Теорія Від вимоги до тесту і назад
  • Практика Матриця трасування
  • Практика Розширте аналіз впливу на ланцюжки залежностей
  • Практика Матриця трасування після нічного прогону
  • Тест Відтворення, звіти і трасування
Модуль 13 — Тестування скінченних автоматів 1 урок · 2 практики

Покриття переходів, заборонені події (sneak paths) і мутаційний набір для таблиці режимів

  • Теорія Автомат режимів і його покриття
  • Практика Покриття переходів набором послідовностей
  • Практика Мутаційний набір для таблиці режимів
Модуль 14 — Фінал: набір тестів для менеджера режимів 1 урок · 2 практики · 1 тест

Та сама специфікація в прошивці на C++ і нова версія менеджера з рівнем заряду й таймером втрати зв'язку

  • Теорія Таймери, пороги і порядок перевірок
  • Практика Набір тестів для прошивки на C++
  • Практика Фінальний набір для менеджера режимів v2
  • Тест Підсумковий тест курсу

Стек

Які технології використовуються?

  • Python
  • C++

Код пишете й запускаєте в браузері на платформі — встановлювати нічого не потрібно.

Застосування

Де застосовуються ці знання?

  1. Тестування прошивок і парсерів протоколів
  2. Автоматизація тест-процедур на стенді
  3. Регресійний аналіз логів і баг-репорти

Доступ

Як отримати доступ?

  1. Залиште заявку

    Заповніть коротку форму на цій сторінці.

  2. Завершіть реєстрацію в боті

    Після заявки оберіть Telegram або Viber — бот надішле подальші інструкції щодо доступу.

  3. Навчайтеся на платформі

    Уроки, практика й тести — на my.prog.academy, у зручному для вас темпі.

Контакт

Почніть навчання на платформі

Залиште контакти — надішлемо деталі доступу до курсу «QA для embedded і MilTech».

Наступні й суміжні курси

Python · NumPy

Математика для MilTech з нуля

Кути, вектори, матриці, похідна, інтеграл і шум вимірювань — саме та математика, на яку спираються курси MilTech.

16 модулів · 55+ практичних завдань

Python

Тестування автономних систем

Як довести, що автономний робот поводиться безпечно: сценарії, інваріанти, інжекція відмов і статистика прогонів.

12 модулів · 25+ практичних завдань

Часті питання про курс

Що це за курс?

«QA для embedded і MilTech» — онлайн-курс за підпискою на навчальній платформі Prog Academy. Тестуйте прошивку так, щоб тестам можна було вірити. У вбудованих системах помилка не закінчується червоним екраном: робот не зупиняється, дрон не повертається, контролер моторів відповідає «OK» на команду, яку мав відхилити. Тому QA-інженер (QA — quality assurance, забезпечення якості) у цій галузі — не той, хто «клацає», а той, хто будує перевірки: таблиці тест-кейсів з вимог, автоматичні прогони на стенді, аналіз логів і історії CI (сервера, що проганяє тести на кожну зміну коду). І головне — уміє довести, що його тести справді ловлять помилки.

Для кого цей курс?

Тестувальникам і розробникам з упевненим базовим Python, які хочуть працювати QA-інженером у вбудованих системах.

Які знання потрібні перед стартом?

Потрібно: Python на рівні безкоштовного курсу «Основи програмування на Python» (функції, рядки, списки, словники, множини, sorted з ключем, класи). Бажано: C++ на рівні «Основи програмування на C++» (вектори, рядки, структури) — у трьох задачах ви пишете невеликий C++-код, зокрема мок пристрою з std::string. Не потрібно: досвід QA, електроніка чи власна плата — тест-кейси, мутанти, стенди HIL і моки пояснюються в курсі з нуля, починаючи з першого уроку.

Які практичні завдання будуть?

14 модулів: коротка теорія з прикладом, дві задачі з автоматичною перевіркою, тести і практичні форми-рішення. Задачі трьох видів: написати з нуля, знайти помилку, розширити робочий код. Мова — Python, у трьох задачах — C++.

Які технології використовуються?

Python, C++. Код пишете й запускаєте прямо в браузері на платформі — встановлювати нічого не потрібно.

Скільки модулів містить курс?

14 модулів: Тест-кейс, оракул і вердикт; Класи еквівалентності та граничні значення; Мутаційне тестування: хто перевіряє тести; Матриця вбивств і мутаційні схеми в C++; Тестуємо парсер протоколу; Автоматичні перевірки телеметричних логів; HIL: стенд, вимірювання, допуски; Мок-пристрій із серійними командами; Регресія з логів; Нестабільні (flaky) тести в історії CI; Відтворення збою і якісний баг-репорт; Трасування вимог; Тестування скінченних автоматів; Фінал: набір тестів для менеджера режимів. Практичних завдань з автоматичною перевіркою — 30+, тестів — 5.

Як отримати доступ?

Залиште заявку на цій сторінці й завершіть реєстрацію в Telegram- або Viber-боті Prog Academy — там ви отримаєте подальші інструкції щодо доступу. Навчання проходить на платформі my.prog.academy у власному темпі.

Чи входить курс у підписку?

Так. Курс входить у підписку на платформі Prog Academy: доступ до всіх курсів за підпискою; ai-помічник з навчання в кожному курсі; усі уроки, домашні завдання та автоматична перевірка; нові курси за підпискою додаються автоматично.

Які сценарії й дані використовуються в курсі?

Усі пристрої, прошивки, логи й збої в курсі вигадані й змодельовані для навчання; вони описують цивільні системи.

Не знайшли відповідь?

Залиште запитання — підкажемо, чи підходить вам курс і з чого краще почати.