നേട്ടങ്ങൾ:
- ടെസ്റ്റിംഗ് പിരമിഡിന് അനുസൃതമായി ആർട്ടിഫിഷ്യൽ ഇൻ്റലിജൻസ് ഉപയോഗിച്ച് യൂണിറ്റ്, ഇൻ്റഗ്രേഷൻ, യുഐ ടെസ്റ്റുകൾ എന്നിവ നിർമ്മിക്കാനുള്ള കഴിവ്, പരിധിയും പിശക് സാഹചര്യങ്ങളും സന്തോഷകരമായ സാഹചര്യങ്ങളും
- സൃഷ്ടിക്കപ്പെടുന്ന ഓരോ പരിശോധനയും യഥാർത്ഥത്തിൽ ഒരു സ്വഭാവത്തെ സാധൂകരിക്കുന്നുണ്ടോയെന്ന് പരിശോധിച്ച് ശൂന്യമായ/ഉപയോഗശൂന്യമായ ടെസ്റ്റുകളും വീർത്ത കവറേജും ഇല്ലാതാക്കാനുള്ള കഴിവ്
- ടെസ്റ്റ് ബഗ് പിടിക്കുന്നുവെന്ന് ഉറപ്പാക്കുകയും കോഡ് എന്താണ് ചെയ്യേണ്ടതെന്ന് AI-യോട് പറഞ്ഞുകൊണ്ട് ബഗ് പരിഹരിക്കുന്നതിൽ നിന്ന് അതിനെ തടയുകയും ചെയ്യുന്നു
കോഡ് എഴുതുന്നത് പകുതി ജോലിയാണ്; കോഡ് ശരിയായി പ്രവർത്തിക്കുന്നുവെന്ന് തെളിയിക്കുന്നത് മറ്റേ പകുതിയാണ്. നൂറുകണക്കിന് വ്യത്യസ്ത ഉപകരണങ്ങൾ, സ്ക്രീൻ വലുപ്പങ്ങൾ, ഓപ്പറേറ്റിംഗ് സിസ്റ്റം പതിപ്പുകൾ, ഉപയോക്തൃ പെരുമാറ്റങ്ങൾ എന്നിവ മൊബൈൽ അപ്ലിക്കേഷനുകൾ നേരിടുന്നു. ഇവയെല്ലാം സ്വമേധയാ പരിശോധിക്കുന്നത് അസാധ്യമാണ്; അതുകൊണ്ടാണ് ഓട്ടോമേറ്റഡ് ടെസ്റ്റിംഗ് (കോഡ് ടെസ്റ്റിംഗ് കോഡ് - മനുഷ്യ ക്ലിക്കില്ലാതെ പ്രവർത്തിക്കുന്ന ടെസ്റ്റിംഗ്) മൊബൈൽ ഗുണനിലവാരത്തിൻ്റെ നട്ടെല്ല്. ടെസ്റ്റുകൾ എഴുതുന്നതിൽ AI അവിശ്വസനീയമാംവിധം കാര്യക്ഷമമാണ്, കാരണം ടെസ്റ്റുകൾ എഴുതുന്നത് അത് ഇഷ്ടപ്പെടുന്ന തരത്തിലുള്ള പാറ്റേൺ വർക്കാണ്: നിർദ്ദിഷ്ട ഇൻപുട്ടുകൾക്കായി ഒരു നിർദ്ദിഷ്ട സ്വഭാവം സാധൂകരിക്കുന്നു. ഈ യൂണിറ്റിൽ, AI ഉപയോഗിച്ച് യൂണിറ്റ് ടെസ്റ്റിംഗ്, ഇൻ്റർഫേസ് ടെസ്റ്റിംഗ്, ഓട്ടോമേഷൻ എന്നിവ എങ്ങനെ ത്വരിതപ്പെടുത്താമെന്ന് ഞങ്ങൾ പഠിക്കും, എന്നാൽ മനുഷ്യൻ്റെ കണ്ണിലൂടെ ടെസ്റ്റിൻ്റെ ഗുണനിലവാരം ഉറപ്പാക്കും.
പിരമിഡ് പരിശോധിക്കുന്നു: എന്ത് പരിശോധിക്കണം, എത്രത്തോളം
ആരോഗ്യകരമായ ഒരു പരീക്ഷണ തന്ത്രം ഒരു പിരമിഡിനോട് സാമ്യമുള്ളതാണ്. അടിസ്ഥാനത്തിൽ ധാരാളം യൂണിറ്റ് ടെസ്റ്റുകൾ ഉൾപ്പെടുന്നു (ഒറ്റ ഫംഗ്ഷൻ അല്ലെങ്കിൽ ക്ലാസിനെ ഒറ്റപ്പെട്ട് പരിശോധിക്കുന്ന ദ്രുത പരിശോധന); അവ വേഗതയേറിയതും വിലകുറഞ്ഞതുമാണ്. മധ്യത്തിൽ കുറവ് ഏകീകരണ പരിശോധനയാണ് (ഒന്നിലധികം ഭാഗങ്ങൾ എങ്ങനെ ഒരുമിച്ച് പ്രവർത്തിക്കുന്നുവെന്ന് പരിശോധിക്കുന്നു). മുകളിൽ ഏറ്റവും കുറഞ്ഞ UI/എൻഡ്-ടു-എൻഡ് ടെസ്റ്റിംഗ് ഉണ്ട് (ഉപയോക്താവ് ചെയ്യുന്നതുപോലെ സ്ക്രീനിൽ ക്ലിക്കുചെയ്ത് ടെസ്റ്റിംഗ് നടത്തുന്നു); അവ യാഥാർത്ഥ്യബോധമുള്ളതും എന്നാൽ മന്ദഗതിയിലുള്ളതും ദുർബലവുമാണ്. AI എല്ലാ ലെയറിലും സഹായിക്കുന്നു, എന്നാൽ ഏറ്റവും മൂല്യം അടിസ്ഥാനമാണ്: ബിസിനസ് ലോജിക്കിൻ്റെ യൂണിറ്റ് ടെസ്റ്റുകൾ വേഗത്തിൽ നിർമ്മിക്കുന്നു.
ടെസ്റ്റ് തരം
വ്യാപ്തി
വേഗത
AI കാര്യക്ഷമത
യൂണിറ്റ് ടെസ്റ്റിംഗ്
സിംഗിൾ ഫംഗ്ഷൻ/ക്ലാസ്
വളരെ വേഗം
വളരെ ഉയർന്നത്
സംയോജനം
ഇൻ്റർലേയർ
ഇടത്തരം
ഉയർന്നത്
UI / അവസാനം മുതൽ അവസാനം വരെ
എല്ലാ സ്ക്രീൻ സ്ട്രീം
പതുക്കെ
ഇടത്തരം (ദുർബലമായ)
നുറുങ്ങ്: "ഈ ഫംഗ്ഷനായി ടെസ്റ്റുകൾ സൃഷ്ടിക്കാൻ" AI-യോട് പറയുമ്പോൾ, എഡ്ജ് കേസുകൾ വ്യക്തമായി ചോദിക്കുക: ശൂന്യമായ ഇൻപുട്ട്, അസാധുവായ, നെഗറ്റീവ് നമ്പർ, വളരെ വലിയ മൂല്യം, നെറ്റ്വർക്ക് പിശക്. AI എളുപ്പത്തിൽ സന്തോഷകരമായ പാത നിർമ്മിക്കുന്നു; യഥാർത്ഥ തെറ്റുകൾ അതിർത്തികളിൽ മറഞ്ഞിരിക്കുകയും നിങ്ങൾക്ക് അവ അവിടെ ആവശ്യമില്ലെങ്കിൽ പുറത്തു ചാടുകയും ചെയ്യും.
AI ഉപയോഗിച്ച് ടെസ്റ്റുകൾ എഴുതുന്നതിനുള്ള ഘട്ടങ്ങൾ
- പരിശോധിക്കേണ്ട സ്വഭാവം നിർവചിക്കുക. "ഈ ഫംഗ്ഷൻ ഈ ഇൻപുട്ടിന് ഈ ഔട്ട്പുട്ട് നൽകണം."
- ചട്ടക്കൂട് വ്യക്തമാക്കുക. Android-ൽ JUnit + MockK, iOS-ൽ XCTest, UI-യ്ക്കായി Espresso (Android) അല്ലെങ്കിൽ XCUITest (iOS).
- പരിധി സംസ്ഥാനങ്ങൾ ആവശ്യപ്പെടുക. സന്തോഷകരമായ സാഹചര്യം + പിശക് + ബ്രേക്ക്പോയിൻ്റുകൾ.
- മോക്ക് ഒബ്ജക്റ്റുകൾ കൈകാര്യം ചെയ്യുക. നെറ്റ്വർക്ക്, ഡാറ്റാബേസ് എന്നിവ പോലുള്ള ബാഹ്യ ഡിപൻഡൻസികൾ ടെസ്റ്റിംഗിനായി അനുകരിക്കപ്പെടുന്നു (യഥാർത്ഥ സേവനത്തിന് പകരം മോക്ക് - നിയന്ത്രിത മോക്ക്).
- ടെസ്റ്റ് നടത്തി പരിശോധിച്ചുറപ്പിക്കുക. ടെസ്റ്റ് വിജയിക്കുമോ, അത് ശരിക്കും അർത്ഥവത്തായ എന്തെങ്കിലും സ്ഥിരീകരിക്കുന്നുണ്ടോ?
അഞ്ചാമത്തെ ഘട്ടം നിർണായകമാണ്. AI ചിലപ്പോൾ "എല്ലായ്പ്പോഴും കടന്നുപോകുന്ന" ഉപയോഗശൂന്യമായ പരിശോധനകൾ ഉണ്ടാക്കുന്നു; ഉദാഹരണത്തിന്, ഒന്നും സ്ഥിരീകരിക്കാത്ത അല്ലെങ്കിൽ സ്വന്തം വ്യാജ ഡാറ്റ പരിശോധിക്കാത്ത ഒരു ടെസ്റ്റ്. പാസിംഗ് ടെസ്റ്റും വിലപ്പെട്ട ടെസ്റ്റും വ്യത്യസ്ത കാര്യങ്ങളാണ്.
മുന്നറിയിപ്പ്: AI-ക്ക് ഉൽപ്പാദിപ്പിക്കാൻ കഴിയുമെന്നതിനാൽ പരിശോധന ശരിയാണെന്ന് അർത്ഥമാക്കുന്നില്ല. ചിലപ്പോൾ AI കോഡിൻ്റെ നിലവിലെ (ഒരുപക്ഷേ തെറ്റായ) പെരുമാറ്റം "ശരി" ആയി അംഗീകരിക്കുകയും അതിനനുസരിച്ച് ടെസ്റ്റുകൾ എഴുതുകയും ചെയ്യുന്നു. അത്തരം പരിശോധനകൾ ബഗ് പിടിക്കുന്നതിനുപകരം അത് പരിഹരിക്കുന്നു. പരീക്ഷ എന്താണ് പ്രതീക്ഷിക്കുന്നതെന്ന് നിങ്ങൾ നിർണ്ണയിക്കുന്നു; AI-യോട് എന്താണ് ചെയ്യേണ്ടതെന്ന് പറയുക, കോഡ് എന്താണ് ചെയ്യുന്നത് എന്നല്ല.
ടെസ്റ്റ് കവറേജ് അളവും വീഴ്ചയും
ടെസ്റ്റ് കവറേജ് (കോഡിൻ്റെ എത്ര ശതമാനം ടെസ്റ്റുകൾ പ്രവർത്തിപ്പിക്കുന്നു) ഉപയോഗപ്രദവും എന്നാൽ തെറ്റിദ്ധരിപ്പിക്കുന്നതുമായ ഒരു മെട്രിക് ആണ്. 90% കവറേജ് സൂചിപ്പിക്കുന്നത് 90% കോഡും എക്സിക്യൂട്ട് ചെയ്തിട്ടുണ്ടെന്ന്; എന്നാൽ ആ ലൈനുകൾ ശരിയായി പ്രവർത്തിക്കുന്നുണ്ടെന്ന് സ്ഥിരീകരിച്ചിട്ടില്ല. ഒരു ലൈൻ പ്രവർത്തിപ്പിക്കുകയും ഫലം പരിശോധിക്കാതിരിക്കുകയും ചെയ്യുന്ന ഒരു ടെസ്റ്റ് സ്കോപ്പ് വർദ്ധിപ്പിക്കും എന്നാൽ സുരക്ഷ നൽകുന്നില്ല. ലക്ഷ്യം ഉയർന്ന സംഖ്യകളല്ല, മറിച്ച് അർത്ഥവത്തായ മൂല്യനിർണ്ണയമാണ്. നിങ്ങൾക്ക് AI ഉപയോഗിച്ച് വേഗത്തിൽ സ്കെയിൽ ചെയ്യാൻ കഴിയും, എന്നാൽ ഓരോ ടെസ്റ്റും യഥാർത്ഥത്തിൽ ഒരു സ്വഭാവം പരിശോധിക്കുന്നുവെന്ന് ഉറപ്പാക്കുക.
മൂന്ന് മിനി കേസുകൾ
കേസ് 1 - അതിർത്തി സാഹചര്യം പിടികൂടി. ഒരു ബാങ്കിംഗ് ആപ്ലിക്കേഷനിൽ ഒരു മണി ട്രാൻസ്ഫർ ഫംഗ്ഷൻ്റെ ടെസ്റ്റുകൾക്കായി AI-യോട് ആവശ്യപ്പെട്ടു, പ്രത്യേകമായി "നെഗറ്റീവ് തുക", "ബാലൻസേക്കാൾ കൂടുതൽ" എന്നീ സാഹചര്യങ്ങൾ ചേർത്തു. നെഗറ്റീവ് തുക കൊണ്ട് കൈമാറ്റം തടഞ്ഞിട്ടില്ലെന്ന് പരിശോധനയിൽ കണ്ടെത്തി; ഇത് ഉൽപ്പാദനത്തിൽ വലിയ സുരക്ഷാ വീഴ്ചയായിരിക്കും. ഒരു വൺ ലൈൻ നിയന്ത്രണം ചേർത്ത് അടച്ചു. പാഠം: അതിർത്തി പരിശോധനകൾ ഏറ്റവും മൂല്യവത്തായ പരിശോധനകളാണ്.
കേസ് 2 - വ്യാജ പരിശോധന. AI നിർമ്മിച്ച 40 യൂണിറ്റ് ടെസ്റ്റുകൾ ഉപയോഗിച്ച് കവറേജ് 85% ആയി ഉയർത്തുന്നതിൽ ഒരു ടീമിന് ആശ്വാസം ലഭിച്ചു. പരിശോധനയ്ക്കിടെ, മിക്ക ടെസ്റ്റുകളും യഥാർത്ഥത്തിൽ ഒരു ഔട്ട്പുട്ടും പരിശോധിച്ചിട്ടില്ലെന്ന് കണ്ടു, അവർ ഫംഗ്ഷൻ വിളിച്ച് assertTrue(true) എന്ന് എഴുതി. കവറേജ് ഉയർന്നതാണെങ്കിലും സംരക്ഷണം പൂജ്യമായിരുന്നു. ടെസ്റ്റുകൾ പുനഃപരിശോധിക്കുകയും യഥാർത്ഥ മൂല്യനിർണ്ണയങ്ങളോടെ വീണ്ടും എഴുതുകയും ചെയ്തു. പാഠം: കവറേജ് നമ്പറുകൾ നുണ പറയാനാകും.
കേസ് 3 - യുഐ ടെസ്റ്റിംഗ് ത്വരിതപ്പെടുത്തി. ഒരു ഇ-കൊമേഴ്സ് ടീം 20 മിനിറ്റിനുള്ളിൽ AI ഉപയോഗിച്ച് ആഡ്-ടു-കാർട്ട് ഫ്ലോയുടെ ഒരു XCUITest സ്ക്രിപ്റ്റ് എഴുതി; കൈകൊണ്ട് എഴുതിയാൽ പകുതി ദിവസമെടുക്കും. AI ഊഹിച്ച സ്ക്രീൻ എലമെൻ്റ് ഐഡൻ്റിഫയറുകൾ; ടീം അവ യഥാർത്ഥ കോഡുമായി പൊരുത്തപ്പെടുത്തി ശരിയാക്കി. ഡ്രാഫ്റ്റ് വേഗത യഥാർത്ഥമാണ്, എന്നാൽ ഐഡൻ്റിഫയർ സ്ഥിരീകരണം മനുഷ്യ പ്രവർത്തനമാണ്.
ദുർബലമായ പ്രോംപ്റ്റ് / ശക്തമായ പ്രോംപ്റ്റ്
ദുർബലമായ പ്രോംപ്റ്റ്: "ഈ പ്രവർത്തനത്തിനായി ഒരു ടെസ്റ്റ് എഴുതുക."
ശക്തമായ നിർദ്ദേശം: "JUnit5 + MockK ഉപയോഗിച്ച് ഈ കോട്ലിൻ ഫംഗ്ഷനായി യൂണിറ്റ് ടെസ്റ്റുകൾ നിർമ്മിക്കുക. ഫംഗ്ഷൻ: പണ കൈമാറ്റം (തുക, ഉറവിടം, ടാർഗെറ്റ്) പരീക്ഷിക്കാനുള്ള പെരുമാറ്റം (കോഡ് എന്തുചെയ്യണം):- സാധുവായ കൈമാറ്റം വിജയിക്കണം- നെഗറ്റീവ് അല്ലെങ്കിൽ പൂജ്യം തുക നിരസിക്കണം- ബാലൻസിനേക്കാൾ വലുത് അല്ലെങ്കിൽ പൂജ്യം തുക നിരസിക്കണം- ഓരോന്നിനും ഉചിതമായ ടെസ്റ്റ് പേര് മാത്രം നിരസിക്കേണ്ടതാണ്. വിവരണാത്മകം, ബാഹ്യ സേവനത്തെ പരിഹസിക്കുക, ശൂന്യമായ അവകാശവാദം എഴുതരുത്.
പകർത്താവുന്ന ടെംപ്ലേറ്റുകൾ
യൂണിറ്റ് ടെസ്റ്റ് ടെംപ്ലേറ്റ്: "[ഭാഷ] ഈ ഫംഗ്ഷനായി [JUnit/XCTest] യൂണിറ്റ് ടെസ്റ്റുകൾ സൃഷ്ടിക്കുക. പ്രതീക്ഷിക്കുന്ന പെരുമാറ്റം: [എന്താണ് ചെയ്യേണ്ടത്]. ഉൾപ്പെടുത്തുക: സന്തോഷകരമായ സാഹചര്യം, ശൂന്യമായ ഇൻപുട്ട്, ബ്രേക്ക്പോയിൻ്റുകൾ, പിശക് കേസ്. ഓരോ പരിശോധനയും ഒരൊറ്റ പെരുമാറ്റം പരിശോധിക്കട്ടെ; അർത്ഥവത്തായ ഉറപ്പ് ഉപയോഗിക്കുക; പരിഹസിക്കുക. [കോഡ്]"
യുഐ ടെസ്റ്റിംഗ് ടെംപ്ലേറ്റ്: "ഇനിപ്പറയുന്ന ഫ്ലോയുടെ ഒരു യുഐ ടെസ്റ്റ് [Espresso/XCUITest] ഉപയോഗിച്ച് എഴുതുക: [ഉപയോക്തൃ ഫ്ലോ സ്റ്റെപ്പ് ബൈ സ്റ്റെപ്പ്]. പ്രവേശനക്ഷമത ഐഡിയുള്ള സ്ക്രീൻ ഘടകങ്ങൾ തിരഞ്ഞെടുക്കുക, വാചകത്തിന് പകരം ഐഡി ഉപയോഗിക്കുക. കാത്തിരിപ്പ് തന്ത്രം ചേർക്കുക. എലമെൻ്റ് ഐഡികൾ യഥാർത്ഥ കോഡുമായി പൊരുത്തപ്പെടുത്താൻ എന്നെ ഓർമ്മിപ്പിക്കുക."
ടെസ്റ്റ് ഓഡിറ്റ് ടെംപ്ലേറ്റ്:"ഈ ടെസ്റ്റുകൾ പരിശോധിക്കുക:1) അവ യഥാർത്ഥത്തിൽ ഒരു ഔട്ട്പുട്ട്/പെരുമാറ്റം പരിശോധിക്കുന്നുണ്ടോ അതോ അവ അസാധുവാണോ?2) പരിധി കേസുകൾ ഉൾക്കൊള്ളുന്നുണ്ടോ?3) അവർ കോഡ് ബഗ് പരിഹരിക്കുമോ അതോ ശരിയായ പെരുമാറ്റം പ്രതീക്ഷിക്കുന്നുണ്ടോ? ദുർബലമായ ടെസ്റ്റുകൾ ഫ്ലാഗ് ചെയ്ത് ശക്തിപ്പെടുത്തുക. [ടെസ്റ്റുകൾ]"
കവറേജ് ഒപ്റ്റിമൈസേഷൻ ടെംപ്ലേറ്റ്: "ഈ ക്ലാസിലെ പരീക്ഷിക്കാത്ത ഭാഗങ്ങൾ തിരിച്ചറിയുകയും അർത്ഥവത്തായ പരിശോധനകൾ നിർദ്ദേശിക്കുകയും ചെയ്യുക. കവറേജുകളുടെ എണ്ണം മാത്രമല്ല, യഥാർത്ഥ അപകടസാധ്യതയുള്ള പാതകൾക്ക് മുൻഗണന നൽകുക. [കോഡ്]"
സാധാരണ തെറ്റുകൾ
- സന്തോഷകരമായ സാഹചര്യം പരീക്ഷിക്കുന്നു. പിശകുകൾ പരിധി സംസ്ഥാനങ്ങളിൽ സൂക്ഷിക്കുന്നു; അവരോട് തുറന്ന് ചോദിക്കുക.
- ശൂന്യമായ / ഉപയോഗശൂന്യമായ ഒരു പരിശോധന സ്വീകരിക്കുന്നു. assertTrue(true) തരത്തിലുള്ള പരിശോധനകൾ വ്യാപ്തി വർദ്ധിപ്പിക്കുകയും സംരക്ഷണം നൽകുകയും ചെയ്യുന്നില്ല.
- കോഡ് എന്താണ് ചെയ്യുന്നതെന്ന് AI പരിശോധിച്ചുറപ്പിക്കുക. കോഡ് എന്തുചെയ്യണമെന്ന് ടെസ്റ്റിംഗ് പ്രതീക്ഷിക്കണം; അല്ലെങ്കിൽ അത് ബഗ് പരിഹരിക്കുന്നു.
- ഉദ്ദേശ്യത്തിനായി സ്കോപ്പ് നമ്പർ തെറ്റിദ്ധരിക്കുന്നു. 90% കവറേജ് 90% കൃത്യത അർത്ഥമാക്കുന്നില്ല.
- UI പരിശോധനയിൽ ടെക്സ്റ്റിലേക്ക് ലിങ്ക് ചെയ്യുന്നു. വാചകം മാറുമ്പോൾ പരിശോധന തകർന്നിരിക്കുന്നു; സ്റ്റേബിൾ ഐഡൻ്റിഫയർ (ഐഡി) ഉപയോഗിക്കുക.
- തെറ്റായി മോക്ക് സജ്ജീകരിക്കുന്നു. യഥാർത്ഥ സേവനത്തെ വിളിക്കുന്ന "യൂണിറ്റ് ടെസ്റ്റ്" മന്ദഗതിയിലുള്ളതും പൊട്ടുന്നതുമായിരിക്കും.
ചുരുക്കത്തിൽ
മൊബൈൽ ഗുണനിലവാരത്തിൻ്റെ നട്ടെല്ലാണ് ടെസ്റ്റിംഗ്, ഈ മേഖലയിൽ AI വളരെ കാര്യക്ഷമമാണ്, പ്രത്യേകിച്ച് യൂണിറ്റ് ടെസ്റ്റിംഗിൽ. ടെസ്റ്റിംഗ് പിരമിഡ് പിന്തുടരുക: നിരവധി യൂണിറ്റുകൾ, മീഡിയം ഇൻ്റഗ്രേഷൻ, ചെറിയ UI ടെസ്റ്റിംഗ്. സന്തോഷകരമായ സാഹചര്യവും പരിമിതമായ കേസുകളും പിശക് പാതകളും AI-യോട് വ്യക്തമായി ചോദിക്കുക. സൃഷ്ടിക്കുന്ന ഓരോ ടെസ്റ്റും യഥാർത്ഥത്തിൽ ഒരു സ്വഭാവത്തെ സാധൂകരിക്കുന്നുവെന്ന് ഉറപ്പാക്കുക; ശൂന്യമായ പരിശോധനകളും ഊതിപ്പെരുപ്പിച്ച കവറേജും തെറ്റിദ്ധരിപ്പിക്കുന്നതാണ്. ഏറ്റവും പ്രധാനമായി, കോഡ് എന്താണ് ചെയ്യേണ്ടതെന്ന് AI-യോട് പറയുക, അത് എന്താണ് ചെയ്യുന്നത് എന്നല്ല, അതിനാൽ പരിശോധന ബഗ് പിടിക്കുന്നു, അത് പരിഹരിക്കില്ല.
ആപ്ലിക്കേഷൻ ടാസ്ക്
ഒരു ബിസിനസ് ലോജിക് ഫംഗ്ഷനുവേണ്ടി "യൂണിറ്റ് ടെസ്റ്റ് ടെംപ്ലേറ്റ്" ഉപയോഗിച്ച് AI-യിൽ നിന്ന് ടെസ്റ്റുകൾ അഭ്യർത്ഥിക്കുക (ഉദാ. കിഴിവ് കണക്കുകൂട്ടൽ അല്ലെങ്കിൽ ഫോം മൂല്യനിർണ്ണയം) കൂടാതെ പരിധി കേസുകൾ വ്യക്തമായി വ്യക്തമാക്കുക (അസാധുവാണ്, നെഗറ്റീവ്, വളരെ വലുത്). ജനറേറ്റുചെയ്ത ടെസ്റ്റുകൾ പ്രവർത്തിപ്പിക്കുക, തുടർന്ന് "ടെസ്റ്റ് ഓഡിറ്റ് ടെംപ്ലേറ്റ്" ഉപയോഗിച്ച് അതേ ടെസ്റ്റുകൾ ഓഡിറ്റ് ചെയ്യുക. കുറഞ്ഞത് ഒരു ദുർബലമായ ടെസ്റ്റെങ്കിലും കണ്ടെത്തുക, അത് ശക്തിപ്പെടുത്തുക, കൂടാതെ ടെസ്റ്റുകൾ ഫംഗ്ഷൻ്റെ യഥാർത്ഥ പിശക് പിടിക്കുന്നുണ്ടോ എന്ന് പരിശോധിക്കുക (ഒരു ചെറിയ ബഗ് ചേർത്ത്).
ചെക്ക്ലിസ്റ്റ്
- [ ] ടെസ്റ്റ് പിരമിഡിന് അനുയോജ്യമായ പാളി ഞാൻ തിരഞ്ഞെടുത്തു (മുൻഗണനാ യൂണിറ്റ്)
- [ ] സന്തോഷകരമായ സാഹചര്യത്തിന് പുറമെ എനിക്ക് പരിധിയും പിശക് കേസുകളും വേണം
- [ ] ഓരോ ടെസ്റ്റിലും അർത്ഥവത്തായ ഒരു അവകാശവാദം അടങ്ങിയിട്ടുണ്ടെന്ന് ഞാൻ പരിശോധിച്ചു
- [ ] കോഡ് എന്താണ് ചെയ്യേണ്ടതെന്ന് ഞാൻ AI യോട് പറഞ്ഞു, അത് എന്താണ് ചെയ്യുന്നത് എന്നല്ല
- കവറേജുകളുടെ എണ്ണത്തിലല്ല, യഥാർത്ഥ അപകട പാതകളിലാണ് ഞാൻ ശ്രദ്ധ കേന്ദ്രീകരിച്ചത്
- [ ] ഞാൻ UI ടെസ്റ്റുകളിൽ സ്റ്റേബിൾ ഐഡൻ്റിഫയർ ഉപയോഗിച്ചു, ഞാൻ ടെക്സ്റ്റുമായി ബന്ധിപ്പിച്ചില്ല