Мэдээ

Майкрософт код шалгах AI агент "code-testing-generator"-ыг Нээлттэй Эх сурвалжаар гаргалаа: Unit Test автоматаар бичих шинэ стандарт

TOGTOKHTOGTOKH·2026 оны наймдугаар сарын 10·3 үзсэн·
Майкрософт код шалгах AI агент "code-testing-generator"-ыг Нээлттэй Эх сурвалжаар гаргалаа: Unit Test автоматаар бичих шинэ стандарт

Хиймэл оюуны код үүсгэлтийн "Найдвартай байдлын зөрүү" (Trust Gap)

Сүүлийн жилүүдэд AI кодинг ассистантууд програм хөгжүүлэгчдийн өдөр тутмын хэрэглээ болж, код бичих хурдыг асар ихээр нэмэгдүүлсэн билээ. Гэвч хурд нэмэгдэхийн хэрээр нэгэн ноцтой асуудал үүссэн нь "Найдвартай байдлын зөрүү" буюу Trust Gap юм. Судалгаагаар хөгжүүлэгчдийн ихэнх нь AI-ийн үүсгэсэн кодыг Unit Test хийлгүйгээр шууд production руу илгээх тохиолдол гардаг ба хэрэв AI-аар Unit Test бичүүлбэл ердөө assertNotNull() мэт хөнгөн, гүнзгий биш шалгалт төдий зүйл үүсгэдэг дутагдалтай байв.

Энэхүү тулгамдсан асуудлыг шийдвэрлэхийн тулд Майкрософт компани GitHub дээр dotnet/skills репозиторийн санд code-testing-generator хэмээх нээлттэй эх сурвалж бүхий бие даасан AI агентыг албан ёсоор нийтэллээ. Нийтлэгдсэн энэхүү хэрэгсэл нь зөвхөн .NET гэлтгүй ямар ч програмчлалын хэл дээр (Polyglot) ажиллаж, кодонд гүнзгий анализ хийн, автоматжуулсан Unit Test төлөвлөж, бичиж, туршин баталгаажуулдаг.


code-testing-generator гэж юу вэ?

code-testing-generator нь энгийн "Prompt бичээд код авах" загвараас огт өөр зарчмаар ажилладаг. Энэ нь хөгжүүлэгчийн төсөл дээр судалгаа хийж, логик дараалалтайгаар Unit Test зохиомжлон, үүсгэсэн тестүүд нь CI/CD болон Build систем дээр үнэхээр ажиллаж байгаа эсэхийг бие даан шалгадаг AI агент юм.

Энэхүү хэрэгслийг Visual Studio Code, GitHub Copilot CLI болон зайн удирдлагатай орчнуудад шууд нэгтгэн ашиглах боломжтой. Энэ нь код хөгжүүлэлтийн циклд туршилтын даалгавруудыг хүний оролцоогүйгээр чанартай гүйцэтгэхэд чиглэгджээ.


Судалгаа-Төлөвлөлт-Хэрэгжүүлэлт (RPI) Пайплайн

Майкрософт энэхүү агентад зориулж RPI (Research-Plan-Implement) архитектурыг нэвтрүүлсэн байна. Агент тестийг шууд бичиж эхлэхийн өмнө дараах 3 шатыг дамждаг:

  1. Судалгаа (Research): Репозиторийг бүхэлд нь сканнердаж, ашиглагдаж буй програмчлалын хэл, Unit Test Framework (Jest, PyTest, JUnit, xUnit г.м.) болон төслийн кодчилолын стандартад шинжилгээ хийнэ. Түүнчлэн, төслийг build хийх болон тест ажиллуулах CLI коммандуудыг автоматаар илрүүлнэ.
  2. Төлөвлөлт (Plan): Кодын нарийн төвөгтэй байдлаас хамааран агент дараах 3 замын нэгийг сонгоно:
    • Direct: Энгийн бие даасан логиктой кодонд шууд тест бичиж баталгаажуулах.
    • Single-pass: Хамаарал (dependency) багатай кодонд нэг удаагийн судалгаа, төлөвлөлт хийж хэрэгжүүлэх.
    • Iterative: Олон хамааралтай, нийдмэл логиктой системд олон удаагийн давтамжтайгаар шат дараалан тест үүсгэж, coverage-ийг дээшлүүлэх.
  3. Хэрэгжүүлэлт ба Баталгаажуулалт (Implement & Validate): Төлөвлөгөөний дагуу тест кодыг бичиж, шаардлагатай Mock объектуудыг үүсгэн, тухайн орчны тест коммандыг ажиллуулж шалгана.

Зүгээр нэг "Тест бичих"-ээс юугаараа өөр вэ?

Майкрософтын инженерүүдийн онцолж байгаагаар, уламжлалт AI кодинг хэрэгслүүд багц тест үүсгээд орхидог бол code-testing-generator нь чанарын дараах нарийн хяналтуудыг гүйцэтгэдэг:

  • Assertion-ий чанарыг шалгах: Тест нь зөвхөн хэрэгжихээс гадна утга учиртай шинж чанар, шалгуурыг (Assertion) шалгаж байгааг баталгаажуулна.
  • Хуурамч эерэг үр дүнгээс сэргийлэх (Mutation Checking): Кодонд жижиг өөрчлөлт (bug) оруулахад уг тест унаж (fail) чадаж байгаа эсэхийг дотооддоо туршина.
  • CI/CD нэгтгэл ба тохиргоо: Шинээр үүссэн тест файл нь төслийн Test Runner болон CI пайплайнд бүтэн бүртгэгдсэн үү, эсвэл хаягдаж орхигдсон уу гэдгийг шалгана.
  • Эッジ кейс ба сценари илрүүлэлт: Алдааны тохиолдлууд, Null утга, болон сүлжээний сөрөг тохиолдлуудыг тусгайлан тестчилнэ.

Үр дүн ба Хөгжүүлэгчдэд үзүүлэх нөлөө

Майкрософтын хийсэн туршилтын үр дүнгээс харахад, стандарт GitHub Copilot ашиглахад даалгаврыг амжилттай гүйцэтгэх хувь 78.9% байсан бол code-testing-generator агентыг ашигласнаар энэ үзүүлэлт 92.1% болж өссөн байна.

Тус хэрэгсэл нээлттэй эх сурвалжтай болсноор програм хангамжийн багууд:

  • Рефакторинг хийх үед кодын аюулгүй байдлыг хангах.
  • Хуучин (Legacy) кодын баазад Unit Test-ийн coverage-ийг богино хугацаанд нэмэгдүүлэх.
  • Хөгжүүлэгчдийн хамгийн их цаг үрдэг гар ажиллагаатай тестийн даалгавруудыг автоматжуулах боломжтой болж байна.

code-testing-generator нь одоогоор GitHub дээрх dotnet/skills репозиторийн dotnet-test плагинд үнэ төлбөргүй нээлттэй байршиж байгаа бөгөөд хөгжүүлэгчид өөрсдийн CLI болон редактор дээрээ шууд суулган ашиглах боломжтой.

Эх сурвалж: InfoWorld, Microsoft Developer Blog, DevOps.com

Сэтгэгдэл

Ачаалж байна...