એકમો
1. સૉફ્ટવેર પરીક્ષણ અને QA માં કૃત્રિમ બુદ્ધિનો પરિચય: ભૂમિકાઓ, સીમાઓ, નકલી જોખમ અને માન્યતા 2. ટેસ્ટ દૃશ્ય અને ટેસ્ટ કેસ જનરેશન: જરૂરિયાતથી વ્યાપક નિયંત્રણ સુધી 3. સંશોધનાત્મક પરીક્ષણ અને પરીક્ષણ આઈડિયા જનરેશન: AI સાથે સર્જનાત્મક બગ શિકાર 4. UI ટેસ્ટ ઓટોમેશન: AI સાથે સેલેનિયમ, નાટ્યકાર અને સાયપ્રસ કોડ જનરેટ કરવું 5. API ટેસ્ટ ઓટોમેશન: AI સાથે કરાર, સ્કીમા અને એન્ડ-ટુ-એન્ડ માન્યતા 6. યુનિટ ટેસ્ટ જનરેશન અને ટેસ્ટેબિલિટી: AI સાથે મજબૂત પરીક્ષણ 7. ભૂલ અહેવાલ લેખન અને પ્રાથમિકતા: AI સાથે સ્પષ્ટ, પુનઃઉત્પાદન કરી શકાય તેવા રેકોર્ડ્સ 8. ટેસ્ટ કવરેજ વિશ્લેષણ અને જોખમ-આધારિત પરીક્ષણ: AI સાથે યોગ્ય લક્ષ્ય રાખવું 9. રીગ્રેસન પરીક્ષણ, પરીક્ષણ જાળવણી અને નાજુક પરીક્ષણોનો સામનો કરવો 10. ખોટા-વિશ્વાસનું જોખમ, પરીક્ષણ ગુણવત્તા અને પરિવર્તન પરીક્ષણ: પરીક્ષણ પરીક્ષણો 11. એન્ડ-ટુ-એન્ડ વર્કફ્લો, CI/CD એકીકરણ, નીતિશાસ્ત્ર અને સુરક્ષા: જવાબદારીપૂર્વક AI નો ઉપયોગ
એકમ 5 / 11

API ટેસ્ટ ઓટોમેશન: AI સાથે કરાર, સ્કીમા અને એન્ડ-ટુ-એન્ડ માન્યતા

નફો:

  • સ્ટેટસ કોડ, સ્કીમા/કોન્ટ્રાક્ટ, બિઝનેસ નિયમ અને નેગેટિવ/ઓથોરાઇઝેશન લેયર પર આર્ટિફિશિયલ ઇન્ટેલિજન્સ સપોર્ટ સાથે ઊંડાણપૂર્વક API ટેસ્ટિંગ કરવાની ક્ષમતા
  • નમૂના પ્રતિસાદમાંથી JSON સ્કીમા જનરેટ કરવાની ક્ષમતા અને પ્રકાર અને આવશ્યક માન્યતા સાથે માત્ર સ્ટેટસ કોડ જોવાના સ્યુડો-વિશ્વાસને ટાળવા
  • સિન્થેટીક ડેટા સાથે અધિકૃતતા અને IDOR જેવા સુરક્ષા દૃશ્યોને ચકાસવાની ક્ષમતા અને માત્ર અધિકૃતતાની અંદર રક્ષણાત્મક હેતુઓ માટે

મોટાભાગના આધુનિક સોફ્ટવેર એપીઆઈ (એપ્લીકેશન પ્રોગ્રામિંગ ઈન્ટરફેસ - ઈન્ટરફેસ જ્યાં સોફ્ટવેરના બે ટુકડાઓ ચોક્કસ કરાર અનુસાર વાત કરે છે) દ્વારા પૃષ્ઠભૂમિમાં એકબીજા સાથે વાત કરે છે. જ્યારે મોબાઇલ એપ્લિકેશન કાર્ટમાં વસ્તુઓ ઉમેરે છે, ત્યારે તે ખરેખર સર્વર પર API ને વિનંતી મોકલે છે. API પરીક્ષણ તપાસે છે કે ઇન્ટરફેસને ધ્યાનમાં લીધા વિના, આ વાતચીત સાચી, સુરક્ષિત અને સુસંગત છે; તે UI પરીક્ષણ કરતાં ઝડપી, વધુ સ્થિર અને ઊંડા છે. કૃત્રિમ બુદ્ધિ (AI) API પરીક્ષણમાં ખૂબ જ કાર્યક્ષમ છે: તે API વ્યાખ્યામાંથી પરીક્ષણો જનરેટ કરે છે, પ્રતિભાવ સ્કીમા (કોન્ટ્રેક્ટ જે ડેટાની રચનાને વ્યાખ્યાયિત કરે છે) બહાર કાઢે છે, એજ કેસોની યાદી આપે છે. પરંતુ ફરીથી કેન્દ્રીય ચેતવણી લાગુ પડે છે: AI તમારા API ના વાસ્તવિક વ્યવસાય નિયમોને જાણતું નથી; સુપરફિસિયલ પરીક્ષણો ઉત્પન્ન કરે છે જે ફક્ત "200 પરત ફર્યા" ની પુષ્ટિ કરે છે. તમારું કાર્ય એ ખાતરી કરવાનું છે કે પરીક્ષણ વાસ્તવિક કરાર અને વ્યવસાયના તર્કની ચકાસણી કરે છે.

આ યુનિટમાં, તમે પોસ્ટમેન, REST એશ્યોર્ડ અને સ્કીમા માન્યતા જેવા અભિગમો સાથે AI-સપોર્ટેડ, ડીપ API ટેસ્ટ કેવી રીતે સેટ કરવા તે શીખી શકશો.

API પરીક્ષણના સ્તરો

દરેક સ્તર પર AI અલગ-અલગ રીતે મદદ કરવા સાથે, API પરીક્ષણને અનેક ઊંડાણોમાં ધ્યાનમાં લો:

1. સ્થિતિ કોડ અને મૂળભૂત પ્રતિભાવ. શું વિનંતી અપેક્ષિત HTTP સ્ટેટસ કોડ (સફળતા માટે 200/201, ભૂલ માટે 400/401/404) પરત કરે છે? આ સૌથી સુપરફિસિયલ સ્તર છે; AI સરળતાથી ઉત્પાદન કરે છે પરંતુ એકલા ખોટા-વિશ્વાસ આપે છે.

2. સ્કીમા/કરાર માન્યતા. શું પ્રતિસાદનું માળખું કરારને બંધબેસે છે — શું અપેક્ષિત ક્ષેત્રો હાજર છે, શું તેમના પ્રકારો સાચા છે, શું જરૂરી ક્ષેત્રો ખૂટે છે? AI JSON સ્કીમા જનરેટ કરી શકે છે - જે માનક જે JSON દસ્તાવેજની રચનાને વ્યાખ્યાયિત કરે છે - નમૂનાના પ્રતિભાવમાંથી, અને પરીક્ષણો તે સ્કીમા સામે માન્ય કરી શકે છે. ફીલ્ડ-આધારિત દાવો મેન્યુઅલી લખવા કરતાં આ વધુ મજબૂત છે.

3. વ્યવસાય નિયમ માન્યતા. વાસ્તવિક મૂલ્ય અહીં છે: "1000 TL ઓર્ડર માટે, ડિસ્કાઉન્ટ ફીલ્ડ 100 હોવું જોઈએ", "રદ કરેલ ઓર્ડર ફરીથી રદ કરી શકાતો નથી". જો તમે તેને નિયમો આપો તો જ AI આની ચકાસણી કરશે; જો તમે તેને ન આપો, તો તે કૂદી જશે.

4. નકારાત્મક અને સુરક્ષા. અમાન્ય ટોકન માટે 401, અન્ય કોઈના ડેટાને ઍક્સેસ કરવા માટે 403, ખરાબ શરીર માટે 400 સાફ કરો. અધિકૃતતા પરીક્ષણો (ઉપયોગકર્તા ફક્ત તેમના પોતાના ડેટાને જ એક્સેસ કરી શકે છે તેની ચકાસણી) એ API સુરક્ષાનું કેન્દ્ર છે અને તે રક્ષણાત્મક હેતુઓ માટે કરવામાં આવે છે.

ટિપ: AI ને "માત્ર સ્ટેટસ કોડ જ નહીં, પણ રિસ્પોન્સ સ્કીમા અને તે વ્યવસાય નિયમોને પણ માન્ય કરવા" કહ્યા વિના પરીક્ષણની વિનંતી કરશો નહીં. નહિંતર, તમારી પાસે "200 પાછા ફર્યા, પાસ થયા" કહેતા પરીક્ષણો બાકી રહેશે પરંતુ API દૂષિત ડેટા પરત કરે છે તેની નોંધ લેશો નહીં.

નબળા પ્રોમ્પ્ટ / મજબૂત પ્રોમ્પ્ટ

નબળા: "આ API માટે પરીક્ષણો લખો."
સશક્ત: "પોસ્ટ/ઓર્ડર એન્ડપોઇન્ટ માટે REST એશ્યોર્ડ (જાવા) પરીક્ષણો લખો. કરાર: ઉત્પાદન ID અને જથ્થો શરીરમાં ફરજિયાત છે; 201 અને {orderId, કુલ, ડિસ્કાઉન્ટ, સ્થિતિ} સફળતા પર પરત કરવામાં આવે છે. વ્યવસાયના નિયમો: 1000 TL કરતાં 10% ડિસ્કાઉન્ટ; જો 400 = 400 માં; ટોકન; 403 જ્યારે અન્ય વપરાશકર્તાનો ઓર્ડર જુઓ: (1) સ્થિતિ કોડ, (2) પ્રતિસાદ JSON સ્કીમા માન્યતા, (4) દરેક દાવાને સ્પષ્ટ વ્યવસાય નિયમ સાથે જોડો.

શક્તિશાળી પ્રોમ્પ્ટ કરાર, વ્યવસાય નિયમો, સુરક્ષા દૃશ્યો અને સ્કીમા માન્યતા અપેક્ષા આપે છે.

કરાર પરીક્ષણ: ટીમો વચ્ચે બ્રેકઅપ અટકાવવું

માઇક્રોસર્વિસ આર્કિટેક્ચર્સમાં (એપ્લિકેશનને નાની સેવાઓમાં વિભાજીત કરવામાં આવે છે જે એકબીજાથી સ્વતંત્ર હોય છે અને API સાથે વાત કરે છે), સેવાના પ્રતિભાવ ફોર્મેટને બદલવાથી તેની સાથે જોડાયેલ અન્ય સેવાઓમાં શાંતિપૂર્વક વિક્ષેપ પડે છે. કોન્ટ્રાક્ટ ટેસ્ટિંગ - પરીક્ષણ કે જે ચકાસે છે કે પ્રદાતા સેવા અને ઉપભોક્તા સેવા વચ્ચેનો API કરાર બંને બાજુએ તૂટી ગયો નથી - આવા બ્રેક્સ વહેલા પકડે છે. વિચાર આ છે: ઉપભોક્તા પ્રતિભાવના સ્વરૂપને વ્યાખ્યાયિત કરે છે જે તે નિર્માતા પાસેથી "કરાર" તરીકે અપેક્ષા રાખે છે; દરેક ફેરફાર સાથે, ઉત્પાદક પરીક્ષણ કરે છે કે તે હજી પણ આ કરારનું પાલન કરે છે. તેથી જ્યારે ફીલ્ડનું નામ અથવા પ્રકાર બદલાય છે, ત્યારે ગ્રાહક પાઇપલાઇન ક્રેશ થાય તે પહેલાં તેને સૂચિત કરે છે.

AI આ સંદર્ભમાં બે કાર્યોને વેગ આપે છે: એક કરારનો મુસદ્દો તૈયાર કરવો જે હાલના API પ્રતિસાદથી ગ્રાહકની અપેક્ષાને પ્રતિબિંબિત કરે છે, અને કરારની કઇ કલમમાં ફેરફાર તૂટી શકે છે તે પૂર્વ-ચિહ્નિત કરવું. પરંતુ કરાર પોતે જ એક વ્યવસાયિક નિર્ણય છે: નિષ્ણાત નક્કી કરે છે કે કયા ક્ષેત્રો ખરેખર નિર્ણાયક છે, કયા ફેરફારો પછાત સુસંગતતા તોડી નાખશે — જૂના ગ્રાહકો કામ કરવાનું ચાલુ રાખે છે. AI કરાર લખે છે; તમે જ તેને મંજૂર કરો છો.

ટીપ: ફીલ્ડને કાઢી નાખવું અથવા API માં ફીલ્ડનો પ્રકાર બદલવો એ લગભગ હંમેશા બ્રેકિંગ ફેરફાર છે. નવા ફીલ્ડ ઉમેરવાનું સામાન્ય રીતે સલામત છે. AI દ્વારા ફેરફારને "બ્રેકિંગ અથવા સેફ" તરીકે વર્ગીકૃત કરવાથી ઝડપી પ્રી-રીલીઝ સુરક્ષા તપાસ મળે છે.

પોસ્ટમેન કે કોડ આધારિત?

માપદંડ

પોસ્ટમેન/ન્યુમેન

રેસ્ટ એશ્યોર્ડ / કોડ (જાવા, સી#, જેએસ)

શીખવું

સરળ, દ્રશ્ય

કોડ જ્ઞાન જરૂરી

સંસ્કરણ નિયંત્રણ

સંગ્રહ JSON

સીધા સ્ત્રોત કોડમાં

જટિલ તર્ક

લિમિટેડ (JS સ્ક્રિપ્ટ્સ)

સંપૂર્ણ પ્રોગ્રામિંગ પાવર

CI/CD એકીકરણ

ન્યુમેન સાથે

બિલ્ડ પર સીધો આધાર રાખે છે

સ્કીમા માન્યતા

ટેસ્ટ સ્ક્રિપ્ટો સાથે

પુસ્તકાલય સાથે શક્તિશાળી

ટીમ સ્કેલ

નાના/મધ્યમ

મોટું, પરિપક્વ

AI બંને માટે કોડ જનરેટ કરે છે; તમને જે જોઈએ છે તે સ્પષ્ટ કરો.

ચાર નકલ કરી શકાય તેવા નમૂનાઓ

1) કરાર આધારિત API પરીક્ષણ:

તમારી ભૂમિકા: વરિષ્ઠ API ટેસ્ટ એન્જિનિયર. [ટૂલ/ભાષા] સાથે નીચેના અંતિમ બિંદુ માટે પરીક્ષણો લખો: [પદ્ધતિ + પાથ]. કરાર: [જરૂરી ક્ષેત્રો, સફળતાનો કોડ, પ્રતિસાદ માળખું]. વ્યવસાય નિયમો: [નિયમો].પરીક્ષણ સ્તરો: (1) સ્થિતિ કોડ (2) પ્રતિસાદ સ્કીમા માન્યતા (3) પ્રત્યેક વ્યાપાર ઓથોરાઈઝેશન નિયમ (4) નેગેટિવ ઓથોરાઈઝેશન (4) નેગેટિવ નિયમ તરીકે કલમ

2) નમૂનાના પ્રતિભાવમાંથી સ્કીમા જનરેશન:

નીચેના નમૂના API પ્રતિસાદમાંથી JSON સ્કીમા જનરેટ કરો. જરૂરી ક્ષેત્રો, પ્રકારો, ફોર્મેટની મર્યાદાઓ (તારીખ, ઇમેઇલ, નંબર શ્રેણી) નો ઉલ્લેખ કરો. પછી એક પરીક્ષણ ઉદાહરણ આપો જે આ સ્કીમા સામે માન્ય કરે છે. નમૂના પ્રતિસાદ: [પેસ્ટ JSON]

3) નકારાત્મક અને અધિકૃતતાના દૃશ્યો:

એન્ડપોઇન્ટ[એન્ડપોઇન્ટ] માટે નકારાત્મક અને સુરક્ષા પરીક્ષણ કેસ જનરેટ કરો. શામેલ છે: ખૂટે છે/જરૂરી ક્ષેત્ર, ખોટો પ્રકાર, ખૂબ મોટી કિંમત, અમાન્ય/સમાપ્ત ટોકન, અનધિકૃત સંસાધનની ઍક્સેસ (IDOR — ID બદલીને કોઈ બીજાના રેકોર્ડની ઍક્સેસ), દર મર્યાદા. દરેક દૃશ્ય માટે અપેક્ષિત સ્ટેટસ કોડ અને એરર બોડીનો ઉલ્લેખ કરો. નોંધ: ફક્ત મારા પોતાના API પર જ પરીક્ષણ કરવામાં આવશે, અધિકૃત.

4) સ્યુડો-ટ્રસ્ટ નિયંત્રણ:

આ API પરીક્ષણ તપાસો. જો સર્વરે સાચો સ્ટેટસ કોડ પરંતુ FALSEbody/ડેટા પરત કર્યા તો શું આ ટેસ્ટ પકડશે? જો નહીં, તો સ્કીમા અને બિઝનેસ નિયમની માન્યતા ઉમેરો. ટેસ્ટ: [પેસ્ટ ટેસ્ટ]

ત્રણ નાના કેસો

કેસ 1 - સ્કીમા માન્યતાની શક્તિ. એક ટીમ માત્ર એઆઈ સાથે ઉત્પાદિત પરીક્ષણોમાં સ્ટેટસ કોડ તપાસી રહી હતી. એક સંસ્કરણમાં, API એ ભૂલથી કુલ ફીલ્ડને ટેક્સ્ટ ("1200") તરીકે પરત કરવાનું શરૂ કર્યું; પરીક્ષણો લીલા રહ્યા કારણ કે તે હજુ પણ 200 પરત કરી રહ્યું હતું. મોબાઈલ એપ્લિકેશન ક્રેશ થઈ ગઈ. "સેમ્પલ રિસ્પોન્સમાંથી સ્કીમા જનરેશન" ટેમ્પલેટ સાથે પ્રકાર માન્યતા ઉમેર્યા પછી, તે જ ભૂલ તરત જ પકડાઈ ગઈ.

કેસ 2 — ઓથોરિટી ગેપ (IDOR). એક નિષ્ણાતે AI દ્વારા જનરેટ કરેલ "નકારાત્મક અને અધિકૃતતાના દૃશ્યો" વચ્ચે IDOR પરીક્ષણ ચલાવ્યું: તેણે વપરાશકર્તા A ના ટોકન સાથે વપરાશકર્તા B ના ઓર્ડર IDની વિનંતી કરી. API એ 200 અને B નો ડેટા પરત કર્યો — એક ગંભીર અધિકૃતતા નબળાઈ. આ રક્ષણાત્મક પરીક્ષણ લાઇવ થાય તે પહેલાં ડેટા લીકને બંધ કરી દીધું.

કેસ 3 — વ્યવસાય નિયમ બાયપાસ. AI એ ડિસ્કાઉન્ટ એન્ડપોઇન્ટ માટે 8 પરીક્ષણો જનરેટ કર્યા; બધા 200 ચેક કરી રહ્યા હતા, કોઈ પણ ડિસ્કાઉન્ટની રકમની ચકાસણી કરી રહ્યું ન હતું. નિષ્ણાતે પ્રોમ્પ્ટમાં વ્યવસાયના નિયમો ઉમેર્યા અને તેમને પુનઃઉત્પાદિત કર્યા. નવા પરીક્ષણો દર્શાવે છે કે ડિસ્કાઉન્ટની ગણતરી 1000 TL મર્યાદા પર ખોટી રીતે કરવામાં આવી હતી (ડિસ્કાઉન્ટ 999 પર પણ લાગુ કરવામાં આવ્યું હતું). કરાર નિયંત્રણ પૂરતું નથી; વ્યવસાય નિયમ નિયંત્રણ આવશ્યક છે.

સામાન્ય ભૂલો

  • માત્ર સ્ટેટસ કોડ જોઈ રહ્યા છીએ. "200 પાછા ફર્યા અને પસાર થયા" કહેવા માટે; દૂષિત શરીર ન જોવું (ખોટો વિશ્વાસ).
  • સ્કીમા માન્યતાને બાયપાસ કરીને. ક્ષેત્રના પ્રકારો અને જવાબદારીની તપાસ ન કરવી; પ્રકાર ફેરફારો શાંતિથી પસાર થાય છે.
  • વ્યવસાય નિયમો પ્રદાન કર્યા વિના પરીક્ષણની વિનંતી કરવી. AI નિયમો જાણતું નથી; તે માત્ર તકનીકી નિયંત્રણ ઉત્પન્ન કરે છે.
  • નકારાત્મક અને હકદારી દૃશ્યો ભૂલી જવું. સુરક્ષા નબળાઈઓ (IDOR, અનધિકૃત ઍક્સેસ) ફક્ત આ પરીક્ષણો દ્વારા જ પકડાય છે.
  • વાસ્તવિક/ઉત્પાદન ટોકન્સ અને ડેટાનો ઉપયોગ કરવો. પરીક્ષણ માટે સમર્પિત મીડિયા અને કૃત્રિમ ડેટાનો ઉપયોગ કરો; વાહનમાં વાસ્તવિક ચાવીઓ ચોંટાડશો નહીં.
  • અનધિકૃત સુરક્ષા પરીક્ષણ. ફક્ત તમારા પોતાના API પર અને પરવાનગી સાથે અધિકૃતતા પરીક્ષણો ચલાવો.

સારાંશમાં

API પરીક્ષણ ઇન્ટરફેસને ધ્યાનમાં લીધા વિના, સૉફ્ટવેરના ટુકડાઓની વાણીને ઝડપથી અને ઊંડાણપૂર્વક ચકાસે છે. AI; નમૂનાના પ્રતિભાવમાંથી JSON સ્કીમા અને નકારાત્મક/સુરક્ષા દૃશ્યો જનરેટ કરવામાં કરાર પરીક્ષણો ખૂબ જ કાર્યક્ષમ છે. પરંતુ સુપરફિસિયલ પરીક્ષણો જે ફક્ત સ્ટેટસ કોડ તપાસે છે તે સ્યુડો-વિશ્વાસ આપે છે. તમામ ચાર સ્તરોની જરૂર છે: સ્થિતિ કોડ, સ્કીમા માન્યતા, વ્યવસાય નિયમ, નકારાત્મક અને અધિકૃતતા. પ્રોમ્પ્ટ પર વ્યવસાય નિયમો અને કરાર મૂકો; સિન્થેટિક ડેટા સાથે અને માત્ર અધિકૃતતા સાથે સુરક્ષા પરીક્ષણો કરો.

એપ્લિકેશન કાર્ય

તમારા પોતાના પ્રોજેક્ટમાંથી API એન્ડપોઇન્ટ પસંદ કરો. AI પાસે "કરાર-આધારિત API પરીક્ષણ" નમૂના સાથે ચાર-સ્તરનાં પરીક્ષણો લખવા દો. પછી "નમૂના પ્રતિભાવમાંથી સ્કીમા જનરેશન" સાથે પ્રકાર/અમલીકરણ માન્યતા ઉમેરો અને "સ્યુડો-ટ્રસ્ટ ચેકિંગ" લાગુ કરો. તમારા પોતાના પરીક્ષણ વાતાવરણમાં ઓછામાં ઓછું એક IDOR/ઓથોરાઇઝેશન દૃશ્ય ચલાવો. તમને મળેલા કોઈપણ કરાર અથવા વ્યવસાય નિયમોના ઉલ્લંઘનની જાણ કરો; જો તમે કોઈ શોધી શકતા નથી, તો તે સાબિત કરવા માટે ઇરાદાપૂર્વક વિકૃત પ્રતિભાવ સામે પરીક્ષણ ચલાવો કે તેણે તે પકડ્યું છે.

ચેકલિસ્ટ

  • [ ] મેં પરીક્ષણના ચાર સ્તરોને આવરી લીધા છે (કેસ, સ્કીમા, વ્યવસાય નિયમ, નકારાત્મક/અધિકૃતતા).
  • [ ] મેં સ્પષ્ટપણે AI ને કરાર અને વ્યવસાયના નિયમો આપ્યા છે.
  • [ ] મેં પરીક્ષણો સેટ કર્યા છે જે પ્રતિભાવ સ્કીમા (ક્ષેત્ર, પ્રકાર, આવશ્યક) માન્ય કરે છે.
  • [ ] મેં ઓછામાં ઓછું એક અધિકૃતતા/IDOR દૃશ્ય રક્ષણાત્મક રીતે અજમાવ્યું છે.
  • [ ] મેં વાસ્તવિક ટોકન/ડેટાને બદલે ટેસ્ટ એન્વાયર્નમેન્ટ અને સિન્થેટિક ડેટાનો ઉપયોગ કર્યો.
  • [ ] મેં "સ્યુડો-કોન્ફિડન્સ ચેક" વડે સાબિત કર્યું કે દરેક ટેસ્ટ દૂષિત પ્રતિભાવને પકડે છે.