ChatGPT та Manual QA — розбір можливостей, що допомагають у повсякденних задачах

💡 Усі статті, обговорення, новини про тестування — в одному місці. Приєднуйтесь до QA спільноти!

Привіт, мене звати Артур і я працюю на позиції QA у компанії Playtech, а у вільний час також викладаю тестування та маю більше ніж 500 студентів-випускників. Стаття бере своє коріння з кейсів, коли ми зі студентами розглядали виконані домашні завдання та поставало досить логічне з точки зори людської ліні питання: «Чи зможе чат зробити за мене домашнє завдання?». Спойлер — так, але є нюанси 🙂

На цьому фоні поставимо декілька питань про можливості AI-алгоритму:

  • Чи впорається чат з низкою робочих задач Manual QA?
  • Написати чекліст із гарно побудованими сценаріями?
  • Як щодо аналізу вимог і трансформації у тестові сценарії для подальшого тестування?
  • Поради щодо оцінки та врахування ризиків у знайдених дефектах?
  • Покращення процесів QA? Чи під силу такі задачі чату?

Стаття буде корисною саме мануальним тестувальникам, які бажають винести частину інформації на обробку ChatGPT або покращити свої навички та підходи до виконання операційних задач.

Зауважу, що матеріал не покриває такі окремі області, як API, автоматизація чи SQL-ін’єкції, але може бути корисним тим, хто до цього використовував чат періодично та без системної прив’язки до потреб проєкту. Сподіваюсь, що на розглянутих прикладах ви зможете провести паралелі з своїми робочими задачами та розширити область використання АІ-помічника для себе.

Що можна віддати ChatGPT з роботи тестувальника

Виділимо основні напрямки роботи будь-якого тестувальника на середньостатистичному проєкті. Зони відповідальності можна умовно поділити на такі пункти:

  • Безпосередньо проведення тестування.
  • Написання тестової документації та її оновлення.
  • Звітність про проведене тестування.
  • Покращення процесів QA.

Нагадую, що тестування API, написання запитів до бази даних або код сніпетів для автоматизації як частина задач не потрапила у цей огляд, тому що можливості ChatGPT в цьому напрямі об’ємні і заслуговують ще на одну окрему статтю.

Також поза зоною уваги залишаються наступні супутні процеси:

  • Мітинги та комунікація.
  • Планування та оцінка часу виконання задач.
  • Ретроспектива.

На початку нашого огляду згадаймо часи, коли в універсальному наборі тестувальника Web-проєкту були і досі є корисні розширення для браузеру для полегшення різних видів тестування на зразок Font Ninja, BugMagnet, CheckMyLinks тощо. Такі помічники можна вважати першим етапом винесення рутинних задач назовні.

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

Пройдімося по розділах, які ми виділили як основні серед задач Manual QA і опишемо потенційні результати, які вдалося отримати після спілкування з чатом.

Безпосередньо проведення тестування

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

Розділ «Register User» містить всі необхідні деталі. Починаючи спілкування з ChatGPT, ми сформували запит на визначення тестових значень та умов. Після того, як поділилися шматком документації — тестові сценарії було сформовано. Історію чату повність можна перечитати за посиланням.

Тепер пройдемось по зауваженнях: ChatGPT пропустив тестування рівнів доступу, але після підказки видав своє бачення того, як можливо покрити тестами цю умову. Також після подібного спілкування можемо зробити висновок, що на результативність можуть суттєво вплинути наступні чинники:

  • Чи описані повністю умови та важливі деталі?
  • Чи не були присутні граматичні/ орфографічні помилки під час запиту?
  • Чи надавались додаткові деталі у повному обсязі, якщо ChatGPT ставив питання від себе?

Загалом оцінити результативність можемо на 8 з 10 балів, тому що частина так званих «edge» кейсів залишається поза зоною уваги ChatGPT і з цим все одно доведеться працювати самостійно, але як непоганий обробник великих масивів вимог він вже себе зарекомендував.

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

Переходимо до тестової документації

Якщо на вашому проєкті організовано сценарний підхід до тестування, то в наступних абзацах ми розглянемо, чи добре ChatGPT впорається із написанням чеклістів і тест-кейсів.

Тренуватися будемо на прикладі сайту, що надає прогнози погоди.

ChatGPT після уточнень видав чималий чекліст, що дозволить зробити досить повноцінну перевірку дієздатності сайту. Тим більше, що ми можемо довше часу приділити безпосередньо виконанню тестів, адже аналітична робота вже проведена.

Історію чату можна подивитись тут.

Як кінцевий результат маємо гарно сформований чекліст для тестування. Ось його частина:

Декілька зауважень: ChatGPT продублював той самий набір сценаріїв, коли було сформовано запит саме на функціональні тести. Після точнішого запиту щодо саме тестових значень він надає конкретні міста та умови, щоправда, трактує Kyiv та Kiev як similar names.

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

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

Звітність про проведене тестування

Після проведення тестування варто проаналізувати та узагальнити результати, щоб легше було звітувати менеджменту чи зовнішнім командам, які очікують результатів. Також деякі компанії мають практику звітування за узгодженою формою і на постійній основі.

Погляньмо на те, як ChatGPT допоможе нам з цим. Наш запит виглядає наступним чином:

«Hello. I was testing a website and found 26 defects in total. How can I evaluate them and maybe categorize to report about the results?»

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

Корисні зауваження: звісно, чат не зможе врахувати специфіки дефектів, які освітлюються у звіті чи консолідованій таблиці. Але будь-яка людина, яка працює на проєкті тривалий час, здатна взяти до уваги контекст та проблематику для точнішого опису.

Додатково попросимо чат сгенерувати нам шаблон звіту про проведене тестування (Test Summary Report).

Як результат маємо досить змістовний шаблон, що розкладений на розділи, які ми вже за потреби можемо підбирати під специфіку звітування та проєкту загалом.

На цей раз чат нам навіть додатково повідомляє, що наданий шаблон — орієнтовний, і ми можемо змінювати кількість розділів.

Не менш важливою є порада щодо повноти деталей, підкріплення звіту доказами та рекомендаціями. Лінк на листування із чатом тут.

Покращення процесів QA

Уявімо, що вся операційна робота зроблена і знайшлася хвилинка, щоб подумати над тим, чи дійсно ми як Quality Assurance намагаємось думати превентивно та не допускати появи дефектів у майбутньому.

Для цього варто оцінити ризики та їх вплив на кількість і серйозність дефектів, що вже знайдені.

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

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

Висновок

Підсумуємо. Ми розглянули можливості ChatGPT у полі повсякденного життя мануального тестувальника та можемо точно сказати: використовувати такий інструмент як допоміжний варто, але завжди враховуючи контекст застосування.

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

Але варто зазначити «для протоколу», що деякі великі компанії та корпорації на юридичному рівні вже заборонили користуватись чатом для виконання робочих задач, тому, звісно, врахувати політику компанії також необхідно.

👍ПодобаєтьсяСподобалось21
До обраногоВ обраному10
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Враховуйте, що ChatGPT може дуже впевнено вам розповісти неправдиві дані. Наприклад, запитайте у нього «Does Groovy have operator ’is’?».

Гарна стаття. Єдине, що «безпосередньо проведення тестування» я би розділив на аналіз, дизайн, імплементацію. Ви описали безпосередньо дизайн. Можна було б ще долучити ChatGPT до аналізу і тестування безпосередньо вимог.

Компании запрещают в чатджпт код копировать. Знаю на личных примерах такие кейсы. Касаемо куа — он неплохо пишет основу для тест кейсов, которые потом можно руками допилить. Всякую документацию частично тоже, что безусловно ускоряет работу.

«...

великі компанії та корпорації на юридичному рівні вже заборонили користуватись чатом

» і, правильно зробили.
Не спеціаліст у тестуванні але, на інтуїтивному рівні, така заборона виправдана з тієї точки зору що застосування чату блокує розвиток самого користувача. Мова йде, навіть, не про професійний а, загальний, інтелектуальний розвиток. Тут, мабуть, у мене почнуть цілитись квашеними помідорами та тухлими яйцями хоча, спочатку, нагадаю снайперам про поведінку народу у перші години та дні війни. Я звернув увагу що переважна більшість людей, одразу кинулись до своїх смартфонів і т.п. гаджетів. Чому? А, з тією ж задачею що і для ChatGPT — порадь щось, мені, безпорадному. Як, на мене, це неприпустима поведінка для Homo sapiens і яку можна охарактеризувати як цілковиту залежність чогось. Причім, така залежність, нічим не виправдана.
Ради справедливості зауважу що я ні в якій мірі не проти смартфонів, ChatGPT і т.п. Але, користуватись ними, необхідно відповідально. На жаль, якраз, почуття відповідальності переважній масі гомосапієнсів, явно не притаманне. ІМХО

Як, на мене, це неприпустима поведінка для Homo sapiens

Кажуть, що навпаки. Наш мозок намагається робити якомога найменьше роботи та при цьому отримувати найбільший гешефет. Тобто все логічно

Обгрунтування і висновок вірні. Для фізичних систем. По великому рахунку, мозок людини, власне, теж є такою системою. Всі вони, завжди стремляться перейти у вигідний енергетичний стан з мінімумом енергії з максимумом «гешефту». Вроді все як Ви сказали. Але, тут є пара нюансів: (І) увес «гешефт» заключається у набутті спокою і (або) балансу та (ІІ) все це притаманно існуванню неживої матері. На відміну від цього, життя — це, перш за все, рух і розбалансованість. Справедливості ради, потрібно сказати що деякі люди теж можуть перебувати у цілковитому спокої і збалансованості. Зачасти — все життя. Їх називають сомнабули.
Я би не хотів, щоб мої діти, скористались Вашою логікю. А Ви?

Смартфони дарували людям надприродні здібності. Наприклад, ви стали в курсі подій, які відбуваються навкруги майже у реальному часі. А як їм треба було поводитись в перші дні? Прикладати вуха до землі, щоб почути танки? Взявши смартфони люди сіли в свої машини, і поїхали у місця, в яких вони ніколи до того не були, за сотні і тисячі кілометрів і точно знали, куди їдуть. Їм не треба було орієнтуватись по зорях і сонцю.
Тільки за, щоб мої діти використовували смартфон (і всі нові гаджети) ще більше і ефективніше ніж я.
ChatGPT — це просто новий інструмент в нашому арсеналі, який дозволяє нам приймати рішення швидше або з урахуванням такого об’єму інформації, який ми фізично не змогли б обробити (у відведений час). Здебільшого компанії забороняють використовувати LLM, оскільки побоюються за NDA, і не хочуть тренувати чужі моделі за рахунок власних даних. І ті ж самі компанії вкладають кошти в розробку власних LLM.

Підписатись на коментарі