Баг «виглядає нормально»: як виявити тихі збої у вашому застосунку на ШІ
Ваш конструктор на ШІ зробив контактну форму. Ви ввели своє ім’я, натиснули «надіслати», побачили дружнє повідомлення про успіх і пішли далі. За тиждень ви згадуєте про сторінку другові, який питає, чи хтось її заповнював. Ви йдете перевірити. Три заявки висять у якомусь стані очікування. Жодна з них так і не дійшла до вашої скриньки.
Це найпоширеніший режим збою для застосунку на ШІ, і це не той, через який більшість людей хвилюється. Баги, що видають червоне повідомлення про помилку, легко знайти — ваш конструктор на ШІ виправить їх за дві хвилини. Небезпечні баги — ті, де екран виглядає нормально, користувач думає, що завершив, а ви не дізнаєтеся про це місяць.
Цей допис — чекліст для виловлювання таких. Не «як тестувати як QA-інженер» — просто п’ять місць, де справжні користувачі обпікаються на застосунку на ШІ, що виглядає робочим.
1. Надішліть щось і перевірте, що воно справді кудись пішло
Коли ваш конструктор робить форму, поставте одне запитання: куди йдуть дані? Не в абстракції — буквально, куди ви можете піти подивитися на них після надсилання?
Напрочуд багато таких форм відправляють у хендлер, що повертає «Дякуємо!», так і не надіславши лист, не зберігши в базу даних і нікого не сповістивши. Форма — ввічливий фасад. Тож:
- Надішліть тестову заявку з фейковим, але очевидним іменем на кшталт «ZZZ ТЕСТ».
- Відкрийте дашборд, базу даних, скриньку, таблицю — туди, куди мають потрапляти заявки.
- Знайдіть там свою заявку «ZZZ ТЕСТ» із правильним часовим штампом.
Якщо ви не можете знайти її менш ніж за хвилину, ваша форма зламана, навіть якщо вона привітала вас з надсиланням. Я бачив, як форма «зв’яжіться з нами» на платному лендінгу збирала нуль лідів три тижні, бо крок із поштою так і не був під’єднаний. Сторінка виглядала бездоганно.
2. Спробуйте шлях, яким ви ніколи не пішли б
Ви знаєте, що робить ваш застосунок, бо спостерігали його побудову. Ви клікаєте кнопки в тому самому порядку щоразу. Справжні користувачі — ні.
Оберіть шлях, що відчувається найдивнішим:
- Клікніть «надіслати» двічі поспіль, швидко.
- Оновіть сторінку посеред якоїсь дії.
- Відкрийте її у приватному вікні без входу.
- Введіть ім’я з апострофом (O’Brien — класичний руйнівник).
- Введіть число в поле, що його просить, але зробіть його від’ємним чи нулем.
Якщо щось ламається видимо, це справжній баг — але принаймні гучний. Версія «виглядає нормально» — це коли другий клік створив дубль запису, і з екрана цього ніяк не зрозуміти. Підіть перевірте базу даних і пошукайте два рядки «ZZZ ТЕСТ» зі штампами часу з різницею в дві секунди. Якщо знайдете їх, формі потрібен захист від дублів.
3. Зачекайте день, потім поверніться
Багато коду, згенерованого ШІ, використовує тимчасову пам’ять, що скидається, коли застосунок передеплоюється чи перезавантажується. Застосунок тримає ваші дані в чомусь, що розробник назвав би «стан у пам’яті», — нормально для демо, жахливо для чогось реального.
Тест жорстокий і простий: введіть якісь дані, закрийте вкладку, зачекайте двадцять чотири години, поверніться. Якщо ваші дані зникли чи переплуталися, сховище несправжнє. Вашому конструктору на ШІ, ймовірно, треба сказати простими словами: «ці дані мають пережити перезапуск сервера». Більшість конструкторів перемкнеться на базу даних, коли попросити; деякі — ні, доки ви не попросите.
Ви можете запустити швидшу версію цього тесту, запитавши свій конструктор у чаті: «де зберігаються дані для цієї форми і чи переживуть вони передеплой?» Якщо відповідь згадує «в пам’яті», «сесії» чи «для цього запуску», ви знайшли баг, перш ніж будь-який користувач.
4. Покажіть це одній людині, що не є вами
Ви знаєте, що означає ваш застосунок. Ви його спроєктували. Ви назвали кнопки. Підписи очевидні вам, бо ви їх написали.
Покажіть його другові, нічого не пояснюючи. Скажіть: «Спробуй зробити X». Дивіться на нього. Не допомагайте. Станеться три речі:
- Він клікне туди, куди ви не очікували, і застосунок зробить щось несподіване.
- Він застрягне на підписі, що здавався очевидним, коли ви його писали.
- Він зробить те, що ви хотіли, але вдвічі менше кроків, ніж ви уявляли, і пропустить екран узагалі — іноді екран, на заповнення якого застосунок розраховував.
Кожне з цього — справжній баг. Жодне з них не видає помилки. Друг скаже: «О, мило», і поверне ноутбук. Ви знатимете, з його обличчя, що він загубився на тридцять секунд у місці, де ви не думали, що є будь-які шви.
5. Прочитайте лист, який він надсилає, на телефоні
Якщо ваш застосунок надсилає листи — підтвердження, скидання паролів, рахунки — відкрийте один на телефоні, а один в іншому поштовому клієнті, ніж той, яким ви зазвичай користуєтеся. Застосунки на ШІ схильні генерувати листи, що виглядають розкішно в Gmail на десктопі й виглядають як перешкоди в Outlook на Android.
Та сама логіка стосується PDF-чеків, завантажуваних експортів і кнопок «поділитися цим посиланням». Те, що йде за межі вашого застосунку, у реальний світ, — найменш тестована частина побудови на ШІ. Це також та частина, яку ваші користувачі бачать найбільше. Знайомий мені засновник випустив красивий процес оформлення замовлення, чек-PDF якого на iPhone був суцільним чорним квадратом. Ніхто не скаржився — вони просто перестали купувати.
Незручна правда про «воно працює»
Коли ви будуєте з конструктором застосунків на ШІ, «воно працює» означає «воно запустилося на моїй машині, у моєму браузері, з моїми точними кліками, того дня, коли я його зібрав». Це набагато менша заява, ніж звучить.
Справжні застосунки працюють, коли:
- Ними користується інша людина.
- Дані тримаються довше за демо.
- Шлях крізь застосунок — той, якого ви не передбачили.
- Вивід читають на пристрої, який ви не тестували.
Вам не треба ставати тестувальником софту, щоб випустити щось хороше. Вам треба лише зробити ці п’ять перевірок один раз, за день до того, як ви комусь скажете, що застосунок існує. Вони займають близько двадцяти хвилин. Вони зловлять дев’ять із десяти тихих багів, що інакше дійшли б до платного користувача.
Якщо у вас є час лише на одну, зробіть першу. Надішліть щось. Знайдіть це з іншого боку. Більшість застосунків на ШІ виглядають нормально. Трюк — переконатися, що вони такими справді є.
Якщо це відгукнулося, наступна річ, яку варто зробити, — сісти з аркушем паперу й записати три речі, на яких ваш застосунок ніколи не має тихо збоїти — форма, лист, платіж, що б то не було ваше, — і пройтися кожною з них перевірками вище. Двадцять хвилин зараз купують вам багато ночей сну потім.