AI යුගයේ TDD සහ BDD: AI ඒජන්තයන්ට පළමුව-පරීක්ෂණ සංවර්ධනය 100% වැඩියෙන් අවශ්‍ය වන්නේ ඇයි

මෘදුකාංග සංවර්ධන භූමිකාව මූලික වශයෙන්ම වෙනස් වී ඇත. AI ඒජන්තයන් කේත ලියන්නේ පමණක් නොවේ; ඔවුන් අපගේ කණ්ඩායම්වල ප්‍රධාන සංවර්ධකයන් බවට පත්වෙමින් සිටී. මෙම පරිවර්තනය නිසා පරීක්ෂණ (testing) කරන ආකාරය ගැන මූලික වශයෙන්ම නැවත සිතා බැලීමට සිදු වී ඇත. කලක් විකල්ප හොඳ පිළිවෙත් ලෙස සැලකුණු Test-Driven Development (TDD) සහ Behavior-Driven Development (BDD), AI බලයෙන් ධාවනය වන සංවර්ධනයේ යුගයේ අත්‍යවශ්‍ය විනයන් බවට පත්ව ඇත.

මීට පෙර කිසි විටෙකත් අවදානම මෙතරම් ඉහළ තිබී නැත. අධ්‍යයන පෙන්වා දෙන්නේ මෘදුකාංග සංවර්ධන වියදමෙන් 60-80%ක් නැවත වැඩ කිරීමෙන් (rework) ඇති වන බවත්, ඵලදායී අවශ්‍යතා කළමනාකරණයෙන් ව්‍යාපෘති දෝෂවලින් 50-80%ක් ඉවත් කළ හැකි බවත්ය. AI ඒජන්තයන් කිසි දිනෙක නොතිබූ වේගයකින් කේත සාදන විට, අවශ්‍යතා වැරදි වීමේ වියදම ඝාතීය ලෙස වැඩි වේ. AI සංවර්ධනය නිවැරදි මඟෙහි තබන ආරක්ෂක වැට TDD සහ BDD මගින් සපයයි.

AI ඒජන්තයන් නිසා TDD අත්හළ නොහැකි වන්නේ ඇයි

Traditional vs AI-Powered TDD comparison chart with features listed.

 

අනියත ප්‍රතිඵලවල ගැටලුව

AI මගින් ධාවනය වන සංවර්ධනය මූලික අභියෝගයක් ගෙන එයි: එනම් අනියතභාවය (non-determinism) ය. එකම ආදානයෙන් එකම ප්‍රතිඵලය ලැබෙන සාම්ප්‍රදායික සංවර්ධනයට වෙනස්ව, AI ඒජන්තයන්ට එකම prompt සඳහා බෙහෙවින් වෙනස් කේත විසඳුම් සෑදිය හැක. මෙම විචලනය නිර්මාණශීලී ගැටලු විසඳීමට ඉඩ සලසන අතරම, නිසි පරීක්ෂණ යටිතල පහසුකම් නොමැති විට තත්ත්ව පාලනය දුස්සහ හීනයක් බවට පත් කරයි.

AI-Driven Development පිළිබඳ තම කෘතියේ Eric Elliott සඳහන් කරන පරිදි: "AIDD අනියත ය, වෙනස් prompt මගින් බෙහෙවින් වෙනස් ප්‍රතිඵල ලැබිය හැක. එය හොඳ දෙයකි, මන්ද එකම ගැටලුවට වෙනස් ප්‍රවේශ ගවේෂණය කර හොඳම විසඳුම සොයා ගැනීමට එය ඉඩ සලසයි. කෙසේ වෙතත්, ජනනය වූ කේතය නිවැරදි බව තහවුරු කිරීම අභියෝගයක් විය හැක."

ආරක්ෂිත දැලක් ලෙස වේගවත් ප්‍රතිපෝෂණ වළලු

TDD මගින් AI ඒජන්තයන්ට නිශ්චිත අවසන් නිර්ණායක ලැබේ. කේතය "අවසන්" ද යන්න ගැන AI ගේ විනිශ්චය මත රඳා නොසිට, සියලු අවශ්‍යතා සමත් වන තුරු නැවත නැවත උත්සාහ කිරීමට පරීක්ෂණ ඒජන්තයන්ට බල කරයි. මෙය පරීක්ෂණ මගින් AI නිවැරදි ක්‍රියාත්මක කිරීම් වෙත මඟ පෙන්වන, මායා (hallucinations) සහ තාර්කික දෝෂ ගොඩ නැගීමට පෙර අල්ලා ගන්නා අඛණ්ඩ ප්‍රතිපෝෂණ වළල්ලක් නිර්මාණය කරයි.

AI සංවර්ධනයේ කැපී පෙනෙන හඬක් වන Simon Willison අවධාරණය කරන්නේ: "පරීක්ෂණ අපට විශ්වාසදායක අවසන් නිර්ණායක දෙයි. අපි AI ඒජන්තයාගේ සිතුවිලි මත රඳා නොසිට, කලින් අසමත් වූ පරීක්ෂණ සමත් වන තුරු නැවත නැවත උත්සාහ කිරීමට එයට බල කරමු."

AI යුගයේ TDD රාමුව: Test → Drive → Develop

 

TEST, DRIVE, DEVELOP cycle graphic with red, yellow, green circles.

TDD හි සාම්ප්‍රදායික Red-Green-Refactor චක්‍රය AI යුගයට අනුව පරිණාමය වී ඇත. AI ඒජන්තයන් ඵලදායී හා විශ්වාසදායක කරන නව ආකෘතිය මෙයයි:

  • TEST: පළමුව PRD එක ස්වයංක්‍රීය පිළිගැනීමේ පරීක්ෂණ බවට පරිවර්තනය කරන්න
    • PRD පිරිවිතරවලින් පරීක්ෂණ කෙටුම්පත් කිරීම: ස්වාභාවික භාෂා අවශ්‍යතා පරීක්ෂණ රාමු බවට හරවීමේදී AI ඒජන්තයන් විශිෂ්ටයි. "පරිශීලක පිවිසුම 2FA සඳහා සහාය විය යුතුය" වැනි PRD කොටසක් දුන් විට, සාර්ථක මාර්ග, සීමාන්ත අවස්ථා සහ දෝෂ තත්ත්වයන් ආවරණය කරන පුළුල් පරීක්ෂණ අවස්ථා AI හට සෑදිය හැක.
    • මානව පිරිපහදු කිරීම: AI ට මග හැරිය හැකි පරීක්ෂණවල සම්පූර්ණත්වය, ව්‍යාපාරික තර්කනයේ නිරවද්‍යතාව සහ ආරක්ෂක කරුණු සංවර්ධකයන් සහ QA ඉංජිනේරුවන් විසින් සමාලෝචනය කරයි.
    • Given-When-Then ආකෘතිය භාවිතා කරන්න: පැහැදිලිභාවය සඳහා පිළිගැනීමේ නිර්ණායක BDD ශෛලියෙන් ලියන්න.
  • DRIVE: පරීක්ෂණවලින් සංවර්ධන ක්‍රියාවලිය මෙහෙයවන්න
    • අපැහැදිලි prompt වෙනුවට AI ඒජන්තයන් ප්‍රධාන ආදානය ලෙස පරීක්ෂණ කට්ටල ලබා ගනී.
    • මෙම වළල්ල ස්වයංක්‍රීයව ක්‍රියාත්මක කිරීමට Cursor, Claude Code සහ GitHub Copilot වැනි මෙවලම් සමඟ AI මගින් නැවත නැවත පිරිපහදු කිරීම.
    • ස්වයං-සුවපත් වීමේ හැකියාව: දියුණු ඒජන්තයන් UI වෙනස්කම්වලට ගැළපෙන පරිදි පරීක්ෂණ ස්වයංක්‍රීයව යාවත්කාලීන කරයි.
  • DEVELOP: සියලු පරීක්ෂණ සමත් වූ විට නවතින්න
    • ස්වයංක්‍රීය ඒකක පරීක්ෂණ: තනි ශ්‍රිතවල නිවැරදිභාවය සහ ව්‍යාපාරික තර්කනය තහවුරු කරයි.
    • ක්‍රියාකාරී පිළිගැනීමේ පරීක්ෂණ: අන්ත-සිට-අන්ත පරිශීලක ගමන් සහ පද්ධති ඒකාබද්ධතාව තහවුරු කරයි.
    • දෘශ්‍ය ප්‍රතිගමන (visual regression) පරීක්ෂණ: AI බලයෙන් ධාවනය වන මෙවලම් පරිගණක දැක්ම (computer vision) භාවිතයෙන් UI අසමානතා අල්ලා ගනී.
    • මානව QA/QC අනුමැතිය: පරිශීලක අත්දැකීම සහ සීමාන්ත අවස්ථා පිළිබඳ අවසන් තහවුරු කිරීම මානව QA විසින් සිදු කරයි.

 

BDD: කඩා වැටුණු පොරොන්දුවකින් AI බලැති යථාර්ථයකට

ඓතිහාසික අභියෝගය

Behavior-Driven Development පොරොන්දු වූයේ නිෂ්පාදන, සංවර්ධන සහ QA කණ්ඩායම් එක් කරන පොදු භාෂාවකි. ප්‍රායෝගිකව එය බොහෝ විට හුදෙකලා QA ක්‍රියාකාරකමක් බවට පරිහානියට පත් විය. Gherkin අවස්ථා ලිවීමට තාක්ෂණික ප්‍රවීණත්වය අවශ්‍ය විය, පියවර නිර්වචන (step definitions) නඩත්තුව බරක් විය, සහයෝගීතාවයේ ප්‍රතිලාභ කිසි දිනෙක ඵල දැරුවේ නැත.

AI සියල්ල වෙනස් කරයි

BDD ව පසුපසට ඇද දැමූ තාක්ෂණික බාධක AI ඉවත් කරයි. නිෂ්පාදන කළමනාකරුවන්ට දැන් ස්වාභාවික භාෂාවෙන් අවස්ථා ලිවිය හැකි අතර, AI ඒවා ස්වයංක්‍රීයව ක්‍රියාත්මක කළ හැකි පරීක්ෂණ බවට පරිවර්තනය කරයි. "three amigos" සහයෝගීතාවය (නිෂ්පාදන, සංවර්ධන, QA) අවසානයේ තාක්ෂණික දොරටුපාලනයකින් තොරව සිදු විය හැක.

  • ස්වාභාවික භාෂාවෙන් පරීක්ෂණ දක්වා: සරල ඉංග්‍රීසි අවස්ථාවලින් ඉහළ නිරවද්‍යතාවයකින් සම්පූර්ණ පරීක්ෂණ කට්ටල AI හට ජනනය කළ හැක.
  • අර්ථකථන අවබෝධය: AI බලැති පරීක්ෂණ ධාවකයන් බිඳෙන සුළු CSS තෝරකවලට වඩා සන්දර්භය අනුව UI අංග සොයා ගනී.
  • ජීවමාන ලේඛන: BDD අවස්ථා සැමවිටම යාවත්කාලීන ලේඛන ලෙස ක්‍රියා කරන අතර පද්ධති හැසිරීම ක්‍රියාත්මක කරන අතරම ලේඛනගත ද කරයි.

AI බලැති TDD/BDD ක්‍රියාත්මක කිරීම: ප්‍රායෝගික මාර්ගෝපදේශයක්

අදියර 1: පදනම සැකසීම

  • ඔබේ පරීක්ෂණ රාමුව තෝරන්න
    • ඒකක පරීක්ෂණ: Jest, Pytest, JUnit
    • BDD පරීක්ෂණ: Cucumber, SpecFlow, Behave
    • දෘශ්‍ය පරීක්ෂණ: Percy, Applitools, Chromatic
    • E2E පරීක්ෂණ: Playwright, Cypress
  • AI මෙවලම් ඒකාබද්ධ කරන්න
    • Cursor, Claude Code හෝ GitHub Copilot වැනි AI කේතකරණ සහායකයන් භාවිතා කරන්න.
    • ඔබේ පරීක්ෂණ රාමු සහ සම්මුතීන් පිළිබඳ සන්දර්භය සමඟ AI ඒජන්තයන් වින්‍යාස කරන්න.
    • සෑම commit එකකදීම පරීක්ෂණ ස්වයංක්‍රීයව ධාවනය කිරීමට CI/CD pipeline සකසන්න.

අදියර 2: TDD වැඩ ප්‍රවාහය

  • පියවර 1: PRD සිට පරීක්ෂණ දක්වා
    • උදාහරණය: සාප්පු කරත්ත (shopping cart) විශේෂාංගයක් ගොඩනැගීම
  • පියවර 2: මානව සමාලෝචනය සහ පිරිපහදු කිරීම
    • ව්‍යාපාරික තර්කනයේ නිරවද්‍යතාව, ආරක්ෂක කරුණු, සීමාන්ත අවස්ථා සහ කාර්ය සාධන මිනුම් සලකුණු තහවුරු කරන්න.
  • පියවර 3: AI ක්‍රියාත්මක කිරීම
    • විශේෂාංග ක්‍රියාත්මක කිරීමට AI ට prompt කර, පරීක්ෂණ සමත් වන තුරු නැවත නැවත උත්සාහ කරවන්න.
  • පියවර 4: අඛණ්ඩ වලංගුකරණය
    • ස්වයංක්‍රීය පරීක්ෂණ කට්ටල ධාවනය, දෘශ්‍ය ප්‍රතිගමන සැසඳීම්, කාර්ය සාධන මිනුම් ගැනීම සහ තවත් බොහෝ දෑ ඇතුළත් වේ.

සාර්ථකත්වය මැනීම: AI බලැති TDD හි බලපෑම

දත්ත කතා කරයි

පර්යේෂණ සහ කර්මාන්ත වාර්තා AI සමඟ පළමුව-පරීක්ෂණ සංවර්ධනය සඳහා ඒත්තු ගැන්වෙන සාක්ෂි හෙළි කරයි:

  • දෝෂ අඩු කිරීම
    • පරීක්ෂණ-පසුව සංවර්ධනයට සාපේක්ෂව TDD මගින් දෝෂ 40-80% අඩුවෙන් ඇති වේ.
    • AI බලැති TDD මගින් ප්‍රතිගමන commit අවස්ථාවේදීම අල්ලා ගනිමින්, ප්‍රධාන ශාඛා විශ්වාසදායක ලෙස නිකුත් කළ හැකි තත්ත්වයේ තබයි.
  • සංවර්ධන වේගය
    • අතින් ලිවීමට වඩා AI හට පරීක්ෂණ කට්ටල 10 ගුණයක් වේගයෙන් ජනනය කළ හැක.
  • කණ්ඩායම් ඵලදායිතාව
    • සංවර්ධකයන් දෝෂ නිරාකරණයට අඩු කාලයක් ද විශේෂාංග නිර්මාණයට වැඩි කාලයක් ද වැය කරයි.

පොදු අන්තරායන් මඟහරවා ගැනීම

AI බලැති TDD/BDD මගින් විශාල ප්‍රතිලාභ ලැබුණද, කණ්ඩායම් බොහෝ විට මෙම අභියෝගවලට මුහුණ දෙයි:

  • අන්තරාය 1: AI ජනනය කළ පරීක්ෂණ අධික ලෙස විශ්වාස කිරීම
    • විසඳුම: AI ජනනය කළ පරීක්ෂණ සැමවිටම පළපුරුදු සංවර්ධකයන් විසින් සමාලෝචනය කරවන්න.
  • අන්තරාය 2: හැසිරීම වෙනුවට ක්‍රියාත්මක කිරීම පරීක්ෂා කිරීම
    • විසඳුම: නිරීක්ෂණය කළ හැකි හැසිරීම සහ ප්‍රතිඵල මත පරීක්ෂණ අවධානය යොමු කරන්න.
  • අන්තරාය 3: මානව සමාලෝචන චක්‍රය මඟ හැරීම
    • විසඳුම: පරිශීලක අත්දැකීම, ප්‍රවේශ්‍යතාව සහ අවස්ථා මානව QA විසින් තහවුරු කළ යුතුය.
  • අන්තරාය 4: පරීක්ෂණ නඩත්තුව නොසලකා හැරීම
    • විසඳුම: වෙනස්කම් සිදු වූ විට පරීක්ෂණ ස්වයංක්‍රීයව යාවත්කාලීන කිරීමට AI හි ස්වයං-සුවපත් වීමේ හැකියාව භාවිතා කරන්න.

AI-TDD පරිසර පද්ධතිය: අත්‍යවශ්‍ය මෙවලම්

  • AI කේතකරණ සහායකයන්
    • Cursor
    • Claude Code
    • GitHub Copilot
  • BDD රාමු
    • Cucumber
    • SpecFlow
    • Behave
  • දෘශ්‍ය පරීක්ෂණ වේදිකා
    • Percy (BrowserStack)
    • Applitools
    • Chromatic
  • පරීක්ෂණ ස්වයංක්‍රීයකරණ වේදිකා
    • Playwright
    • Cypress
    • TestRigor
  • AI පරීක්ෂණ වේදිකා
    • Functionize
    • Momentic
    • Agentforce Testing Center

අනාගතය පළමුව-පරීක්ෂණයයි

AI ඒජන්තයන් සහ test-driven development එකතු වීම මෘදුකාංග ගොඩනගන ආකාරයේ මූලික වෙනසක් නියෝජනය කරයි. TDD සහ BDD තවදුරටත් විකල්ප හොඳ පිළිවෙත් නොවේ; තත්ත්වය සහ විශ්වසනීයත්වය රැකගනිමින් AI හි බලය උපයෝගී කරගැනීමට අත්‍යවශ්‍ය විනයන් වේ.

ප්‍රධාන කරුණු:

  • AI හි අනියතභාවය නිසා පරීක්ෂණ අත්‍යවශ්‍ය වේ.
  • Test → Drive → Develop ක්‍රියාවලිය: පළමුව PRD පරීක්ෂණ බවට පරිවර්තනය කර, සංවර්ධනය මෙහෙයවීමට පරීක්ෂණ භාවිතා කරන්න.
  • BDD හි පොරොන්දුව සැබෑ විය: AI තාක්ෂණික බාධක ඉවත් කර BDD ප්‍රවේශ්‍ය කරයි.
  • මහා පරිමාණයේ ස්වයංක්‍රීයකරණය: AI හට පරීක්ෂණ වේගයෙන් ජනනය කර නඩත්තු කළ හැකි නමුත්, මානව විනිශ්චය තීරණාත්මකය.
  • සවිස්තරාත්මක ආවරණය: ඒකක පරීක්ෂණ, ක්‍රියාකාරී පරීක්ෂණ, දෘශ්‍ය ප්‍රතිගමන පරීක්ෂණ සහ මානව QA සංයෝජනය කරන්න.

Kent Beck පැවසූ පරිදි: "ක්‍රියා කරන පිරිසිදු කේතය ඉලක්කයයි. TDD යනු අපව එතැනට ගෙන යන විනය පමණි." AI යුගයේ, එම විනය කිසි විටෙකත් මෙතරම් වැදගත් වී නැත. පළමුව-පරීක්ෂණ සංවර්ධනය වැළඳගැනීමෙන්, නවීන මෘදුකාංගයට අවශ්‍ය තත්ත්වය, විශ්වසනීයත්වය සහ විශ්වාසය රැකගනිමින් AI හි විභවය විවෘත වේ.

ආරම්භ කිරීම

  • කුඩාවට පටන් ගන්න: එක් විශේෂාංගයක් තෝරා පළමුව-පරීක්ෂණ සංවර්ධනය සඳහා AI සහාය භාවිතා කරන්න.
  • පුහුණුවට ආයෝජනය කරන්න: TDD මූලධර්ම සහ AI මෙවලම්වල හැකියාවන් කණ්ඩායම තේරුම් ගන්නා බව තහවුරු කරන්න.
  • පියවරෙන් පියවර ගොඩනගන්න: CI/CD pipeline එකට පරීක්ෂණ ස්වයංක්‍රීයකරණය කොටස කොටස එක් කරන්න.
  • බලපෑම මනින්න: දෝෂ අනුපාත, සංවර්ධන වේගය සහ කණ්ඩායමේ තෘප්තිය නිරීක්ෂණය කරන්න.
  • නැවත නැවත පිරිපහදු කරන්න: කණ්ඩායමේ සහ ක්ෂේත්‍රයේ අවශ්‍යතා අනුව ක්‍රියාවලි පිරිපහදු කරන්න.
Person at laptop with robot, words TDD, BDD, and a checkmark.

මෘදුකාංග සංවර්ධනයේ අනාගතය පළමුව-පරීක්ෂණයයි. මෙවලම් දැන් අප සතුව ඇත. ප්‍රතිලාභ ඔප්පු වී ඇත. ක්‍රියාත්මක වීමට කාලය දැන්මයි.

එය තවදුරටත් මෙවැනි නොවේ

Venn diagram with overlapping circles labeled Automated Tests, Executable Specifications, Living Documentation.

එය වඩාත් සමානයි තවත් වෘත්ත වලට

Overlapping pastel colored circles in a Venn diagram.
Overlapping pastel colored circles in a Venn diagram.

 

 

 

 

 

 

 

 

 

Overlapping pastel colored circles in a Venn diagram.