Јединице
1. Увод у вештачку интелигенцију у тестирању софтвера и обезбеђењу квалитета: улоге, границе, ризик од фалсификовања и валидација 2. Тест сценарио и генерисање тест случаја: од захтева до свеобухватне контроле 3. Истраживачко тестирање и генерисање идеја за тестирање: Креативни лов на грешке са вештачком интелигенцијом 4. Аутоматизација УИ теста: генерисање кода за селен, драматург и чемпрес помоћу вештачке интелигенције 5. Аутоматизација АПИ тестова: уговор, шема и свеобухватна валидација са АИ 6. Генерисање јединичних тестова и могућност тестирања: Робусно тестирање са АИ 7. Писање извештаја о грешци и одређивање приоритета: јасни, поновљиви записи са АИ 8. Анализа покривености тестом и тестирање засновано на ризику: Право циљање са АИ 9. Регресионо тестирање, одржавање тестова и борба против осетљивих тестова 10. Тестирање ризика од лажног поверења, квалитета тестова и мутација: тестови тестирања 11. Ток рада од краја до краја, интеграција ЦИ/ЦД, етика и безбедност: одговорно коришћење вештачке интелигенције
Јединица 7 / 11

Писање извештаја о грешци и одређивање приоритета: јасни, поновљиви записи са АИ

Добици:

  • Способност трансформације раштрканих запажања у извештај који садржи јасан наслов, детерминистичке кораке репродукције, очекиване/стварне резултате и доказе уз подршку вештачке интелигенције
  • Бити у стању да вештачкој интелигенцији наметне правило „користи само информације које дајем, не надокнађуј их“ и гарантује поновљивост сопственом контролом
  • Бити у стању да направи разлику између озбиљности (технички утицај) и приоритета (пословна хитност) и да даје коначну ознаку са пословним контекстом

Грешка коју тестер пронађе је вредна само ако је исправљена; Исправљање у великој мери зависи од квалитета извештаја о грешци – записа који документује дефект на начин који програмер може да разуме, репродукује и поправи. Лоше написан извештај о грешци („пријава не ради“) ће сатима одуговлачити програмера, довести до преписке напред-назад и често ће се затворити као „не може да се репродукује“. Добар извештај укључује јасне кораке, очекиване и стварне резултате, информације о контексту и доказе. Вештачка интелигенција (АИ) је веома добра у претварању ваших раштрканих запажања у професионални, структурирани извештај. Али централно упозорење важи и овде: АИ не може да прави кораке које не видите; може да попуни информације које недостају са „разумним” али нетачним претпоставкама. Ваш посао је да се уверите да је сваки ред извештаја заснован на ономе што сте заиста приметили.

Анатомија доброг извештаја о грешци

Ефикасан извештај укључује ове компоненте:

  • Наслов: Кратак, специфичан, претражив. Не „Дошло је до грешке“; „Није могуће кликнути на дугме „Наплата“ са више од 10 артикала у корпи (Цхроме)“.
  • Кораци за репродукцију: Нумерисани, следљиви од нуле, детерминистички. Програмер би требало да буде у могућности да види грешку након што следи ове кораке.
  • Очекивани резултат: Шта је требало да се деси према критеријумима прихватања.
  • Стварни резултат: Шта се догодило (порука о грешци, екран, понашање).
  • Окружење: претраживач/уређај, верзија, окружење (тест/уживо), улога корисника, подаци.
  • Доказ: Снимак екрана, видео запис, евиденција, праћење грешке (траг стека).
  • Озбиљност и приоритет: Детаљно у наставку.
Савет: Пре него што пошаљете извештај, питајте „ако дам ове кораке неком другом, може ли да види грешку без моје помоћи?“ питати. Ако је одговор „не“, извештај је непотпун. АИ може да учини извештај лепим, али само ви можете да гарантујете поновљивост.

Насиље и приоритет: два збркана појма

Озбиљност је технички ефекат грешке: да ли се систем руши, подаци су изгубљени или је у питању штампарска грешка? Приоритет је колико хитно треба да се поправи; ради се о утицају на пословање. То двоје не иду увек у истом правцу: погрешно написано име компаније на почетној страници је ниске озбиљности, али високог приоритета (репутација). У ретком ивичном случају, колапс може бити велике тежине, али ниског приоритета. АИ вам помаже да направите ову разлику када дате запажање; али коначну ознаку дајете ви који познајете пословни контекст.

насиља

пример

приоритет

пример

Критичан (блокатор)

Плаћање се не може завршити

Хитно (П1)

Губитак прихода у животу

високо (главно)

Извештај даје нетачан укупни износ

висока (П2)

Обавезно за предстојеће издање

средњи (мањи)

Грешка ретке ивице случаја

средњи (П3)

У планираном спринту

ниско (тривијално)

Поравнање дугмади је искључено

Ниска (П4)

Кад се укаже прилика

Слаби промпт / Јаки промпт

Слабо: „Пријавите ову грешку: плаћање не ради.“
Снажно: „Преведите моја запажања у наставку у стандардни формат извештаја о грешци: наслов, кораци репродукције (нумерисани), очекивани резултат, стварни резултат, окружење, озбиљност и препорука за приоритет (оправдано). Користите само информације које ја дам; надокнадите поља која недостају, означите „ИНФОРМАЦИЈА НЕДОСТАЈЕ: ...“. Запажања: Цхроме 120, окружење за тестирање, 12 ставки, 12 ставки када се не деси ништа. Грешка „недефинисано није функција“ у конзоли, нема проблема са 11 производа.“

Снажан промпт; намеће формат, правило "прилагођавања" и означавање информација које недостају. На овај начин извештај ће бити и тачан и поштен.

Откривање дуплих грешака

У великим тимовима, иста грешка се пријављује изнова и изнова. АИ може да упореди ваш нови извештај са постојећим отвореним грешкама и означи потенцијалне дупликате — ово одржава ваш систем за праћење грешака (Јира, Азуре ДевОпс, ГитХуб проблеми) чистим. Али пазите: две грешке које изгледају слично на површини могу имати различите узроке; Упоредите поновљене кораке производње и окружење оба извештаја пре него што затворите „дупликат“ предлога вештачке интелигенције. Случајно затвореном „дупликату“ заправо недостаје посебна грешка.

Од праћења грешака до основног узрока: Моћ вештачке интелигенције да чита евиденције

Најтехничкији део извештаја о грешци је често праћење грешака (праћење стека — рашчлањивање тога која линија кода, са којим ланцем позива је покренула грешку). Дуги и сложени дневники могу уморити чак и програмере. АИ чита дневник од стотина редова и сумира у секундама најкритичније редове, хипотезу могућег основног узрока и тачку кода где је грешка покренута. Ово истовремено скраћује извештај и даје програмеру директну полазну тачку.

Ипак, запамтите две границе. Прво, основни узрок који даје АИ је хипотеза, а не доказ; Програмер не би требало да покушава да поправи ово без верификације. Друго, евиденције често садрже личне податке (е-пошта, ИД корисника, токен сесије); Замаскирајте ове области пре него што ставите трупац на возило. Добра пракса је да прво АИ каже „наведе поља која треба да буду маскирана у овом дневнику“, а затим анализира очишћени дневник.

Савет: Уместо да лепите цео дневник у извештај, укључите најкритичнијих 3-5 редова које АИ сумира и везу до целог дневника. На овај начин извештај остаје читљив, а програмер коме су потребни детаљи може приступити целом дневнику.

Четири шаблона за копирање

1) Од посматрања до извештаја:

Ваша улога: виши КА. Преведите следећа необрађена запажања у стандардни извештај о грешци: Наслов / Кораци репродукције (нумерисани) / Очекивани / Стварни / Окружење / Белешка о доказима / Озбиљност + Приоритет (оправдано). ПРАВИЛО: користити само информације које ја дам; означи поље које недостаје као "ИНФОРМАЦИЈЕ НЕДОСТАЈЕ:..." Запажања: [необрађене напомене]

2) Контрола репродуктивности:

Прочитајте овај извештај о грешци из перспективе програмера који никада није видео грешку. Пратите кораке и означите места на којима неће произвести грешку: двосмислен корак, недостајући предуслов, недостају тестни подаци, прескочени услов. Реците ми које информације треба да додам за сваку празнину. Извештај: [налепи извештај]

3) Саветник за озбиљност/приоритет:

Описујем следећу грешку: [грешка + пословни контекст]. Дајте сугестије и образложење одвојено за озбиљност (технички утицај) и приоритет (пословна хитност). Објасните зашто се то двоје може разликовати. Ја ћу донети коначну одлуку.

4) Резиме праћења евиденције/грешке:

Испитајте траг грешке/лог у наставку. Дајте ми резиме (1) хипотезе о основном узроку, (2) вероватне тачке кода где се грешка догодила, (3) 3 најкритичније линије које треба додати извештају. Маскирај ако постоје лични подаци. Дневник: [налепи дневник]

три мини кофера

Случај 1 — Ослобођење од „Нисам могао да произведем“. У једном тиму, 30% грешака је затворено као „не могу да се репродукују“. Шаблон „провера репродуктивности“ је додат процесу извештаја; Пре него што је сваки извештај послат, АИ је означио недостајуће кораке и предуслове. Три месеца касније, стопа „не могу да произведе“ пала је са 30% на 8%. Разлика је била у томе што су кораци били тачни од почетка.

Случај 2 — Опасност од лажних корака. Тестер је дао АИ да напише извештај са непотпуним запажањима; АИ је додао корак који се никада није догодио, као што је „корисник укључује обавештења са странице са подешавањима“. Када је програмер следио тај корак, није могао да пронађе грешку и изгубио је време. Тим је применио правило „користи само информације које дам, не измишљај их“; Измишљени кораци су елиминисани.

Случај 3 — Разлика између озбиљности/приоритета. Дошло је до грешке у куцању у слогану компаније на почетној страници. Тестер би ово пренео као "ниско"; Консултант за вештачку интелигенцију је подсетио да је техничко насиље ниско, али је пословни приоритет висок (елемент репутације који добија сваки посетилац). Грешка је исправљена истог дана са ознаком „висок приоритет“.

Уобичајене грешке

  • Нејасан наслов. Непретраживи, недискриминирајући наслови попут „Не ради“.
  • Недостају/прескочени кораци. Не писати оно што је очигледно у вашем контексту; неуспех програмера да произведе.
  • Пустити АИ да то надокнади. Попунити информације које недостају са „разумном проценом“; погрешни кораци.
  • Не писати очекивани резултат. Рећи "погрешно", али не прецизирати шта је исправно.
  • Бркање насиља и приоритета. Погрешити ово двоје као једну етикету; Погрешна процена утицаја на пословање.
  • Осетљиви подаци у доказима. Дељење стварних личних података у снимцима екрана/дневницима без њиховог маскирања.

Укратко

Вредност извештаја о грешци је у томе што програмер може да репродукује и поправи грешку без ваше помоћи. АИ је веома добар у претварању раштрканих запажања у професионални, структурирани извештај; Он организује наслов, кораке, очекивани/стварни резултат, окружење и доказе и пружа консултације о разликовању између озбиљности и приоритета. Али АИ може надокнадити информације које недостају; Примените правило „користите само информације које дам, означите недостајуће“ и сами гарантујте поновљивост. Маскирајте личне податке као доказ.

Задатак апликације

Узмите грешку коју сте недавно пронашли и претворите своја необрађена запажања у извештај користећи образац „запажања за извештавање“ (са правилом „прилагођавања“). Затим извршите „проверу репродуктивности“ и попуните означене празнине. Дајте извештај колеги и видите да ли може да произведе грешку без ваше помоћи. Коначно, одредите ознаке са „консултантом за насиље/приоритет“ и довршите их по сопственом нахођењу. Узмите у обзир све информације које АИ покушава да надокнади у том процесу.

контролна листа

  • [ ] Мој наслов је специфичан и претражив.
  • [ ] Кораци репродукције су од нуле, детерминистички и потпуни.
  • [ ] Очекиване и стварне резултате сам написао одвојено.
  • [ ] Информације о подешавању и доказима су потпуне; Ја сам маскирао личне податке.
  • [ ] Наметнуо сам АИ правило „надокнади, означи недостајуће“ и сам попунио празнине.
  • [ ] Засебно сам проценио озбиљност и приоритет и донео коначну одлуку.