Мэдээ

Microsoft "code-testing-generator" Нээлттэй Эх Бүхий AI Агентыг Зарлалаа: Любые Хэл Дээр Unit Test-ийг Автоматаар Бичиж, Туршиж Баталгаажуулна

TOGTOKHTOGTOKH·2026 оны наймдугаар сарын 8·3 үзсэн·
Microsoft "code-testing-generator" Нээлттэй Эх Бүхий AI Агентыг Зарлалаа: Любые Хэл Дээр Unit Test-ийг Автоматаар Бичиж, Туршиж Баталгаажуулна

Оршил: Код Бичихээс Чихэнд Чийртэй Unit Test-ийн Асуудал

Софтвэйр инженерүүдийн хувьд шинэ боломж (feature) хөгжүүлж, систем архитектур зохиомжлоход хугацаагаа зарцуулах нь хамгийн сонирхолтой бөгөөд бүтээлч хэсэг байдаг. Гэвч код бичиж дууссаны дараа тухайн кодын шалгалт, хязгаар тохиолдлууд (edge cases), логикийн зөв эсэхийг магадлах Unit Test бичих үйл явц ихэвчлэн цаг их шаардсан, цаашлаад ихээхэн давтагдсан механик ажил болдог билээ.

Одоогийн бидний өдөр тутамдаа ашиглаж буй AI туслахууд (GitHub Copilot, Cursor, Claude Code г.м.) тодорхой кодын блокт тест үүсгэж чаддаг ч төслийн репозиторийг бүхэлд нь судалж, бэлэн байгаа testing framework эсвэл конфик тохиргоог танин мэдэж, улмаар тестээ бие даан ажиллуулан баталгаажуулах тал дээр дутагдалтай байсан.

Үүнийг шийдвэрлэх зорилгоор Microsoft компани code-testing-generator нэртэй нээлттэй эх бүхий (open-source) бие даасан AI агентыг албан ёсоор зарлалаа. Энэхүү агент нь ямар ч программчлалын хэл, фрэймворк дээрх төслийн кодонд автоматаар анализ хийж, шаардлагатай Unit Test-ийг төлөвлөн бичээд зогсохгүй, тухайн тестүүд нь ЖИНХЭНЭЭСЭЭ ажиллаж, давж байгаа (pass) эсэхийг өөрөө CLI орчинд тест ажиллуулан баталгаажуулдгаараа онцлогтой.


Research-Plan-Implement (RPI) Архитектур Гэж Юу Вэ?

code-testing-generator агент нь кодонд тестийг зүгээр нэг санамсаргүй генераци хийдэггүй. Тэрээр RPI (Research-Plan-Implement) гэсэн гурван үе шаттай тусгай агентик пайплайнаар ажилладаг:

  1. Research (Судалгаа хийх): Агент эхлээд таны төслийн репозиторийг бүхэлд нь хайж, тест шаардлагатай байгаа эх кодыг олно. Энэ үед тухайн төслийн программчлалын хэл (Python, JavaScript, Go, Java, C# г.м.), ашиглаж буй testing framework (JUnit, Jest, PyTest, Go testing) болон өмнө нь бичигдсэн бэлэн тестүүдийн хэв маягийг судална. Түүнчлэн төслийг компиляци хийх, build хийх болон тест ажиллуулах CLI коммандуудыг автоматаар олж тогтоодог.
  2. Plan (Төлөвлөгөө боловсруулах): Төслийн бүтэц болон кодын хамаарлыг (dependencies) ойлгосны дараа ямар класс, функцэнд ямар логикоор тест бичих вэ гэсэн алхамчилсан төлөвлөгөөг боловсруулна.
  3. Implement (Хэрэгжүүлэх): Төлөвлөгөөний дагуу Unit Test-ийн кодыг бичиж, төслийн зохих фолдерт байршуулах бөгөөд Build хийх туршилтыг гүйцэтгэнэ.

Даалгаврын Төвөгтэй Байдлаас Хамаарах 3 Гүйцэтгэлийн Зам

Агент нь даалгаврын цар хүрээ, төвөгтэй байдлаас хамаарч дараах 3 төрлийн гүйцэтгэлийн замыг (execution path) сонгон ажилладаг:

  • Direct Path (Шууд зам): Энгийн бөгөөд гадаад хамаарал багатай бие даасан кодод зориулагдсан. Кодыг уншаад шууд тест бичиж, баталгаажуулна.
  • Single Pass (Нэг шатлалт зам): Дунд шатны төвөгтэй кодод зориулсан. Эхлээд судалгаа болон төлөвлөлтөө нэг удаа иж бүрэн хийж дуусгаад, түүнийгээ гүйцэтгэнэ.
  • Iterative Path (Давтамжит зам): Маш том даалгавар эсвэл коверэйж (coverage) өндөр хувьтай байлгах зорилт тавьсан үед ажиллана. Агент цикл хэлбэрээр "судална -> төлөвлөнө -> бичнэ -> туршина -> дутуу хэсгийг дахин судална" гэсэн зарчмаар тестүүдийг бүрэн давж дуустал давтан ажилладаг.

Тест Бичихээс Гадна Туршиж Баталгаажуулдаг (Validation) Систем

Энэхүү агентын бусад AI кодинг туслахуудаас ялгарах хамгийн том давуу тал нь ажиллуулан баталгаажуулах (validation) орчин юм.

Төгс бус AI загварууд ихэвчлэн синтаксын алдаатай эсвэл байхгүй фрэймворк дуудсан загвар тест (hallucinated setup) үүсгэх эрсдэлтэй байдаг. Харж байхад зөв юм шиг боловч компиляци хийх эсвэл ажиллуулах үед алдаа заадаг.

Харин Microsoft-ийн энэхүү агент нь шинээр бичсэн тестээ төслийн орчинд Build хийж, коммандаар тестүүдийг бодит байдал дээр ажиллуулан шалгадаг. Хэрэв тест ажиллах явцад Fail болох эсвэл компиляцийн алдаа гарвал тухайн алдааны лог (error log)-ийг уншиж, тест болон кодоо дахин засварлан, Pass болтол нь бие даан ажиллах чадвартай.


Одоогоор Юуг Дэмжиж Бөгөөд Юуг Дэмжихгүй Вэ?

Microsoft-ийн мэдээлснээр уг агент нь яг одоогийн хувилбартаа зөвхөн Unit Test бичихэд төвлөрөн ажиллаж байна.

  • Одоогоор дэмжиж буй: Энгийн функц, класс, модулиудын Unit Test, коверэйж ахиулах туршилтууд, төрөл бүрийн программчлалын хэлүүд.
  • Одоогоор дэмжихгүй: Integration tests, End-to-End (E2E) UI tests, Browser automation testing болон Performance/Stress tests. Эдгээр нь цаашдын шинэчлэлтүүдээр нэмэгдэх чиглэлтэй байгаа юм.

Дүгнэлт: Хөгжүүлэгчдийн Баг ба CI/CD-д Үзүүлэх Нөлөө

Microsoft-ийн code-testing-generator open-source агент нь AI-д суурилсан программ хангамжийн хөгжүүлэлтийн шинэ шатанд биднийг аваачиж байна. Инженерүүд тест бичих ажилд дахин их цаг гарздах шаардлагагүй болох бөгөөд:

  1. Кодны Чанар Болон Coverage Өснө: Цаг зав муутайгаас болж туршигдаагүй үлддэг кодуудын хэмжээ эрс буурна.
  2. CI/CD Пайплайн Эрүүл Журмаар Явагдана: Pull Request бүрд шаардлагатай Unit Test-үүдийг автоматаар үүсгэж, пайплайн дээр баталгаажуулах боломжтой болно.
  3. Бүтээмжийн Ахиц: Хөгжүүлэгчид механик тест бичихээс илүүтэй бизнесийн логик, хэрэглэгчийн шаардлага болон систем архитектуртаа анхаарах боломж бүрдэнэ.

Нээлттэй эх бүхий төсөл учраас та өөрийн локал орчин болон байгууллага дотоодын хөгжүүлэлтэндээ тус агентыг тохируулан ашиглах боломжтой.

Эх сурвалж: InfoWorld, Microsoft Open Source

Сэтгэгдэл

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