Математика для MilTech з нуля
Кути, вектори, матриці, похідна, інтеграл і шум вимірювань — саме та математика, на яку спираються курси MilTech.
MilTech · за підпискою
Тестуйте прошивку так, щоб тестам можна було вірити
Отримати доступ до курсу
Курс за підпискою · Навчання у власному темпі
Про курс
У вбудованих системах помилка не закінчується червоним екраном: робот не зупиняється, дрон не повертається, контролер моторів відповідає «OK» на команду, яку мав відхилити. Тому QA-інженер (QA — quality assurance, забезпечення якості) у цій галузі — не той, хто «клацає», а той, хто будує перевірки: таблиці тест-кейсів з вимог, автоматичні прогони на стенді, аналіз логів і історії CI (сервера, що проганяє тести на кожну зміну коду). І головне — уміє довести, що його тести справді ловлять помилки.
Наскрізний сценарій курсу — ви тест-інженер у команді, що робить цивільного дрона-картографа і наземного робота-інспектора. Під тестом — монітор батареї, класифікатор GPS, парсер телеметричних кадрів, плата контролера моторів із серійними командами і менеджер режимів віртуального політного контролера. Усе працює в симуляції прямо в браузері.
Аудиторія
QA-інженер, що переходить в embedded
Тест-кейси з вимог, стенди HIL, моки пристроїв і мутаційне тестування, що доводить: тести ловлять помилки.
Python-розробник без досвіду QA
Тест-кейси, мутанти, HIL і моки пояснюються з нуля; у трьох задачах — невеликий код на C++.
Шлях «QA-інженер у MilTech»
Тестування прошивки, парсера протоколу і менеджера режимів у симуляції.
Курс спирається на знання, позначені нижче як обов’язкові.
Потрібно знати
Python на рівні безкоштовного курсу «Основи програмування на Python» (функції, рядки, списки, словники, множини, sorted з ключем, класи).
Бажано знати
C++ на рівні «Основи програмування на C++» (вектори, рядки, структури) — у трьох задачах ви пишете невеликий C++-код, зокрема мок пристрою з std::string.
Не потрібно знати заздалегідь
Досвід QA, електроніка чи власна плата — тест-кейси, мутанти, стенди HIL і моки пояснюються в курсі з нуля, починаючи з першого уроку.
Якщо цих знань ще немає — пройдіть курси за порядком:
Результат
писати тест-кейси з вимог: класи еквівалентності, граничні значення, комбінації умов
оцінювати якість набору тестів мутаційним аналізом — у Python і в C++ (мутаційні схеми)
тестувати парсер протоколу, зокрема систематичним спотворенням кадрів
автоматично перевіряти логи телеметрії і вимірювання зі стенда HIL (hardware-in-the-loop: справжня плата, а датчики й мотори навколо неї імітує стенд)
автоматизувати тест-процедуру для пристрою з серійними командами і писати його мок
ловити регресії порівнянням логів, відрізняти нестабільні тести від справжніх поломок
зводити збій до мінімального відтворення, групувати креші, писати якісні баг-репорти
будувати матрицю трасування вимог і аналіз впливу змін
покривати скінченний автомат режимів — переходами, забороненими подіями і таймерами
Формат
14 модулів: коротка теорія з прикладом, дві задачі з автоматичною перевіркою, тести і практичні форми-рішення. Задачі трьох видів: написати з нуля, знайти помилку, розширити робочий код. Мова — Python, у трьох задачах — C++.
15 уроків з прикладами
30+ завдань з автоматичною перевіркою
5 тестів для самоперевірки
Онлайн на my.prog.academy, без встановлення програм
У багатьох задачах ви пишете не програму, а список тест-кейсів. Незмінний стенд спершу проганяє ваш список на еталонній реалізації (усі кейси мають пройти — інакше помилка у вашому очікуванні), а потім на мутантах: копіях коду з однією навмисною помилкою — зсунутим порогом, переставленою умовою, забутою гілкою. Мутант «вбито», якщо хоч один ваш кейс на ньому падає. Приховані тести обирають інші набори мутантів, тож список, підігнаний під приклад, не пройде — треба тестувати за вимогами.
AI-помічник
На сторінках курсу, уроків і завдань є кнопка «Запитати AI». Помічник знає матеріали саме цього курсу й урок, на якому ви зараз, тому відповідає по темі й показує, у яких уроках про це йдеться.
Не зрозуміли урок з першого разу — попросіть пояснити простіше або дати ще один приклад.
Застрягли — підкаже, з чого почати, і допоможе знайти помилку у вашому рішенні. Готового рішення не дає.
Запитайте, де пояснювали поняття, — і отримаєте посилання на потрібні уроки курсу.
Уточнюйте без повторів: помічник пам’ятає розмову, а нещодавні розмови курсу зберігаються.
Входить у кожен тариф оплаченої підписки — Basic і Premium. У Premium ліміти використання AI-помічника вищі — ним можна користуватися активніше. Це помічник у навчанні, а не генератор готових відповідей: він пояснює й підказує, а завдання ви розв’язуєте самі.
Програма
14 модулів, 30+ практичних завдань з автоматичною перевіркою і 5 тестів. Відкрийте модуль, щоб побачити всі теми.
Що таке тест-кейс, звідки береться очікуваний результат і як таблицю кейсів перетворити на автоматичний прогін
Як із діапазону датчика отримати мінімальний набір значень, що ловить більшість помилок
Мутанти, вбиті й живі; стенд, що проганяє ваш список кейсів на еталоні і на мутантах
Оцінка, живі й еквівалентні мутанти, мінімальний набір тестів; як мутують прошивку на C++
Кейси для кожного статусу й поля, фікстури замість ручних контрольних сум, систематичне спотворення кадрів
Вимоги до логу як перевірки: монотонний час, пропуски, діапазони, допустимі значення; швидкості з нерівними інтервалами
MIL, SIL, HIL; затримки команд і перцентилі; допуски вимірювань в обидва боки
Тест-процедура як дані, одна сесія на всю процедуру, мок пристрою на C++ за специфікацією протоколу
Еталонний прогін проти нового: послідовність подій з допуском часу, маски для мінливих полів
Нестабільний тест чи справжня поломка; частота перемикань і карантин
Мінімальне відтворення автоматично, групування крешів за сигнатурою, звіт, з яким можна працювати
Матриця вимоги × тести, непокриті вимоги й тести-сироти, аналіз впливу змін
Покриття переходів, заборонені події (sneak paths) і мутаційний набір для таблиці режимів
Та сама специфікація в прошивці на C++ і нова версія менеджера з рівнем заряду й таймером втрати зв'язку
Стек
Код пишете й запускаєте в браузері на платформі — встановлювати нічого не потрібно.
Застосування
Доступ
Заповніть коротку форму на цій сторінці.
Після заявки оберіть Telegram або Viber — бот надішле подальші інструкції щодо доступу.
Уроки, практика й тести — на my.prog.academy, у зручному для вас темпі.
Контакт
Залиште контакти — надішлемо деталі доступу до курсу «QA для embedded і MilTech».
Кути, вектори, матриці, похідна, інтеграл і шум вимірювань — саме та математика, на яку спираються курси MilTech.
Як довести, що автономний робот поводиться безпечно: сценарії, інваріанти, інжекція відмов і статистика прогонів.
Карта індустрії оборонних технологій: сегменти, стек, ролі й вакансії — і як обрати свій навчальний шлях.
Залиште запитання — підкажемо, чи підходить вам курс і з чого краще почати.