Ад 5% да 96% пакрыцця тэстаў за дзень — Дзякуючы AI CoPilot

Ад 5% да 96% пакрыцця тэстаў за дзень — Дзякуючы AI CoPilot...

16 May 2025

5

хв чытання

AI-інавацыі

Adrian Sweeney

Калі я пачынаў гэты праект і ён яшчэ быў невялікай кодавай базай, я ведаў, што юніт-тэсціраванне будзе важным, але як многія распрацоўшчыкі, адклаў яго ў бок пасля стварэння першага набору тэстаў на карысць пабудовы асноўнай функцыянальнасці. Маёй галоўнай мэтай на ранніх этапах было запусціць middleware логіку — сэрца прыкладання — і ўвасобіць у жыццё Мінімальна Жыццяздольны Прадукт (MVP). Гэта азначала прапусціць вялікую частку пакрыцця тэстамі ў імя прагрэсу.

Як толькі MVP запрацаваў, я звярнуў увагу назад да тэсціравання. Глядзячы на праект, я ацаніў прынамсі тыдзень або два напісання тэстаў, у залежнасці ад складанасці кожнага кампанента. Некаторыя былі б простымі. Іншыя — асабліва там, дзе былі задзейнічаны гранічныя выпадкі або складаная логіка разгалінавання — былі б значна больш затратнымі па часе.

У гэты момант я звярнуўся да ШІ. Я выкарыстоўваў "CoPilot" для дапамогі ў напісанні кода і думаў, што ён таксама можа дапамагчы з тэстамі.

Раннія промахі з ШІ

Спачатку я папрасіў ШІ "напісаць юніт-тэсты" без якога-небудзь рэальнага кантэксту ці абмежаванняў. Вынік? Хаос. Тэсты не працавалі, рабілі няправільныя здагадкі пра код, і ўся затэя ператварылася ў цыкл зламанага тэставога кода і расчароўваючых перапісванняў. ШІ згенераваў шмат кода — але не таго тыпу, які я мог бы выкарыстаць без сур'ёзнага рэфакторынгу.

Даванне кірунку ШІ

Прарыў наступіў, калі я змяніў свой падыход. Замест стаўлення да ШІ як да чараўніка, я пачаў выкарыстоўваць яго больш як малодшага распрацоўшчыка. Я даваў яму па адному файлу за раз, тлумачыў намер кода і казаў сканцэнтравацца на напісанні дакладных, функцыянальных тэстаў толькі для гэтага файла.

Гэта змяніла ўсё.

Раптам тэсты сталі лягчэйшымі для ШІ для ўкаранення. Яны былі правільна абмежаваныя, выраўнаваныя з фактычнай логікай і не патрабавалі гадзін наладкі. Мой ШІ працаваў файл за файлам, напісаўшы і запусціўшы тэсты.

Вынікі

Менш чым за дзень пакрыццё тэстамі скочыла з 5% да больш чым 96%.

  • Інструкцыі: 96,72%
  • Галіны: 95,67%
  • Функцыі: 92,1%
  • Радкі: 96,87%

Тэсты, якія займалі б дні для напісання, былі завершаныя за гадзіны, а душэўны спакой, які прыходзіць з амаль поўным пакрыццём тэстамі? Бясцэнны.

Я перайшоў ад аднаго Набору Тэстаў і 5 тэстаў да:

  • 20 Набораў Тэстаў
  • 136 Прайшоўшых тэстаў

Што я даведаўся

  • ШІ — не магія, але гэта неймаверны памочнік. Дайце яму кантэкст, кіруйце ім, і вы атрымаеце выдатныя вынікі.
  • Фокус мае значэнне. Прасіць ШІ "тэставаць усё" прыводзіць да хаосу. Прасіць яго тэставаць гэты файл, гэтую функцыю, гэты выпадак — гэта працуе.
  • Чакайце наладкі — але значна менш, чым напісанне з нуля. ШІ часам робіць памылкі, але агульны працэс значна хутчэйшы, чым працаваць самастойна.

Незалежна ад таго, ці запускаеце вы новы праект або спрабуеце дадаць тэсты ў старэйшы, ШІ можа быць велізарнай эканоміяй часу — калі вы выкарыстоўваеце яго правільна.

Ці выкарыстоўваеце вы ШІ для напісання тэстаў у сваіх праектах? Які ваш досвед?

PrimeCRM

Назад у Цэнтр Ведаў