ਲਾਭ:
- ਸਥਿਤੀ ਕੋਡ, ਸਕੀਮਾ/ਠੇਕੇ, ਕਾਰੋਬਾਰੀ ਨਿਯਮ ਅਤੇ ਨਕਾਰਾਤਮਕ/ਅਧਿਕਾਰਤ ਪਰਤਾਂ 'ਤੇ ਨਕਲੀ ਖੁਫੀਆ ਸਹਾਇਤਾ ਨਾਲ ਡੂੰਘਾਈ ਨਾਲ API ਟੈਸਟ ਕਰਨ ਦੀ ਸਮਰੱਥਾ
- ਨਮੂਨੇ ਦੇ ਜਵਾਬ ਤੋਂ JSON ਸਕੀਮਾ ਬਣਾਉਣ ਦੀ ਸਮਰੱਥਾ ਅਤੇ ਕਿਸਮ ਅਤੇ ਲਾਜ਼ਮੀ ਪ੍ਰਮਾਣਿਕਤਾ ਦੇ ਨਾਲ ਸਥਿਤੀ ਕੋਡ ਨੂੰ ਦੇਖਣ ਦੇ ਸੂਡੋ-ਵਿਸ਼ਵਾਸ ਤੋਂ ਬਚੋ
- ਸੁਰੱਖਿਆ ਦ੍ਰਿਸ਼ਾਂ ਜਿਵੇਂ ਕਿ ਪ੍ਰਮਾਣਿਕਤਾ ਅਤੇ IDOR ਨੂੰ ਸਿੰਥੈਟਿਕ ਡੇਟਾ ਦੇ ਨਾਲ ਅਤੇ ਸਿਰਫ ਅਧਿਕਾਰ ਦੇ ਅੰਦਰ ਰੱਖਿਆਤਮਕ ਉਦੇਸ਼ਾਂ ਲਈ ਟੈਸਟ ਕਰਨ ਦੀ ਸਮਰੱਥਾ
ਬਹੁਤੇ ਆਧੁਨਿਕ ਸੌਫਟਵੇਅਰ API (ਐਪਲੀਕੇਸ਼ਨ ਪ੍ਰੋਗਰਾਮਿੰਗ ਇੰਟਰਫੇਸ - ਉਹ ਇੰਟਰਫੇਸ ਜਿੱਥੇ ਸੌਫਟਵੇਅਰ ਦੇ ਦੋ ਟੁਕੜੇ ਇੱਕ ਖਾਸ ਇਕਰਾਰਨਾਮੇ ਦੇ ਅਨੁਸਾਰ ਗੱਲ ਕਰਦੇ ਹਨ) ਦੁਆਰਾ ਪਿਛੋਕੜ ਵਿੱਚ ਇੱਕ ਦੂਜੇ ਨਾਲ ਗੱਲ ਕਰਦੇ ਹਨ। ਜਦੋਂ ਇੱਕ ਮੋਬਾਈਲ ਐਪ ਕਾਰਟ ਵਿੱਚ ਆਈਟਮਾਂ ਜੋੜਦੀ ਹੈ, ਤਾਂ ਇਹ ਅਸਲ ਵਿੱਚ ਸਰਵਰ 'ਤੇ ਇੱਕ API ਨੂੰ ਬੇਨਤੀ ਭੇਜਦੀ ਹੈ। API ਜਾਂਚ ਜਾਂਚ ਕਰਦੀ ਹੈ ਕਿ ਇੰਟਰਫੇਸ ਦੀ ਪਰਵਾਹ ਕੀਤੇ ਬਿਨਾਂ ਇਹ ਗੱਲਬਾਤ ਸਹੀ, ਸੁਰੱਖਿਅਤ ਅਤੇ ਇਕਸਾਰ ਹੈ; ਇਹ UI ਟੈਸਟਿੰਗ ਨਾਲੋਂ ਤੇਜ਼, ਵਧੇਰੇ ਸਥਿਰ ਅਤੇ ਡੂੰਘਾ ਹੈ। ਆਰਟੀਫੀਸ਼ੀਅਲ ਇੰਟੈਲੀਜੈਂਸ (AI) API ਟੈਸਟਿੰਗ ਵਿੱਚ ਬਹੁਤ ਕੁਸ਼ਲ ਹੈ: ਇਹ ਇੱਕ API ਪਰਿਭਾਸ਼ਾ ਤੋਂ ਟੈਸਟ ਬਣਾਉਂਦਾ ਹੈ, ਜਵਾਬ ਸਕੀਮਾ (ਇਕਰਾਰਨਾਮੇ ਜੋ ਡੇਟਾ ਦੀ ਬਣਤਰ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ) ਨੂੰ ਐਕਸਟਰੈਕਟ ਕਰਦਾ ਹੈ, ਕਿਨਾਰੇ ਦੇ ਕੇਸਾਂ ਦੀ ਸੂਚੀ ਬਣਾਉਂਦਾ ਹੈ। ਪਰ ਦੁਬਾਰਾ ਕੇਂਦਰੀ ਚੇਤਾਵਨੀ ਲਾਗੂ ਹੁੰਦੀ ਹੈ: AI ਤੁਹਾਡੇ API ਦੇ ਅਸਲ ਵਪਾਰਕ ਨਿਯਮਾਂ ਨੂੰ ਨਹੀਂ ਜਾਣਦਾ ਹੈ; ਸਤਹੀ ਟੈਸਟਾਂ ਦਾ ਉਤਪਾਦਨ ਕਰਦਾ ਹੈ ਜੋ ਸਿਰਫ "200 ਵਾਪਸ" ਦੀ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ। ਤੁਹਾਡਾ ਕੰਮ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣਾ ਹੈ ਕਿ ਟੈਸਟ ਅਸਲ ਇਕਰਾਰਨਾਮੇ ਅਤੇ ਵਪਾਰਕ ਤਰਕ ਦੀ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ।
ਇਸ ਯੂਨਿਟ ਵਿੱਚ, ਤੁਸੀਂ ਸਿੱਖੋਗੇ ਕਿ ਪੋਸਟਮੈਨ, REST Assured ਅਤੇ ਸਕੀਮਾ ਪ੍ਰਮਾਣਿਕਤਾ ਵਰਗੀਆਂ ਪਹੁੰਚਾਂ ਨਾਲ AI-ਸਮਰਥਿਤ, ਡੂੰਘੇ API ਟੈਸਟਾਂ ਨੂੰ ਕਿਵੇਂ ਸੈੱਟ ਕਰਨਾ ਹੈ।
API ਟੈਸਟਿੰਗ ਦੀਆਂ ਪਰਤਾਂ
ਕਈ ਡੂੰਘਾਈ ਵਿੱਚ API ਟੈਸਟਿੰਗ 'ਤੇ ਵਿਚਾਰ ਕਰੋ, ਹਰ ਪਰਤ 'ਤੇ AI ਵੱਖ-ਵੱਖ ਤਰੀਕੇ ਨਾਲ ਮਦਦ ਕਰਦਾ ਹੈ:
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 Assured (Java) ਟੈਸਟ ਲਿਖੋ। ਇਕਰਾਰਨਾਮਾ: ਉਤਪਾਦ ਆਈਡੀ ਅਤੇ ਮਾਤਰਾ ਸਰੀਰ ਵਿੱਚ ਲਾਜ਼ਮੀ ਹਨ; 201 ਅਤੇ {orderId, ਕੁੱਲ, ਛੋਟ, ਸਥਿਤੀ} ਸਫਲਤਾ 'ਤੇ ਵਾਪਸ ਕੀਤੇ ਜਾਂਦੇ ਹਨ। ਵਪਾਰਕ ਨਿਯਮ: 1000 TL ਤੋਂ ਵੱਧ 10% ਛੋਟ; ਜੇਕਰ 400 = 4000 ਵਿੱਚ; ਟੋਕਨ; 403 ਜਦੋਂ ਕਿਸੇ ਹੋਰ ਉਪਭੋਗਤਾ ਦੇ ਆਰਡਰ ਨੂੰ ਵੇਖਦੇ ਹੋ: (1) ਸਥਿਤੀ ਕੋਡ, (2) JSON ਸਕੀਮਾ ਪ੍ਰਮਾਣਿਕਤਾ, (3) ਛੋਟ ਵਪਾਰ ਨਿਯਮ, (4) ਸਿਰਫ਼ 200/201 ਦੀ ਜਾਂਚ ਨਾ ਕਰੋ।
ਸ਼ਕਤੀਸ਼ਾਲੀ ਪ੍ਰੋਂਪਟ ਇਕਰਾਰਨਾਮੇ, ਵਪਾਰਕ ਨਿਯਮਾਂ, ਸੁਰੱਖਿਆ ਦ੍ਰਿਸ਼ਾਂ, ਅਤੇ ਸਕੀਮਾ ਪ੍ਰਮਾਣਿਕਤਾ ਦੀ ਉਮੀਦ ਦਿੰਦਾ ਹੈ।
ਕੰਟਰੈਕਟ ਟੈਸਟਿੰਗ: ਟੀਮਾਂ ਵਿਚਕਾਰ ਟੁੱਟਣ ਨੂੰ ਰੋਕਣਾ
ਮਾਈਕ੍ਰੋਸਰਵਿਸ ਆਰਕੀਟੈਕਚਰ ਵਿੱਚ (ਉਹ ਢਾਂਚਾ ਜਿਸ ਵਿੱਚ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਛੋਟੀਆਂ ਸੇਵਾਵਾਂ ਵਿੱਚ ਵੰਡਿਆ ਗਿਆ ਹੈ ਜੋ ਇੱਕ ਦੂਜੇ ਤੋਂ ਸੁਤੰਤਰ ਹਨ ਅਤੇ API ਨਾਲ ਗੱਲ ਕਰਦੇ ਹਨ), ਇੱਕ ਸੇਵਾ ਦੇ ਜਵਾਬ ਦੇ ਫਾਰਮੈਟ ਨੂੰ ਬਦਲਣਾ ਚੁੱਪਚਾਪ ਇਸ ਨਾਲ ਜੁੜੀਆਂ ਹੋਰ ਸੇਵਾਵਾਂ ਵਿੱਚ ਵਿਘਨ ਪਾਉਂਦਾ ਹੈ। ਕੰਟਰੈਕਟ ਟੈਸਟਿੰਗ - ਟੈਸਟ ਜੋ ਇਹ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ ਕਿ ਪ੍ਰਦਾਤਾ ਸੇਵਾ ਅਤੇ ਉਪਭੋਗਤਾ ਸੇਵਾ ਵਿਚਕਾਰ API ਇਕਰਾਰਨਾਮਾ ਦੋਵਾਂ ਪਾਸਿਆਂ ਤੋਂ ਟੁੱਟਿਆ ਨਹੀਂ ਹੈ - ਅਜਿਹੇ ਬ੍ਰੇਕਾਂ ਨੂੰ ਛੇਤੀ ਫੜਦਾ ਹੈ। ਵਿਚਾਰ ਇਹ ਹੈ: ਉਪਭੋਗਤਾ ਪ੍ਰਤੀਕਿਰਿਆ ਦੇ ਰੂਪ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ ਜਿਸਦੀ ਉਹ ਉਤਪਾਦਕ ਤੋਂ "ਇਕਰਾਰਨਾਮੇ" ਵਜੋਂ ਉਮੀਦ ਕਰਦਾ ਹੈ; ਹਰੇਕ ਬਦਲਾਅ ਦੇ ਨਾਲ, ਨਿਰਮਾਤਾ ਜਾਂਚ ਕਰਦਾ ਹੈ ਕਿ ਇਹ ਅਜੇ ਵੀ ਇਸ ਸਮਝੌਤੇ ਦੀ ਪਾਲਣਾ ਕਰਦਾ ਹੈ। ਇਸ ਲਈ ਜਦੋਂ ਕਿਸੇ ਖੇਤਰ ਦਾ ਨਾਮ ਜਾਂ ਕਿਸਮ ਬਦਲਦਾ ਹੈ, ਖਪਤਕਾਰ ਪਾਈਪਲਾਈਨ ਨੂੰ ਕਰੈਸ਼ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਸੂਚਿਤ ਕਰਦਾ ਹੈ।
AI ਇਸ ਸੰਦਰਭ ਵਿੱਚ ਦੋ ਕਾਰਜਾਂ ਨੂੰ ਤੇਜ਼ ਕਰਦਾ ਹੈ: ਇੱਕ ਇਕਰਾਰਨਾਮੇ ਦਾ ਖਰੜਾ ਤਿਆਰ ਕਰਨਾ ਜੋ ਮੌਜੂਦਾ API ਜਵਾਬ ਤੋਂ ਖਪਤਕਾਰਾਂ ਦੀ ਉਮੀਦਾਂ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ, ਅਤੇ ਪੂਰਵ-ਮਾਰਕ ਕਰਨਾ ਕਿ ਕਿਹੜੀ ਇਕਰਾਰਨਾਮੇ ਦੀ ਧਾਰਾ ਇੱਕ ਤਬਦੀਲੀ ਨੂੰ ਤੋੜ ਸਕਦੀ ਹੈ। ਪਰ ਇਕਰਾਰਨਾਮਾ ਆਪਣੇ ਆਪ ਵਿੱਚ ਇੱਕ ਵਪਾਰਕ ਫੈਸਲਾ ਹੈ: ਮਾਹਰ ਇਹ ਨਿਰਧਾਰਤ ਕਰਦਾ ਹੈ ਕਿ ਕਿਹੜੇ ਖੇਤਰ ਅਸਲ ਵਿੱਚ ਨਾਜ਼ੁਕ ਹਨ, ਕਿਹੜੀਆਂ ਤਬਦੀਲੀਆਂ ਪਿਛੜੇ ਅਨੁਕੂਲਤਾ ਨੂੰ ਤੋੜ ਦੇਵੇਗੀ - ਪੁਰਾਣੇ ਖਪਤਕਾਰ ਕੰਮ ਕਰਨਾ ਜਾਰੀ ਰੱਖਦੇ ਹਨ। AI ਇਕਰਾਰਨਾਮੇ ਨੂੰ ਲਿਖਦਾ ਹੈ; ਇਸ ਨੂੰ ਪ੍ਰਵਾਨ ਕਰਨ ਵਾਲੇ ਤੁਸੀਂ ਹੀ ਹੋ।
ਸੁਝਾਅ: ਇੱਕ API ਵਿੱਚ ਇੱਕ ਖੇਤਰ ਨੂੰ ਮਿਟਾਉਣਾ ਜਾਂ ਖੇਤਰ ਦੀ ਕਿਸਮ ਨੂੰ ਬਦਲਣਾ ਲਗਭਗ ਹਮੇਸ਼ਾ ਇੱਕ ਤੋੜਨ ਵਾਲਾ ਬਦਲਾਅ ਹੁੰਦਾ ਹੈ। ਨਵੇਂ ਖੇਤਰਾਂ ਨੂੰ ਜੋੜਨਾ ਆਮ ਤੌਰ 'ਤੇ ਸੁਰੱਖਿਅਤ ਹੁੰਦਾ ਹੈ। AI ਨੂੰ "ਬ੍ਰੇਕਿੰਗ ਜਾਂ ਸੁਰੱਖਿਅਤ" ਦੇ ਰੂਪ ਵਿੱਚ ਇੱਕ ਤਬਦੀਲੀ ਨੂੰ ਸ਼੍ਰੇਣੀਬੱਧ ਕਰਨ ਨਾਲ ਇੱਕ ਤੁਰੰਤ ਪ੍ਰੀ-ਰਿਲੀਜ਼ ਸੁਰੱਖਿਆ ਜਾਂਚ ਪ੍ਰਦਾਨ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
ਪੋਸਟਮੈਨ ਜਾਂ ਕੋਡ-ਆਧਾਰਿਤ?
ਮਾਪਦੰਡ
ਪੋਸਟਮੈਨ/ਨਿਊਮੈਨ
REST Assured/code (Java, C#, JS)
ਸਿੱਖਣਾ
ਆਸਾਨ, ਦਿੱਖ
ਕੋਡ ਗਿਆਨ ਦੀ ਲੋੜ ਹੈ
ਸੰਸਕਰਣ ਨਿਯੰਤਰਣ
ਸੰਗ੍ਰਹਿ 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 ਦ੍ਰਿਸ਼ ਨੂੰ ਰੱਖਿਆਤਮਕ ਤੌਰ 'ਤੇ ਅਜ਼ਮਾਇਆ ਹੈ।
- [ ] ਮੈਂ ਅਸਲ ਟੋਕਨ/ਡਾਟੇ ਦੀ ਬਜਾਏ ਟੈਸਟ ਵਾਤਾਵਰਨ ਅਤੇ ਸਿੰਥੈਟਿਕ ਡੇਟਾ ਦੀ ਵਰਤੋਂ ਕੀਤੀ।
- [ ] ਮੈਂ ਇੱਕ "ਸੂਡੋ-ਵਿਸ਼ਵਾਸ ਜਾਂਚ" ਨਾਲ ਸਾਬਤ ਕੀਤਾ ਹੈ ਕਿ ਹਰ ਟੈਸਟ ਖਰਾਬ ਜਵਾਬ ਨੂੰ ਫੜਦਾ ਹੈ।