ਲਾਭ:
- ਏਆਈ ਦੇ ਨਾਲ ਅਰਥਪੂਰਨ ਦਾਅਵੇ ਦੇ ਨਾਲ ਯੂਨਿਟ, ਏਕੀਕਰਣ ਅਤੇ ਕਿਨਾਰੇ ਦੇ ਕੇਸ ਟੈਸਟ ਪੈਦਾ ਕਰਨ ਦੀ ਸਮਰੱਥਾ
- ਏਆਈ ਸਹਾਇਤਾ ਨਾਲ ਟੈਸਟ ਕਵਰੇਜ, ਸੀਮਾ ਮੁੱਲ ਅਤੇ ਨਕਾਰਾਤਮਕ ਦ੍ਰਿਸ਼ਾਂ ਨੂੰ ਯੋਜਨਾਬੱਧ ਢੰਗ ਨਾਲ ਐਕਸਟਰੈਕਟ ਕਰਨ ਦੀ ਸਮਰੱਥਾ
- ਇਹ ਤਸਦੀਕ ਕਰਨ ਦੀ ਯੋਗਤਾ ਕਿ AI ਦੁਆਰਾ ਤਿਆਰ ਕੀਤੇ ਗਏ ਟੈਸਟ ਅਸਲ ਵਿੱਚ ਵਿਵਹਾਰ ਦੀ ਪੁਸ਼ਟੀ ਕਰਦੇ ਹਨ ਅਤੇ ਕੇਵਲ ਮੌਜੂਦਾ ਕੋਡ ਨੂੰ ਦੁਹਰਾਉਂਦੇ ਨਹੀਂ ਹਨ
ਟੈਸਟਿੰਗ ਇੱਕ ਵਿਧੀ ਹੈ ਜੋ ਸਾਬਤ ਕਰਦੀ ਹੈ ਕਿ ਸੌਫਟਵੇਅਰ ਅਸਲ ਵਿੱਚ ਵਾਅਦੇ ਅਨੁਸਾਰ ਵਿਹਾਰ ਕਰਦਾ ਹੈ। ਇੱਕ ਚੰਗਾ ਟੈਸਟ ਸੂਟ ਤੁਹਾਨੂੰ ਸਕਿੰਟਾਂ ਵਿੱਚ ਦੱਸਦਾ ਹੈ ਕਿ ਕੀ ਤਬਦੀਲੀ ਕਿਸੇ ਚੀਜ਼ ਨੂੰ ਤੋੜਦੀ ਹੈ ਅਤੇ ਇੰਜੀਨੀਅਰ ਨੂੰ ਵਿਸ਼ਵਾਸ ਨਾਲ ਕੰਮ ਕਰਨ ਦੀ ਆਜ਼ਾਦੀ ਦਿੰਦੀ ਹੈ। AI ਟੈਸਟ ਲਿਖਣ ਦੇ ਸਭ ਤੋਂ ਔਖੇ ਅਤੇ ਸਭ ਤੋਂ ਵੱਧ ਛੱਡੇ ਜਾਣ ਵਾਲੇ ਹਿੱਸੇ ਨੂੰ ਤੇਜ਼ ਕਰਦਾ ਹੈ: ਬਹੁਤ ਸਾਰੇ ਦ੍ਰਿਸ਼, ਬ੍ਰੇਕਪੁਆਇੰਟ ਅਤੇ ਨਕਾਰਾਤਮਕ ਕੇਸ ਪੈਦਾ ਕਰਨਾ। ਪਰ ਇੱਥੇ ਇੱਕ ਗੁੰਝਲਦਾਰ ਜਾਲ ਹੈ: AI ਟੈਸਟ ਲਿਖ ਸਕਦਾ ਹੈ ਜੋ ਕੋਡ ਦੇ ਮੌਜੂਦਾ (ਸ਼ਾਇਦ ਨੁਕਸਦਾਰ) ਵਿਵਹਾਰ ਦੀ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ, ਨਾ ਕਿ ਇਸਦੇ ਮੰਨੇ ਜਾਣ ਵਾਲੇ ਵਿਵਹਾਰ ਦੀ; ਜਾਂ ਇਹ ਖਾਲੀ ਟੈਸਟ ਪੈਦਾ ਕਰ ਸਕਦਾ ਹੈ ਜੋ ਹਮੇਸ਼ਾ ਪਾਸ ਹੁੰਦੇ ਹਨ, ਅਸਲ ਵਿੱਚ ਕਿਸੇ ਵੀ ਚੀਜ਼ ਦੀ ਜਾਂਚ ਨਹੀਂ ਕਰਦੇ। ਕਿਸੇ ਟੈਸਟ ਦਾ ਮੁੱਲ ਇਸ ਗੱਲ ਵਿੱਚ ਨਹੀਂ ਹੁੰਦਾ ਕਿ ਇਹ ਪਾਸ ਹੁੰਦਾ ਹੈ ਜਾਂ ਨਹੀਂ, ਸਗੋਂ ਇਸ ਵਿੱਚ ਹੁੰਦਾ ਹੈ ਕਿ ਕੀ ਇਹ ਸਹੀ ਚੀਜ਼ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ ਅਤੇ ਜਦੋਂ ਇਹ ਗਲਤ ਹੁੰਦਾ ਹੈ ਤਾਂ ਲਾਲ ਹੋ ਜਾਂਦਾ ਹੈ।
ਇਸ ਇਕਾਈ ਵਿੱਚ, ਤੁਸੀਂ ਸਿੱਖੋਗੇ ਕਿ ਅਰਥਪੂਰਨ ਦਾਅਵੇ ਦੇ ਨਾਲ ਇਕਾਈ, ਏਕੀਕਰਣ ਅਤੇ ਕਿਨਾਰੇ ਦੇ ਕੇਸ ਟੈਸਟ ਕਿਵੇਂ ਤਿਆਰ ਕਰਨੇ ਹਨ; ਟੈਸਟ ਕਵਰੇਜ, ਬ੍ਰੇਕਪੁਆਇੰਟ, ਅਤੇ ਨਨੁਕਸਾਨ ਦੇ ਦ੍ਰਿਸ਼ਾਂ ਨੂੰ ਯੋਜਨਾਬੱਧ ਤਰੀਕੇ ਨਾਲ ਕਿਵੇਂ ਐਕਸਟਰੈਕਟ ਕਰਨਾ ਹੈ; ਅਤੇ ਅਸੀਂ ਦੇਖਾਂਗੇ ਕਿ ਤੁਸੀਂ ਕਿਵੇਂ ਜਾਂਚ ਕਰ ਸਕਦੇ ਹੋ ਕਿ AI ਦੁਆਰਾ ਤਿਆਰ ਕੀਤੇ ਗਏ ਟੈਸਟ ਅਸਲ ਵਿੱਚ ਵਿਵਹਾਰ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਦੇ ਹਨ।
ਸੰਕਲਪ: ਯੂਨਿਟ ਟੈਸਟਿੰਗ: ਆਈਸੋਲੇਸ਼ਨ ਵਿੱਚ ਇੱਕ ਸਿੰਗਲ ਫੰਕਸ਼ਨ/ਕਲਾਸ ਦੀ ਜਾਂਚ ਕਰਦਾ ਹੈ। ਏਕੀਕਰਣ ਟੈਸਟਿੰਗ: ਟੈਸਟ ਜੋ ਕਿ ਬਹੁਤ ਸਾਰੇ ਹਿੱਸੇ ਇਕੱਠੇ ਸਹੀ ਢੰਗ ਨਾਲ ਕੰਮ ਕਰਦੇ ਹਨ। ਅਸਰਟ: ਇੱਕ ਬਿਆਨ ਜੋ ਜਾਂਚ ਕਰਦਾ ਹੈ ਕਿ ਨਤੀਜਾ ਉਮੀਦ ਦੇ ਬਰਾਬਰ ਹੈ; ਇਹ ਪ੍ਰੀਖਿਆ ਦਾ ਦਿਲ ਹੈ. ਕਵਰੇਜ: ਟੈਸਟਾਂ ਦੁਆਰਾ ਕੋਡ ਦਾ ਕਿੰਨਾ ਹਿੱਸਾ ਚਲਾਇਆ ਜਾਂਦਾ ਹੈ; ਉੱਚ ਕਵਰੇਜ ਗੁਣਵੱਤਾ ਦੀ ਗਰੰਟੀ ਨਹੀਂ ਦਿੰਦੀ।
ਸਾਰਥਕ ਟੈਸਟ ਪੈਦਾ ਕਰਨਾ
ਇੱਕ ਚੰਗੀ ਪਰੀਖਿਆ ਤਿੰਨ ਚੀਜ਼ਾਂ ਨੂੰ ਸਪਸ਼ਟ ਰੂਪ ਵਿੱਚ ਪੇਸ਼ ਕਰਦੀ ਹੈ: ਇਹ ਇੱਕ ਅਵਸਥਾ ਦੀ ਸਥਾਪਨਾ ਕਰਦਾ ਹੈ, ਇਹ ਇੱਕ ਕਿਰਿਆ ਕਰਦਾ ਹੈ, ਇਹ ਨਤੀਜੇ ਦਾ ਦਾਅਵਾ ਕਰਦਾ ਹੈ। AI ਲਈ ਟੈਸਟਾਂ ਨੂੰ ਛਾਪਣ ਵੇਲੇ, ਦੱਸੋ ਕਿ ਤੁਸੀਂ ਕਿਸ ਵਿਹਾਰ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ ਅਤੇ ਇਸ ਵਿੱਚ ਕਿਹੜੇ ਦ੍ਰਿਸ਼ ਸ਼ਾਮਲ ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ; ਨਹੀਂ ਤਾਂ, ਇਹ ਸਤਹੀ ਟੈਸਟ ਪੈਦਾ ਕਰਦਾ ਹੈ ਜੋ ਹਮੇਸ਼ਾ ਪਾਸ ਹੁੰਦੇ ਹਨ.
- ਟੈਸਟ ਕੀਤੇ ਜਾਣ ਵਾਲੇ ਵਿਹਾਰ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰੋ। "ਕੀ ਸਹੀ ਮੰਨਿਆ ਜਾਂਦਾ ਹੈ?" ਸਵਾਲ ਦਾ ਸਪਸ਼ਟ ਜਵਾਬ ਦਿਓ।
- ਦ੍ਰਿਸ਼ ਕਿਸਮਾਂ ਲਈ ਪੁੱਛੋ। ਸਧਾਰਣ, ਸੀਮਾ, ਨਕਾਰਾਤਮਕ, ਗਲਤੀ ਸਥਿਤੀ।
- ਸਾਰਥਕ ਦਾਅਵਾ ਆਯਾਤ ਕਰੋ। ਇਸਨੇ ਸਿਰਫ਼ "ਇੱਕ ਗਲਤੀ ਨਹੀਂ ਸੁੱਟੀ", ਇਸਨੇ "ਸਹੀ ਮੁੱਲ ਵਾਪਸ ਕੀਤਾ"।
- ਟੈਸਟ ਦੀ ਸ਼ੁੱਧਤਾ ਦੀ ਜਾਂਚ ਕਰੋ. ਕੀ ਟੈਸਟ ਲਾਲ ਹੋ ਜਾਂਦਾ ਹੈ ਜਦੋਂ ਤੁਸੀਂ ਕੋਡ ਨੂੰ ਸੁਚੇਤ ਤੌਰ 'ਤੇ ਤੋੜਦੇ ਹੋ?
ਵਿਆਪਕ ਟੈਸਟ ਜਨਰੇਸ਼ਨ ਪ੍ਰੋਂਪਟ: "ਹੇਠ ਦਿੱਤੇ 'ਅਪਲਾਈ ਡਿਸਕਾਊਂਟ(ਰਾਕਮਾ, ਕੂਪਨ)' ਫੰਕਸ਼ਨ ਲਈ ਯੂਨਿਟ ਟੈਸਟ ਲਿਖੋ। ਹੇਠ ਲਿਖੀਆਂ ਸ਼੍ਰੇਣੀਆਂ ਵਿੱਚ ਘੱਟੋ-ਘੱਟ ਇੱਕ ਦ੍ਰਿਸ਼ ਰੱਖੋ: (1) ਆਮ ਵੈਧ ਕੂਪਨ, (2) ਬ੍ਰੇਕਪੁਆਇੰਟ (0 ਰਕਮ, 100% ਛੋਟ), (3) ਨਕਾਰਾਤਮਕ (ਅਵੈਧ ਰਕਮ) (ਨਕਾਰਾਤਮਕ ਰਕਮ, ਕੂਪਨ) (ਅਵੈਧ ਰਕਮ) 'ਤੇ 4)। ਹਰੇਕ ਟੈਸਟ ਵਿੱਚ CONCRETE ਦਾ ਅਨੁਮਾਨਿਤ ਮੁੱਲ (ਸਿਰਫ਼ 'ਕੰਮ ਕੀਤਾ' ਨਹੀਂ)।
ਸੀਮਾ ਮੁੱਲ ਐਕਸਟਰੈਕਸ਼ਨ ਪ੍ਰੋਂਪਟ: "ਇਸ ਫੰਕਸ਼ਨ ਦੇ ਇਨਪੁਟਸ ਲਈ ਇੱਕ ਸੀਮਾ ਮੁੱਲ ਵਿਸ਼ਲੇਸ਼ਣ ਕਰੋ। ਹਰੇਕ ਪੈਰਾਮੀਟਰ ਲਈ, ਇੱਕ ਸਾਰਣੀ ਦੇ ਤੌਰ 'ਤੇ 'ਸੀਮਾ ਦੇ ਬਿਲਕੁਲ ਹੇਠਾਂ', 'ਸੀਮਾ ਦੇ ਬਿਲਕੁਲ ਹੇਠਾਂ', 'ਸੀਮਾ ਦੇ ਬਿਲਕੁਲ ਉੱਪਰ' ਮੁੱਲਾਂ ਨੂੰ ਐਕਸਟਰੈਕਟ ਕਰੋ। ਫਿਰ ਇਹਨਾਂ ਸੀਮਾਵਾਂ ਨੂੰ ਕਵਰ ਕਰਨ ਵਾਲੇ ਟੈਸਟ ਦ੍ਰਿਸ਼ਾਂ ਦੀ ਸੂਚੀ ਬਣਾਓ। ਅਜੇ ਤੱਕ ਸੂਚੀਬੱਧ ਅਤੇ ਫੰਕਸ਼ਨ ਨਾ ਲਿਖੋ। [ਦਸਤਖਤ]"
ਸਾਵਧਾਨ: ਉੱਚ ਟੈਸਟ ਕਵਰੇਜ (ਜਿਵੇਂ ਕਿ 90%) ਇਹ ਸਾਬਤ ਨਹੀਂ ਕਰਦੀ ਕਿ ਕੋਡ ਸਹੀ ਹੈ। ਕਵਰੇਜ ਮਾਪਦਾ ਹੈ ਕਿ ਕਿੰਨੀਆਂ ਕਤਾਰਾਂ ਨੂੰ ਲਾਗੂ ਕੀਤਾ ਗਿਆ ਸੀ; ਇਹ ਨਹੀਂ ਕਿ ਉਹ ਲਾਈਨਾਂ ਸਹੀ ਨਤੀਜਾ ਦਿੰਦੀਆਂ ਹਨ। ਅਰਥਪੂਰਨ ਦਾਅਵੇ ਦੇ ਬਿਨਾਂ ਇੱਕ ਟੈਸਟ ਕਵਰੇਜ ਵਧਾਉਂਦਾ ਹੈ ਪਰ ਕਿਸੇ ਵੀ ਚੀਜ਼ ਦੀ ਗਰੰਟੀ ਨਹੀਂ ਦਿੰਦਾ। ਦਾਅਵੇ ਦੀ ਸਮੱਗਰੀ ਗੁਣਵੱਤਾ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਦੀ ਹੈ, ਨਾ ਕਿ ਦਾਅਵੇ ਦੀ ਗਿਣਤੀ।
ਟੈਸਟ ਖੁਦ ਦੀ ਜਾਂਚ ਕਰਨਾ: ਪਰਿਵਰਤਨ ਦਾ ਤਰਕ
ਇਹ ਸਮਝਣ ਦਾ ਸਭ ਤੋਂ ਵਿਹਾਰਕ ਤਰੀਕਾ ਹੈ ਕਿ ਕੀ AI-ਬਣਾਇਆ ਟੈਸਟ ਅਸਲ ਵਿੱਚ ਕੰਮ ਕਰਦਾ ਹੈ ਜਾਣਬੁੱਝ ਕੇ ਕੋਡ (ਮਿਊਟੇਸ਼ਨ ਟੈਸਟਿੰਗ ਤਰਕ) ਨੂੰ ਤੋੜਨਾ ਹੈ। ਇੱਕ ਸ਼ਰਤ ਨੂੰ ਉਲਟਾਓ, ਇੱਕ + ਚਿੰਨ੍ਹ ਬਣਾਓ -; ਜੇਕਰ ਕੋਈ ਟੈਸਟ ਲਾਲ ਨਹੀਂ ਹੁੰਦੇ, ਤਾਂ ਤੁਹਾਡੇ ਟੈਸਟ ਅਸਲ ਵਿੱਚ ਉਸ ਵਿਵਹਾਰ ਨੂੰ ਕਾਇਮ ਨਹੀਂ ਰੱਖ ਰਹੇ ਹਨ।
ਜਾਂਚ ਕਮਜ਼ੋਰੀ ਸ਼ਿਕਾਰ ਪ੍ਰੋਂਪਟ: "ਮੈਨੂੰ ਦੱਸੋ ਕਿ ਇਸ ਕੋਡ ਵਿੱਚ ਕਿਹੜੇ ਸੰਭਾਵੀ ਬੱਗ ਹੇਠਾਂ ਦਿੱਤੇ ਟੈਸਟ ਨਹੀਂ ਫੜ ਸਕਦੇ ਹਨ। 5 ਛੋਟੇ ਪਰਿਵਰਤਨ ਦਾ ਸੁਝਾਅ ਦਿਓ ਜੋ ਕੋਡ ਵਿੱਚ ਕੀਤੇ ਜਾ ਸਕਦੇ ਹਨ (ਉਦਾਹਰਨ ਲਈ >= ਦੀ ਬਜਾਏ >, - + ਦੀ ਬਜਾਏ) ਅਤੇ ਹਰੇਕ ਲਈ ਸੰਕੇਤ ਕਰੋ ਕਿ ਕੀ ਮੌਜੂਦਾ ਟੈਸਟ ਇਸ ਨੂੰ ਫੜ ਲੈਣਗੇ ਜਾਂ ਨਹੀਂ। ਜੋ ਨਹੀਂ ਫੜੇ ਗਏ ਹਨ, ਉਹਨਾਂ ਲਈ ਟੈਸਟ ਕਰਨ ਦਾ ਸੁਝਾਅ ਦਿਓ ਜੋ [code:]test] Code ਨੂੰ ਜੋੜਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ।
ਕਮਜ਼ੋਰ ਪ੍ਰੋਂਪਟ / ਮਜ਼ਬੂਤ ਪ੍ਰੋਂਪਟ
ਕਮਜ਼ੋਰ: "ਇਸ ਫੰਕਸ਼ਨ ਲਈ ਇੱਕ ਟੈਸਟ ਲਿਖੋ।" (ਨਤੀਜਾ: ਆਮ ਤੌਰ 'ਤੇ ਇੱਕ ਖੁਸ਼ਹਾਲ ਦ੍ਰਿਸ਼, ਕਮਜ਼ੋਰ ਦਾਅਵਾ; ਗਲਤੀਆਂ ਖੁੰਝਦੀਆਂ ਹਨ।) STRONG: "ਇਸ 'ਪਾਸਵਰਡ ਸਟ੍ਰੋਂਗ' ਫੰਕਸ਼ਨ ਲਈ ਇੱਕ ਟੈਸਟ ਲਿਖੋ। ਨਿਯਮ: ਘੱਟੋ-ਘੱਟ 8 ਅੱਖਰ, 1 ਵੱਡੇ ਅੱਖਰ, 1 ਅੰਕ ਦੀ ਲੋੜ ਹੈ। ਹੇਠਾਂ ਦਿੱਤੇ ਦ੍ਰਿਸ਼ਾਂ ਨੂੰ ਵੱਖ-ਵੱਖ ਟੈਸਟਾਂ ਵਜੋਂ ਕਵਰ ਕਰੋ: ਬਿਲਕੁਲ 8 ਅੱਖਰ (ਸੀਮਾ), 7 ਅੱਖਰ ਘੱਟ, 7 ਅੱਖਰ (ਸੀਮਾ ਨਹੀਂ), 7 ਅੱਖਰ ਨਹੀਂ। ਖਾਲੀ ਸਤਰ, ਸਿਰਫ਼ ਖਾਲੀ ਥਾਂਵਾਂ, ਬਹੁਤ ਲੰਬੀਆਂ (1000 ਅੱਖਰ) ਸਪੱਸ਼ਟ ਤੌਰ 'ਤੇ ਹਰੇਕ ਟੈਸਟ ਵਿੱਚ ਅਨੁਮਾਨਿਤ ਸਹੀ/ਗਲਤ ਮੁੱਲ ਦਾ ਦਾਅਵਾ ਕਰੋ ਅਤੇ ਟੈਸਟ ਨੂੰ ਉਸ ਅਨੁਸਾਰ ਨਾਮ ਦਿਓ ਜੋ ਇਹ ਜਾਂਚਦਾ ਹੈ।"
ਸ਼ਕਤੀਸ਼ਾਲੀ ਪ੍ਰੋਂਪਟ ਨਿਯਮ ਅਤੇ ਪੂਰੀ ਸੀਮਾ ਦੇ ਦ੍ਰਿਸ਼ ਦਿੰਦਾ ਹੈ। "ਬਿਲਕੁਲ 8 / 7 ਅੱਖਰ" ਵਰਗੇ ਸੀਮਾ ਜੋੜੇ ਗਲਤੀਆਂ ਕਰਨ ਲਈ ਸਭ ਤੋਂ ਆਮ ਸਥਾਨ ਹਨ (ਉਲਝਣ ਵਾਲੇ > ਨਾਲ >=)। ਕਮਜ਼ੋਰ ਪ੍ਰੋਂਪਟ ਇਹਨਾਂ ਸੀਮਾਵਾਂ ਨੂੰ ਬਾਈਪਾਸ ਕਰਦਾ ਹੈ ਅਤੇ ਗਲਤੀ ਨੂੰ ਉਤਪਾਦਨ ਵਿੱਚ ਲੈ ਜਾਂਦਾ ਹੈ।
ਟੈਸਟ ਦੀਆਂ ਕਿਸਮਾਂ ਅਤੇ ਕਿੱਥੇ ਵਰਤਣਾ ਹੈ
ਟੈਸਟ ਦੀ ਕਿਸਮ
ਇਹ ਕੀ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ?
AI ਯੋਗਦਾਨ
ਧਿਆਨ
ਯੂਨਿਟ
ਸਿੰਗਲ ਫੰਕਸ਼ਨ/ਕਲਾਸ
ਤੇਜ਼ੀ ਨਾਲ ਮਲਟੀ-ਸੀਨੇਰੀਓ ਤਿਆਰ ਕਰਦਾ ਹੈ
ਸਾਰਥਕ ਦਾਅਵੇ ਦੀ ਲੋੜ ਹੈ
ਏਕੀਕਰਣ
ਹਿੱਸੇ ਮਿਲ ਕੇ ਕੰਮ ਕਰਦੇ ਹਨ
ਦ੍ਰਿਸ਼ ਅਤੇ ਨਕਲੀ ਡੇਟਾ ਡਰਾਫਟ
ਸੱਚਾ ਨਸ਼ਾ ਕਰਨ ਵਾਲਾ ਵਿਵਹਾਰ
ਅੰਤ/ਸਵੀਕਾਰ
ਪੂਰਾ ਉਪਭੋਗਤਾ ਪ੍ਰਵਾਹ
ਕਦਮ ਸੂਚੀ ਅਤੇ ਉਮੀਦ
ਭੁਰਭੁਰਾ ਹੋਣ ਦਾ ਖ਼ਤਰਾ
ਰਿਗਰੈਸ਼ਨ
ਪੁਰਾਣੀ ਗਲਤੀ ਵਾਪਸ ਨਹੀਂ ਆ ਰਹੀ
ਨੁਕਸ ਖਾਸ ਟੈਸਟਿੰਗ
ਹਰ ਫਿਕਸ ਵਿੱਚ ਜੋੜਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ
ਮਿੰਨੀ ਕੇਸ
ਕੇਸ 1 - ਉਹ ਟੈਸਟ ਜੋ ਹਮੇਸ਼ਾ ਪਾਸ ਹੁੰਦਾ ਹੈ। AI ਇੱਕ ਫੰਕਸ਼ਨ ਲਈ 12 ਟੈਸਟ ਲਿਖਦਾ ਹੈ ਅਤੇ ਉਹ ਸਾਰੇ ਪਾਸ ਕਰਦੇ ਹਨ। ਇੰਜੀਨੀਅਰ ਸ਼ੱਕੀ ਬਣ ਜਾਂਦਾ ਹੈ ਅਤੇ ਜਾਣਬੁੱਝ ਕੇ ਫੰਕਸ਼ਨ ਦੇ ਵਾਪਸੀ ਮੁੱਲ ਨੂੰ ਵਿਗਾੜਦਾ ਹੈ; ਸਿਰਫ਼ 3 ਟੈਸਟ ਹੀ ਲਾਲ ਹੁੰਦੇ ਹਨ। ਹੋਰ 9 ਟੈਸਟਾਂ ਵਿੱਚ ਅਰਥਪੂਰਨ ਦਾਅਵੇ ਸ਼ਾਮਲ ਨਹੀਂ ਹਨ। ਪਰਿਵਰਤਨ ਸ਼ਿਕਾਰ ਦੁਆਰਾ ਟੈਸਟਿੰਗ ਨੂੰ ਮਜ਼ਬੂਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ; ਅਸਲ ਸੁਰੱਖਿਆ 9 ਸਥਿਤੀਆਂ ਵਿੱਚ ਪ੍ਰਾਪਤ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।
ਕੇਸ 2 - ਸੀਮਾ ਗਲਤੀ। ਇੱਕ ਉਮਰ ਤਸਦੀਕ ਫੰਕਸ਼ਨ ਵਿੱਚ "18 ਅਤੇ ਵੱਧ ਵੈਧ ਹੈ" ਕਹਿਣਾ ਚਾਹੀਦਾ ਹੈ ਪਰ >18 ਲਿਖਿਆ ਹੋਇਆ ਹੈ, ਭਾਵ ਉਮਰ 18 ਨੂੰ ਰੱਦ ਕਰ ਦਿੱਤਾ ਗਿਆ ਹੈ। ਗਲਤੀ ਜਾਂਚ ਵਿੱਚ ਤੁਰੰਤ ਦਿਖਾਈ ਦਿੰਦੀ ਹੈ ਕਿਉਂਕਿ AI ਬ੍ਰੇਕਪੁਆਇੰਟ ਵਿਸ਼ਲੇਸ਼ਣ ਦੁਆਰਾ "ਬਿਲਕੁਲ 18" ਦ੍ਰਿਸ਼ ਤਿਆਰ ਕਰਦਾ ਹੈ। ਇੱਕ ਸਿੰਗਲ ਸੀਮਾ ਟੈਸਟ ਕਿਸੇ ਵੀ ਅਸਲ ਉਪਭੋਗਤਾ ਸ਼ਿਕਾਇਤਾਂ ਨੂੰ ਰੋਕਦਾ ਹੈ।
ਕੇਸ 3 - ਮੌਜੂਦਾ ਵਿਵਹਾਰ ਨੂੰ ਠੀਕ ਕਰਨਾ। ਜਦੋਂ ਏਆਈ ਨੂੰ ਕਿਹਾ ਜਾਂਦਾ ਹੈ ਕਿ "ਇਸ ਕੋਡ ਦੇ ਅਧਾਰ ਤੇ ਇੱਕ ਟੈਸਟ ਲਿਖਣਾ", ਤਾਂ ਇਹ ਇੱਕ ਟੈਸਟ ਪੈਦਾ ਕਰਦਾ ਹੈ ਜੋ ਕੋਡ ਵਿੱਚ ਪਹਿਲਾਂ ਤੋਂ ਮੌਜੂਦ ਇੱਕ ਰਾਊਂਡਿੰਗ ਗਲਤੀ ਨੂੰ "ਸਹੀ" ਵਜੋਂ ਸਵੀਕਾਰ ਕਰਦਾ ਹੈ। ਜਦੋਂ ਇੰਜੀਨੀਅਰ ਲੋੜ ਅਨੁਸਾਰ ਟੈਸਟ ਨੂੰ ਪ੍ਰਿੰਟ ਕਰਦਾ ਹੈ (ਉਮੀਦ ਅਨੁਸਾਰ ਸਹੀ ਮੁੱਲ) ਨਾ ਕਿ ਕੋਡ, ਟੈਸਟ ਲਾਲ ਹੋ ਜਾਂਦਾ ਹੈ ਅਤੇ ਅਸਲ ਗਲਤੀ ਹੁੰਦੀ ਹੈ। ਟੈਸਟਾਂ ਨੂੰ ਉਮੀਦ ਤੋਂ ਲਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ, ਕੋਡ ਤੋਂ ਨਹੀਂ।
ਆਮ ਗਲਤੀਆਂ
- ਬੇਅਰਥ ਦਾਅਵਾ. "ਗਲਤੀ ਨਹੀਂ ਕੀਤੀ" ਕਾਫ਼ੀ ਨਹੀਂ ਹੈ; ਸਹੀ ਮੁੱਲ ਦੀ ਪੁਸ਼ਟੀ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ।
- ਗੁਣਵੱਤਾ ਦੇ ਨਾਲ ਉਲਝਣ ਵਾਲਾ ਸਕੋਪ। ਉੱਚ ਕਵਰੇਜ ਸਹੀ ਨਤੀਜਿਆਂ ਦੀ ਕੋਈ ਗਰੰਟੀ ਨਹੀਂ ਹੈ।
- ਕੋਡ ਦੁਆਰਾ ਟੈਸਟ ਨੂੰ ਛਾਪਣਾ. ਮੌਜੂਦਾ ਗਲਤੀ ਨੂੰ "ਸੱਚ" ਵਿੱਚ ਠੀਕ ਕਰਦਾ ਹੈ; ਟੈਸਟ ਉਮੀਦ ਤੋਂ ਪ੍ਰਾਪਤ ਹੋਣੇ ਚਾਹੀਦੇ ਹਨ।
- ਸੀਮਾ ਮੁੱਲਾਂ ਨੂੰ ਛੱਡਣਾ। ਉਲਝਣ > ਨਾਲ > = ਸਭ ਤੋਂ ਆਮ ਗਲਤੀ ਹੈ; ਸੀਮਾ ਜੋੜਿਆਂ ਦੀ ਜਾਂਚ ਕੀਤੀ ਜਾਣੀ ਚਾਹੀਦੀ ਹੈ।
- ਖੁਦ ਟੈਸਟ ਦਾ ਆਡਿਟ ਨਹੀਂ ਕਰ ਰਿਹਾ। ਇੱਕ ਟੈਸਟ ਜੋ ਤੁਹਾਡੇ ਕੋਡ ਨੂੰ ਤੋੜਨ 'ਤੇ ਲਾਲ ਨਹੀਂ ਹੁੰਦਾ ਹੈ, ਸੁਰੱਖਿਆ ਪ੍ਰਦਾਨ ਨਹੀਂ ਕਰਦਾ ਹੈ।
ਸੰਖੇਪ ਵਿੱਚ
ਇੱਕ ਚੰਗਾ ਟੈਸਟਿੰਗ ਸੂਟ ਭਰੋਸੇ ਨਾਲ ਤਬਦੀਲੀਆਂ ਕਰਨ ਦੀ ਕੁੰਜੀ ਹੈ। AI ਤੇਜ਼ੀ ਨਾਲ ਬਹੁਤ ਸਾਰੇ ਦ੍ਰਿਸ਼, ਸੀਮਾਵਾਂ ਅਤੇ ਨਕਾਰਾਤਮਕ ਸਥਿਤੀਆਂ ਪੈਦਾ ਕਰਦਾ ਹੈ; ਪਰ ਜੇ ਇਹ ਲੋੜਾਂ ਦੀ ਬਜਾਏ ਕੋਡ ਤੋਂ ਟੈਸਟਾਂ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ, ਤਾਂ ਇਹ ਮੌਜੂਦਾ ਬੱਗਾਂ ਨੂੰ ਠੀਕ ਕਰ ਸਕਦਾ ਹੈ ਜਾਂ ਅਰਥਹੀਣ ਟੈਸਟ ਲਿਖ ਸਕਦਾ ਹੈ ਜੋ ਹਮੇਸ਼ਾ ਪਾਸ ਹੁੰਦੇ ਹਨ। ਹਰੇਕ ਟੈਸਟ ਵਿੱਚ ਠੋਸ ਅਨੁਮਾਨਿਤ ਮੁੱਲ ਦਾ ਦਾਅਵਾ ਕਰੋ, ਬੰਨ੍ਹੇ ਹੋਏ ਜੋੜਿਆਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰੋ, ਅਤੇ ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਤੁਹਾਡੇ ਟੈਸਟ ਅਸਲ ਵਿੱਚ ਕੋਡ ਨੂੰ ਜਾਣਬੁੱਝ ਕੇ ਤੋੜ ਕੇ ਸੁਰੱਖਿਆ ਕਰਦੇ ਹਨ। ਦਾਅਵੇ ਦੀ ਸਮੱਗਰੀ, ਸਕੋਪਾਂ ਦੀ ਗਿਣਤੀ ਨਹੀਂ, ਗੁਣਵੱਤਾ ਨਿਰਧਾਰਤ ਕਰਦੀ ਹੈ।
ਐਪਲੀਕੇਸ਼ਨ ਦਾ ਕੰਮ
ਇੱਕ ਫੰਕਸ਼ਨ ਦੀ ਚੋਣ ਕਰੋ ਅਤੇ ਇਸਨੂੰ ਇੱਕ ਵਿਆਪਕ ਟੈਸਟ ਜਨਰੇਸ਼ਨ ਪ੍ਰੋਂਪਟ ਦੇ ਨਾਲ ਚਾਰ ਸ਼੍ਰੇਣੀਆਂ (ਆਮ, ਸੀਮਾ, ਨਕਾਰਾਤਮਕ, ਗਲਤੀ) ਵਿੱਚ ਟੈਸਟ ਤਿਆਰ ਕਰਨ ਲਈ ਕਹੋ; ਹਰੇਕ ਟੈਸਟ ਵਿੱਚ ਠੋਸ ਅਨੁਮਾਨਿਤ ਮੁੱਲ ਦਾ ਦਾਅਵਾ ਕਰੋ। ਫਿਰ ਟੈਸਟ ਕਮਜ਼ੋਰੀ ਸ਼ਿਕਾਰ ਪ੍ਰੋਂਪਟ ਚਲਾਓ, ਕੋਡ ਵਿੱਚ 5 ਛੋਟੇ ਪਰਿਵਰਤਨ ਦਾ ਸੁਝਾਅ ਦਿਓ, ਅਤੇ ਇਹ ਜਾਂਚ ਕਰਨ ਲਈ ਟੈਸਟ ਚਲਾਓ ਕਿ ਉਹ ਕਿਸ ਨੂੰ ਫੜਦੇ ਹਨ। ਘੱਟੋ-ਘੱਟ ਇੱਕ ਪਰਿਵਰਤਨ ਲਈ ਇੱਕ ਨਵਾਂ ਟੈਸਟ ਸ਼ਾਮਲ ਕਰੋ ਜੋ ਫੜਿਆ ਨਹੀਂ ਗਿਆ ਸੀ ਅਤੇ ਦਿਖਾਓ ਕਿ ਇਹ ਹੁਣ ਲਾਲ ਰੰਗ ਵਿੱਚ ਹੈ।
ਚੈੱਕਲਿਸਟ
- [ ] ਮੈਂ ਸੰਭਾਵਿਤ/ਸਹੀ ਵਿਵਹਾਰ ਦੇ ਆਧਾਰ 'ਤੇ ਟੈਸਟਾਂ ਨੂੰ ਛਾਪਿਆ, ਨਾ ਕਿ ਕੋਡ।
- [ ] ਮੈਂ ਸਧਾਰਣ, ਸੀਮਾ, ਨਕਾਰਾਤਮਕ ਅਤੇ ਤਰੁੱਟੀ ਦ੍ਰਿਸ਼ਾਂ ਨੂੰ ਕਵਰ ਕੀਤਾ।
- [ ] ਮੈਂ ਹਰੇਕ ਟੈਸਟ ਵਿੱਚ ਠੋਸ ਅਨੁਮਾਨਿਤ ਮੁੱਲ ਦਾ ਦਾਅਵਾ ਕੀਤਾ।
- [ ] ਮੈਂ ਬਾਰਡਰ ਜੋੜਿਆਂ ਦੀ ਜਾਂਚ ਕੀਤੀ (ਸਿਰਫ਼ ਉੱਪਰ-ਹੇਠਾਂ / ਸਿਰਫ਼ ਉੱਪਰ-ਹੇਠਾਂ)।
- [ ] ਜਾਣਬੁੱਝ ਕੇ ਕੋਡ ਨੂੰ ਤੋੜ ਕੇ, ਮੈਂ ਪੁਸ਼ਟੀ ਕੀਤੀ ਕਿ ਟੈਸਟ ਲਾਲ ਹੋ ਗਏ ਹਨ।
- [ ] ਮੈਂ ਅਣਪਛਾਤੇ ਪਰਿਵਰਤਨ ਲਈ ਇੱਕ ਨਵਾਂ ਟੈਸਟ ਜੋੜਿਆ ਹੈ।