Онлайн час в Google Meet
Лого на 91. НЕГ „Проф. Константин Гълъбов“

11. клас · Избираем модул · Урок 35

Мини-проект: тестване и документиране

Тестова таблица вход → очакван → получен с гранични случаи, примерите, които моделът бърка, шаблон за кратка документация и декларация за AI инструменти, и структура на петминутното представяне.

„Работи“ не е доказателство

Миналия час програмата тръгна и имате първо число. Днес превръщате „работи“ в нещо, което може да се провери от човек, който не е в екипа. Това носи 35% от оценката: 25% за тестове и кратка документация с декларация и 10% за честно посочени ограничения. Плюс подготовка на представянето, което носи още 25%.

Тестване

Тест

Един ред в таблица: конкретен вход, очакваният изход (записан преди да пуснете програмата) и полученият изход. Съвпадат — ✓, не — ✗ и кратко защо.

Очакваният изход се записва преди пускането. Иначе таблицата само повтаря каквото програмата е казала и не проверява нищо. Пример за съветник за спорт:

№ | Вход (отговорите)                | Очакван извод   | Получен извод      | ✓/✗
1 | екип=да, навън=да                | футбол          | футбол             | ✓
2 | екип=не, навън=не, музика=да     | танци           | танци              | ✓
3 | екип=не, навън=да, издръжлив=да  | бягане          | бягане             | ✓
4 | всички отговори „не“             | „не мога да реша“ | плуване          | ✗ липсва правило
5 | празен ред вместо „да/не“        | „отговорете с да или не“ | срив      | ✗ няма проверка
6 | „ДА“ с главни букви              | като „да“       | „не мога да реша“  | ✗ сравнение по регистър

Гранични случаи

Граничен случай е вход, който е на ръба на очакваното: празен ред, букви вместо число, най-малката и най-голямата стойност, непозната дума, равенство в играта, снимка при друго осветление. Половината от истинските грешки живеят там — и учителят ще опита точно такива входове на защитата.

ПроектГранични случаи, които трябва да са в таблицата
Съветник, определителнепокрит случай; празен отговор; главни букви; отговор извън „да/не“
Морски шах, Нимзаето поле; ход извън дъската; позиция с равенство; последният ход
Търсене в пъзелначално състояние = целево; пъзел без решение (ако е възможен)
Перцептрон, класификатор по думивход с нула стойности; непознати думи; съобщение от една дума; пример точно на границата
Teachable Machineдруго осветление; друг фон; предмет извън трите класа; нищо пред камерата

За модели: примерите, които бърка

При обучен модел таблицата с тестове е тестовият набор: всеки отделен пример с етикет и с отговора на модела. Точността е броят ✓ върху общия брой. Но по-важната част са ✗-овете: за всеки сгрешен пример — хипотеза защо. Това е суровината за раздела „какво не може“.

№ | Пример (тест)             | Етикет   | Модел    | ✓/✗ | Защо според нас
1 | 155 г, 24 см              | ябълка   | ябълка   | ✓   |
2 | 190 г, 26 см              | ябълка   | портокал | ✗   | голяма ябълка, а в обучението няма над 175 г
3 | 205 г, 27 см              | портокал | портокал | ✓   |
…
Точност: 4 / 5 = 80%

Документиране

Кратка документация: половин до една страница. Не разказ за това как сте работили, а справка за човек, който иска да пусне програмата и да знае какво да очаква.

ДОКУМЕНТАЦИЯ — „<име на проекта>“
Екип: ______________________

1. Задача (едно изречение)
   Програмата получава ____ и връща ____.

2. Как работи (5–8 изречения)
   Къде е елементът на изкуствен интелект: правила / дърво / търсене /
   минимакс / перцептрон / обучен модел. Откъде са данните или правилата,
   колко са, как са разделени на обучаващи и тестови.

3. Как се стартира
   напр. „Отваря се Proekt.sln във Visual Studio, F5, отговаря се на
   въпросите с да/не“ или „връзка към модела в Teachable Machine; натиска
   се Use webcam и се показва предметът“.

4. Резултати
   Числото от тестовата таблица: „11 от 12 теста минават“, „точност 80%
   върху 5 тестови примера“. Първо и последно число, ако има разлика.

5. Какво не може (ограничения)
   Три-четири честни изречения: върху какви входове греши и защо,
   за какво не бива да се използва.

6. Кой какво е правил
   По име: кои части от кода, данните, тестовете, документацията.

7. Източници
   Уроци, от които е взет код; откъде са данните.
СлабоСилно
Как работи„Програмата използва изкуствен интелект, за да препоръча спорт.“„12 правила в масив; първото, чието условие съвпада с отговорите, дава извода и обосновката.“
Резултати„Работи добре.“„10 от 12 теста минават; двата провала са при главни букви и при непокрит случай.“
Ограничения„Може да се използва от всеки.“„Обучен е върху 20 плода от един магазин; големи ябълки над 175 г ги бърка с портокали.“
Принос„Всички работихме по всичко.“„Мария — правилата и зареждането им; Петър — цикълът с въпросите; Ива — тестовете и проверката на входа.“

Декларация за използваните AI инструменти

Шаблонът е от урок 33; днес се попълва и подписва от всички. Декларира се всичко, което е написало текст или код вместо вас: чат асистент, довършване на код във Visual Studio, генератор на текст за документацията.

ДЕКЛАРАЦИЯ ЗА ИЗПОЛЗВАНИТЕ AI ИНСТРУМЕНТИ
Екип: ______________________   Проект: ______________________
1. Инструменти (или „не сме използвали“): ______________________
2. За какво точно: ______________________
3. Кое от предаденото е генерирано и как го проверихме: ______________________
4. Потвърждаваме, че можем да обясним всеки ред от кода.
   Подписи: ____________  ____________  ____________

Подготовка на представянето

Пет минути на екип, следващия час. Структурата е една за всички — така класът знае какво да слуша, а вие знаете какво да подготвите.

ЧастВремеКакво се очакваКой
Задачата30 секкакво влиза, какво излиза, за когоедин
Демонстрация1.5 минпрограмата на живо с 3–4 подготвени входа, включително един граничен и един, на който грешивтори
Как работи1 минкъде е елементът на AI; откъде са правилата или данните; числото от тестовететрети
Ограничения1 миндва случая на провал с хипотеза защо; за какво не бива да се използвакойто и да е
Въпроси1 минот класа и от учителя — отговаря този, чиято е часттавсички
  • Всеки от екипа говори. Който мълчи на представянето, ще бъде питан на въпросите.
  • Входовете за демонстрацията се избират днес и се записват — не се измислят на място.
  • Резерва: екранни снимки на изхода или кратко видео на телефона, ако компютърът в час откаже.
  • Не се показва код на екрана, освен ако някой попита. Показва се какво прави програмата.

Какво трябва да запомниш

  • Тест = вход, очакван изход (записан преди пускането), получен изход, ✓/✗.
  • Граничните случаи — празен вход, букви вместо число, непокрит случай, друго осветление — са задължителна част от таблицата.
  • За модел таблицата е тестовият набор; ✗-овете с хипотеза защо са по-ценни от ✓-овете.
  • Документацията е справка за външен човек: задача, как работи, как се стартира, резултати, какво не може, кой какво е правил.
  • Декларацията се предава винаги, с „как го проверихме“ за всяко генерирано парче.
  • Представянето: задача → демонстрация → как работи → ограничения → въпроси; всеки говори.