ਲਾਭ:
- ਆਰਟੀਫੀਸ਼ੀਅਲ ਇੰਟੈਲੀਜੈਂਸ ਦੇ ਨਾਲ ਮਜਬੂਤ UI ਟੈਸਟ ਕੋਡ ਤਿਆਰ ਕਰਨ ਦੀ ਸਮਰੱਥਾ, ਜਿਸ ਵਿੱਚ ਡਾਟਾ-ਟੈਸਟਿਡ, ਓਪਨ ਇੰਤਜ਼ਾਰ, ਅਤੇ ਦਾਅਵਾ ਹੈ ਜੋ ਅਸਲ ਉਪਭੋਗਤਾ ਨਤੀਜੇ ਦੀ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ
- ਨਾਜ਼ੁਕ ਟੈਸਟਾਂ (ਬੁਰਾ ਚੋਣਕਾਰ, ਅੰਨ੍ਹੇ ਇੰਤਜ਼ਾਰ) ਤੋਂ ਬਚਣ ਦੀ ਸਮਰੱਥਾ ਅਤੇ ਪੰਨਾ ਆਬਜੈਕਟ ਮਾਡਲ ਢਾਂਚੇ ਵਿੱਚ ਟੈਸਟਾਂ ਨੂੰ ਬਣਾਈ ਰੱਖਣ ਲਈ ਆਸਾਨ ਬਣਾਉਣਾ
- ਕੋਡ ਨੂੰ ਤੋੜ ਕੇ ਤਿਆਰ ਕੀਤੇ ਹਰੇਕ UI ਟੈਸਟ ਦੀ ਜਾਂਚ ਕਰਨ ਅਤੇ ਜਾਅਲੀ ਪਾਸ ਕੀਤੇ ਟੈਸਟਾਂ ਦਾ ਪਤਾ ਲਗਾਉਣ ਅਤੇ ਠੀਕ ਕਰਨ ਦੀ ਸਮਰੱਥਾ
ਹਰ ਕਲਿੱਕ, ਹਰ ਫਾਰਮ ਭਰਨਾ, ਹਰੇਕ ਪੰਨੇ ਦੀ ਤਬਦੀਲੀ ਨੂੰ ਇੱਕ ਉਪਭੋਗਤਾ ਦੁਆਰਾ ਇੱਕ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਨੂੰ ਵਾਰ-ਵਾਰ ਹੱਥ ਨਾਲ ਟੈਸਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ — ਇਸ ਲਈ UI ਟੈਸਟ ਆਟੋਮੇਸ਼ਨ (ਉਪਭੋਗਤਾ ਇੰਟਰਫੇਸ; ਇਹ ਟੈਸਟ ਪ੍ਰੋਗਰਾਮੇਟਿਕ ਤੌਰ 'ਤੇ ਇੱਕ ਅਸਲੀ ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਚਲਾ ਕੇ ਉਪਭੋਗਤਾ ਦੇ ਵਿਵਹਾਰ ਦੀ ਨਕਲ ਕਰਦੇ ਹਨ) ਮੌਜੂਦ ਹੈ। ਸੇਲੇਨਿਅਮ, ਨਾਟਕਕਾਰ ਅਤੇ ਸਾਈਪਰਸ ਇਸ ਨੌਕਰੀ ਲਈ ਸਭ ਤੋਂ ਆਮ ਸਾਧਨ ਹਨ. ਆਰਟੀਫੀਸ਼ੀਅਲ ਇੰਟੈਲੀਜੈਂਸ (AI) ਇਹਨਾਂ ਸਾਧਨਾਂ ਲਈ ਕੋਡ ਲਿਖਣ ਵਿੱਚ ਬਹੁਤ ਹੁਨਰਮੰਦ ਹੈ: ਤੁਸੀਂ ਇੱਕ ਟੈਸਟ ਕੇਸ ਦਾ ਵਰਣਨ ਕਰਦੇ ਹੋ, AI ਤੁਹਾਨੂੰ ਇੱਕ ਕੰਮ ਕਰਨ ਯੋਗ ਆਟੋਮੇਸ਼ਨ ਸਕ੍ਰਿਪਟ ਦਾ ਡਰਾਫਟ ਦਿੰਦਾ ਹੈ। ਪਰ ਇੱਥੇ ਇਸ ਮੋਡੀਊਲ ਦੀ ਕੇਂਦਰੀ ਚੇਤਾਵਨੀ ਦੁਬਾਰਾ ਲਾਗੂ ਹੁੰਦੀ ਹੈ: UI ਟੈਸਟ ਕੋਡ ਜੋ AI ਪੈਦਾ ਕਰਦਾ ਹੈ ਅਕਸਰ ਨਾਜ਼ੁਕ ਟੈਸਟ ਹੋ ਸਕਦੇ ਹਨ ਜੋ "ਹਰੇ ਨੂੰ ਚਮਕਾਉਂਦੇ ਹਨ ਪਰ ਗਲਤ ਚੀਜ਼ ਦੀ ਪੁਸ਼ਟੀ ਕਰਦੇ ਹਨ" ਜਾਂ ਹਵਾ ਵਿੱਚ ਫਲੈਪ ਕਰਦੇ ਹਨ। ਤੁਹਾਡਾ ਕੰਮ ਇਸ ਕੋਡ ਨੂੰ ਚਲਾਉਣਾ ਨਹੀਂ ਹੈ, ਪਰ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣਾ ਹੈ ਕਿ ਇਹ ਅਸਲ ਵਿੱਚ ਸਹੀ ਚੀਜ਼ ਦੀ ਮਜ਼ਬੂਤੀ ਨਾਲ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ।
ਇਸ ਯੂਨਿਟ ਵਿੱਚ, ਸਾਡਾ ਉਦੇਸ਼ ਏਆਈ ਦੇ ਨਾਲ ਮਜ਼ਬੂਤ, ਰੱਖ-ਰਖਾਅ ਯੋਗ ਅਤੇ ਸੱਚਮੁੱਚ ਪ੍ਰਮਾਣਿਤ UI ਟੈਸਟਾਂ ਦਾ ਉਤਪਾਦਨ ਕਰਨਾ ਹੈ; ਤੁਸੀਂ ਨਾਜ਼ੁਕ ਟੈਸਟਾਂ ਤੋਂ ਬਚਣਾ ਸਿੱਖੋਗੇ।
ਠੋਸ UI ਟੈਸਟਿੰਗ ਦੇ ਤਿੰਨ ਥੰਮ੍ਹ
1. ਸਹੀ ਤੱਤ ਲੋਕੇਟਰ। ਇੱਕ ਟੈਸਟ ਪੰਨੇ 'ਤੇ ਤੱਤ ਲੱਭਣ ਲਈ ਇੱਕ ਚੋਣਕਾਰ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। AI ਅਕਸਰ ਭੁਰਭੁਰਾ ਚੋਣਕਾਰ ਪੈਦਾ ਕਰਦਾ ਹੈ: ਲੰਬੇ XPath ਮਾਰਗ (ਪਤਾ ਬਹੁਤ ਜ਼ਿਆਦਾ ਪੇਜ ਢਾਂਚੇ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ), CSS ਕਲਾਸ ਦੇ ਨਾਮਾਂ 'ਤੇ ਆਧਾਰਿਤ ਚੋਣਕਾਰ (ਡਿਜ਼ਾਇਨ ਬਦਲਣ 'ਤੇ ਬ੍ਰੇਕ)। ਮਜਬੂਤ ਤਰੀਕਾ ਸਥਿਰ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਹਨ ਜਿਵੇਂ ਕਿ ਡੇਟਾ-ਟੈਸਟਿਡ ਜੋ ਡਿਵੈਲਪਰ ਨੇ ਜਾਂਚ ਲਈ ਜੋੜਿਆ ਹੈ। ਇਸ ਨੂੰ ਸਪੱਸ਼ਟ ਤੌਰ 'ਤੇ AI 'ਤੇ ਲਗਾਓ।
2. ਸਪੱਸ਼ਟ ਉਡੀਕ ਕਰੋ। UI ਟੈਸਟਿੰਗ ਵਿੱਚ ਕਮਜ਼ੋਰੀ ਦਾ ਨੰਬਰ ਇੱਕ ਸਰੋਤ ਸਮਾਂ ਹੈ। ਲਗਾਤਾਰ ਨੀਂਦ (3) (ਅੰਨ੍ਹਾ ਇੰਤਜ਼ਾਰ) ਬੁਰਾ ਅਭਿਆਸ ਹੈ: ਕਈ ਵਾਰ ਇਹ ਕਾਫ਼ੀ ਨਹੀਂ ਹੁੰਦਾ, ਕਈ ਵਾਰ ਇਹ ਸਮਾਂ ਬਰਬਾਦ ਕਰਦਾ ਹੈ। ਸਹੀ ਤਰੀਕਾ ਸਪਸ਼ਟ ਉਡੀਕ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਹੈ, ਜੋ ਕਹਿੰਦਾ ਹੈ ਕਿ "ਇੰਤਜ਼ਾਰ ਕਰੋ ਜਦੋਂ ਤੱਕ ਇਹ ਤੱਤ ਦਿਖਾਈ ਨਹੀਂ ਦਿੰਦਾ"। ਨਾਟਕਕਾਰ ਇਹ ਆਪਣੇ ਆਪ ਹੀ ਕਰਦਾ ਹੈ; ਸੇਲੇਨਿਅਮ ਵਿੱਚ ਤੁਹਾਨੂੰ ਸਪੱਸ਼ਟ ਤੌਰ 'ਤੇ ਇਸਦੀ ਬੇਨਤੀ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ।
3. ਅਰਥਪੂਰਨ ਦਾਅਵਾ। ਟੈਸਟ ਨੂੰ ਉਸ ਨਤੀਜੇ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ ਜੋ ਉਪਭੋਗਤਾ ਅਸਲ ਵਿੱਚ ਦੇਖੇਗਾ — ਜਿਵੇਂ ਕਿ "ਸਕ੍ਰੀਨ 'ਤੇ ਆਰਡਰ ਨੰਬਰ ਦਿਖਾਈ ਦਿੱਤਾ," ਨਾ ਕਿ ਸਿਰਫ਼ "ਪੰਨਾ ਲੋਡ ਕੀਤਾ ਗਿਆ"। ਜੇਕਰ AI ਦੁਆਰਾ ਤਿਆਰ ਕੀਤੇ ਗਏ ਟੈਸਟ ਵਿੱਚ ਕੋਈ ਦਾਅਵਾ ਨਹੀਂ ਹੈ ਜਾਂ ਮਹੱਤਵਪੂਰਨ ਨਹੀਂ ਹੈ, ਤਾਂ ਉਹ ਟੈਸਟ ਇੱਕ ਸੂਡੋ-ਪਾਸ (ਪਹਿਲੀ ਯੂਨਿਟ) ਪੈਦਾ ਕਰਦਾ ਹੈ।
ਸਾਵਧਾਨ: ਜਦੋਂ ਤੁਸੀਂ ਪਹਿਲੀ ਵਾਰ AI-ਬਣਾਇਆ UI ਟੈਸਟ ਦੇਖਦੇ ਹੋ, ਤਾਂ ਵੱਧ ਤੋਂ ਵੱਧ ਤਿੰਨ ਚੀਜ਼ਾਂ ਦੀ ਜਾਂਚ ਕਰੋ: ਕੀ ਚੋਣਕਾਰ ਵਚਨਬੱਧ ਹਨ (ਡੇਟਾ-ਟੈਸਟਿਡ), ਉਡੀਕ ਕਰ ਰਹੇ ਹਨ (ਕੋਈ ਅੰਨ੍ਹੀ ਨੀਂਦ ਨਹੀਂ), ਅਤੇ ਕੀ ਦਾਅਵਾ ਅਸਲ ਉਪਭੋਗਤਾ ਨਤੀਜੇ ਦੀ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ? ਜੇ ਇਹ ਤਿੰਨ ਠੀਕ ਹਨ, ਤਾਂ ਟੈਸਟ ਸ਼ਾਇਦ ਠੋਸ ਹੈ।
ਪੰਨਾ ਆਬਜੈਕਟ ਮਾਡਲ
ਜਿਵੇਂ-ਜਿਵੇਂ ਟੈਸਟ ਵੱਡੇ ਹੁੰਦੇ ਹਨ, ਹਰੇਕ ਟੈਸਟ ਦੇ ਅੰਦਰ ਚੋਣਕਾਰ ਲਿਖਣਾ ਇੱਕ ਰੱਖ-ਰਖਾਅ ਦਾ ਸੁਪਨਾ ਬਣ ਜਾਂਦਾ ਹੈ। ਪੇਜ ਆਬਜੈਕਟ ਮਾਡਲ (POM — ਡਿਜ਼ਾਇਨ ਪੈਟਰਨ ਜੋ ਹਰੇਕ ਪੰਨੇ/ਸਕ੍ਰੀਨ ਲਈ ਇੱਕ ਸਿੰਗਲ ਕਲਾਸ ਵਿੱਚ ਚੋਣਕਾਰਾਂ ਅਤੇ ਕਾਰਵਾਈਆਂ ਨੂੰ ਇਕੱਠਾ ਕਰਦਾ ਹੈ) ਚੋਣਕਾਰ ਨੂੰ ਇੱਕ ਥਾਂ ਤੇ ਰੱਖਦਾ ਹੈ; ਜਦੋਂ ਇੰਟਰਫੇਸ ਬਦਲਦਾ ਹੈ, ਤੁਸੀਂ ਇਸਨੂੰ ਇੱਕ ਸਿੰਗਲ ਫਾਈਲ ਵਿੱਚ ਅਪਡੇਟ ਕਰਦੇ ਹੋ। AI ਨੂੰ ਸਿੱਧੇ ਤੌਰ 'ਤੇ ਬਜਾਏ, ਇੱਕ POM ਢਾਂਚੇ ਵਿੱਚ ਟੈਸਟਾਂ ਦਾ ਉਤਪਾਦਨ ਕਰੋ; ਇਹ ਰੱਖ-ਰਖਾਅ ਨੂੰ ਬੁਨਿਆਦੀ ਤੌਰ 'ਤੇ ਆਸਾਨ ਬਣਾਉਂਦਾ ਹੈ।
ਕਮਜ਼ੋਰ ਪ੍ਰੋਂਪਟ / ਮਜ਼ਬੂਤ ਪ੍ਰੋਂਪਟ
ਕਮਜ਼ੋਰ: "ਲੌਗਇਨ ਪੰਨੇ ਲਈ ਸੇਲੇਨਿਅਮ ਟੈਸਟ ਲਿਖੋ।"
ਮਜਬੂਤ: "ਪਲੇਰਾਈਟ (ਟਾਈਪ ਸਕ੍ਰਿਪਟ) ਨਾਲ ਇੱਕ ਲੌਗਇਨ ਪ੍ਰਵਾਹ ਟੈਸਟ ਲਿਖੋ। ਚੋਣਕਾਰ ਸਿਰਫ਼ ਡੇਟਾ-ਟੈਸਟਿਡ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ; ਉਪਭੋਗਤਾ ਕੀ ਦੇਖਦਾ ਹੈ ਉਸ ਨੂੰ ਨਿਯੰਤਰਿਤ ਨਾ ਕਰੋ, ਪੰਨਾ ਸਿਰਲੇਖ ਦੀ ਨਹੀਂ।"
ਸ਼ਕਤੀਸ਼ਾਲੀ ਪ੍ਰੋਂਪਟ; ਇਹ ਟੂਲ ਭਾਸ਼ਾ, ਚੋਣਕਾਰ ਨੀਤੀ, ਉਡੀਕ ਰਣਨੀਤੀ, ਆਰਕੀਟੈਕਚਰ (POM) ਅਤੇ ਭਾਵਪੂਰਤ ਦਾਅਵੇ ਦੀ ਉਮੀਦ ਦਿੰਦਾ ਹੈ।
ਟੈਸਟ ਡੇਟਾ ਅਤੇ ਵਾਤਾਵਰਣ ਦੀ ਸੁਤੰਤਰਤਾ
ਇੱਕ ਠੋਸ UI ਟੈਸਟ ਨਾ ਸਿਰਫ਼ ਸਹੀ ਢੰਗ ਨਾਲ ਲਿਖਿਆ ਜਾਂਦਾ ਹੈ, ਸਗੋਂ ਇਸਦੇ ਆਪਣੇ ਟੈਸਟ ਡੇਟਾ ਨੂੰ ਬਣਾਉਂਦਾ ਅਤੇ ਸਾਫ਼ ਵੀ ਕਰਦਾ ਹੈ। AI ਦੁਆਰਾ ਤਿਆਰ ਕੀਤੇ ਟੈਸਟ ਅਕਸਰ ਇੱਕ ਉਪਭੋਗਤਾ ਜਾਂ ਰਿਕਾਰਡ ਨਾਲ ਲਿੰਕ ਹੁੰਦੇ ਹਨ ਜੋ ਵਾਤਾਵਰਣ ਵਿੱਚ ਪਹਿਲਾਂ ਤੋਂ ਮੌਜੂਦ ਮੰਨਿਆ ਜਾਂਦਾ ਹੈ ("ਪ੍ਰਬੰਧਕ ਉਪਭੋਗਤਾ ਵਜੋਂ ਲੌਗ ਇਨ ਕਰੋ")। ਇਹ ਧਾਰਨਾ ਟੁੱਟ ਜਾਂਦੀ ਹੈ ਜਦੋਂ ਟੈਸਟ ਕਿਸੇ ਹੋਰ ਵਾਤਾਵਰਣ ਵਿੱਚ ਚਲਦਾ ਹੈ ਜਾਂ ਕਿਸੇ ਹੋਰ ਟੈਸਟ ਤੋਂ ਬਾਅਦ (ਯੂਨਿਟ 9 ਵਿੱਚ ਆਰਡਰ ਨਿਰਭਰਤਾ ਸਮੱਸਿਆ)। ਸੱਚਾਈ ਇਹ ਹੈ ਕਿ ਹਰੇਕ ਟੈਸਟ ਟੈਸਟ ਦੀ ਸ਼ੁਰੂਆਤ ਵਿੱਚ ਲੋੜੀਂਦਾ ਡੇਟਾ ਬਣਾਉਂਦਾ ਹੈ (ਜਾਂ ਇਸਨੂੰ API ਕਾਲ ਨਾਲ ਤਿਆਰ ਕਰਦਾ ਹੈ) ਅਤੇ ਅੰਤ ਵਿੱਚ ਇਸਨੂੰ ਸਾਫ਼ ਕਰਦਾ ਹੈ। AI ਨੂੰ ਸਪਸ਼ਟ ਤੌਰ 'ਤੇ ਹਦਾਇਤ ਕਰੋ ਕਿ "ਇਹ ਟੈਸਟ ਟੈਸਟ ਦੇ ਅੰਦਰ ਨਿਰਭਰ ਕਰਦਾ ਹੈ ਕੋਈ ਵੀ ਡੇਟਾ ਸੈਟ ਅਪ ਕਰੋ; ਬਾਹਰੋਂ ਤਿਆਰ ਕੀਤੇ ਡੇਟਾ ਨੂੰ ਨਾ ਮੰਨੋ।"
ਇੱਕ ਹੋਰ ਨਾਜ਼ੁਕ ਬਿੰਦੂ ਅਸਲ ਉਪਭੋਗਤਾ ਡੇਟਾ ਨਾਲ UI ਟੈਸਟਿੰਗ ਨਾ ਕਰਨਾ ਹੈ. ਜੇਕਰ ਇੱਕ ਉਤਪਾਦਨ ਡਾਟਾਬੇਸ ਕਾਪੀ ਟੈਸਟ ਵਾਤਾਵਰਨ ਵਿੱਚ ਵਰਤੀ ਜਾਂਦੀ ਹੈ, ਤਾਂ ਇਹ ਰਿਕਾਰਡ ਅਸਲ ਵਿਅਕਤੀਆਂ ਦੇ ਡੇਟਾ ਹਨ; ਸਕ੍ਰੀਨਸ਼ਾਟ ਅਤੇ ਟੈਸਟ ਰਿਕਾਰਡਿੰਗ ਇਸ ਡੇਟਾ ਨੂੰ ਪ੍ਰਗਟ ਕਰ ਸਕਦੇ ਹਨ। ਸਿੰਥੈਟਿਕ (ਕਾਲਪਨਿਕ) ਟੈਸਟ ਖਾਤਿਆਂ ਦੀ ਵਰਤੋਂ ਕਰੋ; ਇਹ ਦੋਵੇਂ ਗੁਪਤਤਾ ਦੀ ਰੱਖਿਆ ਕਰਦਾ ਹੈ ਅਤੇ ਟੈਸਟਾਂ ਨੂੰ ਦੁਬਾਰਾ ਪੈਦਾ ਕਰਨ ਯੋਗ ਬਣਾਉਂਦਾ ਹੈ। ਇੱਕ ਅਸਲ ਗਾਹਕ ਖਾਤੇ ਨਾਲ "ਆਰਡਰ ਰੱਦ ਕਰਨ" ਟੈਸਟ ਕਰਵਾਉਣਾ ਇੱਕ ਨੈਤਿਕ ਅਤੇ ਕਾਰਜਸ਼ੀਲ ਗਲਤੀ ਹੈ।
ਸੁਝਾਅ: ਜਿੰਨਾ ਸੰਭਵ ਹੋ ਸਕੇ UI ਟੈਸਟਾਂ ਨੂੰ ਘੱਟ ਰੱਖੋ; ਅਸਲ ਤਸਦੀਕ ਨੂੰ API ਅਤੇ ਯੂਨਿਟ ਟੈਸਟਾਂ 'ਤੇ ਛੱਡੋ, ਜੋ ਤੇਜ਼ ਅਤੇ ਸਥਿਰ ਹਨ। UI ਟੈਸਟਿੰਗ ਮਹਿੰਗਾ ਅਤੇ ਭੁਰਭੁਰਾ ਹੈ — ਸਿਰਫ ਇਸਦੀ ਵਰਤੋਂ ਅਸਲ ਵਿੱਚ ਅੰਤ ਤੋਂ ਅੰਤ ਤੱਕ ਉਪਭੋਗਤਾ ਪ੍ਰਵਾਹ (ਟੈਸਟ ਪਿਰਾਮਿਡ ਤਰਕ) ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਲਈ ਕਰੋ।
ਵਾਹਨ ਦੀ ਤੁਲਨਾ
ਵਿਸ਼ੇਸ਼ਤਾ
ਸੇਲੇਨੀਅਮ
ਨਾਟਕਕਾਰ
ਸਾਈਪ੍ਰਸ
ਭਾਸ਼ਾਵਾਂ
Java, C#, Python, JS
JS/TS, Python, .NET, Java
JavaScript/TypeScript
ਆਟੋ ਸਟੈਂਡਬਾਏ
ਨਹੀਂ (ਹੱਥ ਦੁਆਰਾ)
ਹਾਂ (ਮਜ਼ਬੂਤ)
ਹਾਂ
ਮਲਟੀ ਬਰਾਊਜ਼ਰ
ਚੌੜਾ
Chromium/Firefox/WebKit
ਕ੍ਰੋਮੀਅਮ-ਪ੍ਰਭਾਵਸ਼ਾਲੀ
ਭੁਰਭੁਰਾ ਹੋਣ ਦੀ ਪ੍ਰਵਿਰਤੀ
ਉੱਚ (ਮੈਨੂਅਲ ਸਟੈਂਡਬਾਏ)
ਘੱਟ
ਘੱਟ
ਸਿੱਖਣ ਦੀ ਸੌਖ
ਮੱਧਮ
ਆਸਾਨ
ਆਸਾਨ
ਸਮਾਨਾਂਤਰ ਕਾਰਵਾਈ
ਗਰਿੱਡ ਦੀ ਲੋੜ ਹੈ
ਬਿਲਟ-ਇਨ
ਨਿਵਾਸੀ/ਭੁਗਤਾਨ
AI ਤੋਂ ਕੋਡ ਦੀ ਬੇਨਤੀ ਕਰਦੇ ਸਮੇਂ, ਸਪਸ਼ਟ ਤੌਰ 'ਤੇ ਦੱਸੋ ਕਿ ਇਹ ਕਿਸ ਵਾਹਨ ਨਾਲ ਸਬੰਧਤ ਹੈ; ਨਹੀਂ ਤਾਂ, ਇਹ ਉਲਝਣ ਵਾਲਾ, ਗੈਰ-ਕਾਰਜਸ਼ੀਲ ਕੋਡ ਪੈਦਾ ਕਰ ਸਕਦਾ ਹੈ।
ਚਾਰ ਕਾਪੀ ਕਰਨ ਯੋਗ ਟੈਂਪਲੇਟ
1) ਠੋਸ UI ਟੈਸਟ ਪੀੜ੍ਹੀ:
ਤੁਹਾਡੀ ਭੂਮਿਕਾ: ਸੀਨੀਅਰ ਟੈਸਟ ਆਟੋਮੇਸ਼ਨ ਇੰਜੀਨੀਅਰ। ਨਿਮਨਲਿਖਤ ਪ੍ਰਵਾਹ ਲਈ [ਟੂਲ + ਭਾਸ਼ਾ] ਨਾਲ ਟੈਸਟ ਲਿਖੋ: [ਪ੍ਰਵਾਹ]। ਨਿਯਮ:- ਸਿਰਫ਼ ਚੋਣਕਾਰ ਡੇਟਾ-ਟੈਸਟਿਡ; XPath/CSS-ਕਲਾਸ ਦੀ ਵਰਤੋਂ ਕਰਨਾ। - ਕੋਈ ਅੰਨ੍ਹਾ ਨੀਂਦ ਨਹੀਂ; ਸਪਸ਼ਟ/ਆਟੋਮੈਟਿਕ ਉਡੀਕ ਵਰਤੋ। - ਪੇਜ ਆਬਜੈਕਟ ਮਾਡਲ ਲਾਗੂ ਕਰੋ। - ਹਰੇਕ ਦਾਅਵੇ ਨੂੰ ਅਸਲ ਉਪਭੋਗਤਾ ਨਤੀਜੇ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਦਿਓ। ਹਰੇਕ ਟੈਸਟ ਦੇ ਸ਼ੁਰੂ ਵਿੱਚ ਟਿੱਪਣੀ ਕਰੋ ਕਿ ਤੁਸੀਂ ਕਿਸ ਸਵੀਕ੍ਰਿਤੀ ਦੇ ਮਾਪਦੰਡ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰ ਰਹੇ ਹੋ।
2) ਕਮਜ਼ੋਰੀ ਕੰਟਰੋਲ:
ਭੁਰਭੁਰਾਪਣ ਲਈ ਹੇਠਾਂ ਦਿੱਤੇ UI ਟੈਸਟ ਦੀ ਜਾਂਚ ਕਰੋ: - ਕੀ ਕੋਈ ਅਸਥਿਰ ਚੋਣਕਾਰ (ਲੰਬਾ
3) ਪੰਨਾ ਵਸਤੂ ਵਿੱਚ ਪਰਿਵਰਤਨ:
ਹੇਠਾਂ ਦਿੱਤੇ ਪਲੇਨ ਟੈਸਟ ਕੋਡ ਨੂੰ ਪੇਜ ਆਬਜੈਕਟ ਮਾਡਲ ਢਾਂਚੇ ਵਿੱਚ ਬਦਲੋ। ਚੋਣਕਾਰਾਂ ਅਤੇ ਕਾਰਵਾਈਆਂ ਨੂੰ ਪੇਜ ਕਲਾਸਾਂ ਵਿੱਚ ਲੈ ਜਾਓ; ਟੈਸਟ ਫਾਈਲ ਨੂੰ ਸਿਰਫ ਦ੍ਰਿਸ਼ ਦੇ ਪ੍ਰਵਾਹ ਨੂੰ ਪੜ੍ਹਨ ਦਿਓ। [ਟੂਲ/ਭਾਸ਼ਾ]।ਕੋਡ: [ਕੋਡ ਪੇਸਟ ਕਰੋ]
4) ਸੂਡੋ-ਪਰਿਵਰਤਨ ਸਬੂਤ:
ਸਾਬਤ ਕਰੋ ਕਿ ਇਹ UI ਟੈਸਟ ਅਸਲ ਵਿੱਚ ਪ੍ਰਮਾਣਿਤ ਕਰਦਾ ਹੈ: ਮੈਂ ਐਪਲੀਕੇਸ਼ਨ ਕੋਡ ਵਿੱਚ ਕਿਹੜਾ ਇੱਕਲਾ ਬਦਲਾਅ ਕਰਾਂ ਜੋ ਇਸ ਟੈਸਟ ਨੂੰ RED ਕਰ ਦੇਵੇਗਾ? ਜੇ ਤੁਸੀਂ ਕੋਈ ਤਬਦੀਲੀ ਨਹੀਂ ਲੱਭ ਸਕਦੇ ਜੋ ਟੈਸਟ ਨੂੰ ਤੋੜ ਦੇਵੇਗਾ, ਤਾਂ ਟੈਸਟ ਨਾਕਾਫ਼ੀ ਹੈ; ਗੁੰਮ ਦਾਅਵੇ ਸ਼ਾਮਲ ਕਰੋ। ਟੈਸਟ: [ਪੇਸਟ ਟੈਸਟ]
ਤਿੰਨ ਛੋਟੇ ਕੇਸ
ਕੇਸ 1 — ਨਾਜ਼ੁਕ ਚੋਣਕਾਰ ਤੋਂ ਮੁਕਤੀ। AI ਨਾਲ ਤਿਆਰ ਕੀਤੇ ਗਏ 40 ਟੈਸਟਾਂ ਵਿੱਚੋਂ, 70% ਇੱਕ ਇੰਟਰਫੇਸ ਅੱਪਡੇਟ ਤੋਂ ਬਾਅਦ ਟੁੱਟ ਗਏ ਸਨ; ਉਹਨਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਅਸਲ ਬੱਗ ਨਹੀਂ ਸਨ, ਉਹ ਸਾਰੇ ਕਮਜ਼ੋਰ XPath ਚੋਣਕਾਰ ਸਨ। ਟੀਮ ਨੇ ਟੈਸਟਾਂ ਨੂੰ "ਨਾਜ਼ੁਕਤਾ ਜਾਂਚ" ਟੈਂਪਲੇਟ ਨਾਲ ਡੇਟਾ-ਟੈਸਟਿਡ ਬੇਸ ਵਿੱਚ ਬਦਲ ਦਿੱਤਾ। ਅਗਲੇ ਤਿੰਨ ਇੰਟਰਫੇਸ ਅੱਪਡੇਟਾਂ ਵਿੱਚ, ਝੂਠੇ ਬ੍ਰੇਕਾਂ ਦੀ ਗਿਣਤੀ ਜ਼ੀਰੋ ਤੱਕ ਘਟ ਗਈ ਹੈ; ਰੱਖ-ਰਖਾਅ ਦਾ ਸਮਾਂ 6 ਘੰਟੇ ਤੋਂ ਘਟ ਕੇ 30 ਮਿੰਟ ਪ੍ਰਤੀ ਹਫ਼ਤੇ ਹੋ ਗਿਆ ਹੈ।
ਕੇਸ 2 - ਜਾਅਲੀ ਪਾਸ ਕਰਨ ਵਾਲਾ UI ਟੈਸਟ। AI ਨੇ "ਕਾਰਟ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ" ਟੈਸਟ ਤਿਆਰ ਕੀਤਾ; ਟੈਸਟ ਹਰਾ ਸੀ. ਜਦੋਂ "ਫੇਕ-ਪ੍ਰੂਫ-ਆਫ-ਪੈਸੇਜ" ਟੈਂਪਲੇਟ ਨੂੰ ਚਲਾਇਆ ਗਿਆ ਸੀ, ਤਾਂ ਟੈਸਟ ਸਿਰਫ ਬਟਨ ਕਲਿੱਕ ਅਤੇ ਪੰਨੇ ਦੇ ਸਿਰਲੇਖ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਪ੍ਰਗਟ ਹੋਇਆ, ਕਦੇ ਵੀ ਇਹ ਪੁਸ਼ਟੀ ਨਹੀਂ ਕਰਦਾ ਕਿ ਕਾਰਟ ਕਾਊਂਟਰ ਵਧਿਆ ਹੈ ਜਾਂ ਨਹੀਂ। ਭਾਵੇਂ ਕਾਰਟ ਤਰਕ ਪੂਰੀ ਤਰ੍ਹਾਂ ਟੁੱਟ ਗਿਆ ਸੀ, ਪਰ ਪ੍ਰੀਖਿਆ ਪਾਸ ਹੋ ਗਈ. ਸਹੀ ਦਾਅਵਾ ਜੋੜਿਆ ਗਿਆ (ਕਾਰਟ ਬੈਜ "1" ਹੈ)।
ਕੇਸ 3 - ਅੰਨ੍ਹਾ ਉਡੀਕ ਜਾਲ। ਏਆਈ ਦੁਆਰਾ ਤਿਆਰ ਕੀਤੇ ਗਏ ਸੇਲੇਨਿਅਮ ਟੈਸਟ ਵਿੱਚ, ਹਰ ਇੱਕ ਕਦਮ ਦੇ ਬਾਅਦ ਨੀਂਦ (2) ਸੀ; 60 ਟੈਸਟਾਂ ਵਿੱਚ 14 ਮਿੰਟ ਲੱਗੇ ਅਤੇ ਅਜੇ ਵੀ ਕਦੇ-ਕਦਾਈਂ ਟੁੱਟ ਗਏ। ਓਪਨ ਵੇਟ 'ਤੇ ਸਵਿਚ ਕਰਨ ਤੋਂ ਬਾਅਦ (ਤੱਤ ਦੇ ਕਲਿਕ ਕਰਨ ਯੋਗ ਹੋਣ ਦੀ ਉਡੀਕ ਕਰੋ) ਸਮਾਂ 5 ਮਿੰਟ ਤੱਕ ਘੱਟ ਗਿਆ ਅਤੇ ਭੁਰਭੁਰਾਤਾ ਗਾਇਬ ਹੋ ਗਈ। ਅੰਨ੍ਹਾ ਇੰਤਜ਼ਾਰ ਹੌਲੀ ਅਤੇ ਭਰੋਸੇਯੋਗ ਨਹੀਂ ਸੀ।
ਆਮ ਗਲਤੀਆਂ
- ਨਾਜ਼ੁਕ ਚੋਣਕਾਰਾਂ ਲਈ ਸਹਿਮਤੀ. AI ਦੁਆਰਾ ਤਿਆਰ ਕੀਤੇ ਲੰਬੇ XPaths ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਜਿਵੇਂ ਹੈ; ਪਹਿਲੀ ਇੰਟਰਫੇਸ ਤਬਦੀਲੀ 'ਤੇ ਟੈਸਟ ਕਰੈਸ਼.
- ਅੰਨ੍ਹੀ 'ਨੀਂਦ' ਨੂੰ ਛੱਡਣਾ। ਇੱਕ ਨਿਸ਼ਚਿਤ ਉਡੀਕ ਨਾਲ ਸਮੇਂ ਨੂੰ "ਹੱਲ ਕਰਨਾ"; ਦੋਨੋ ਹੌਲੀ ਅਤੇ ਨਿਰਣਾਇਕ.
- ਮਾਮੂਲੀ ਦਾਅਵਾ. ਸਿਰਫ਼ ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਪੰਨਾ ਲੋਡ ਹੋ ਗਿਆ ਹੈ; ਅਸਲ ਉਪਭੋਗਤਾ ਨਤੀਜੇ (ਜਾਅਲੀ-ਪਾਸ) ਦੀ ਜਾਂਚ ਨਹੀਂ ਕਰ ਰਿਹਾ ਹੈ।
- POM ਤੋਂ ਬਿਨਾਂ ਵਧੋ। ਹਰੇਕ ਟੈਸਟ ਲਈ ਚੋਣਕਾਰਾਂ ਨੂੰ ਵੰਡੋ; ਜਦੋਂ ਇੰਟਰਫੇਸ ਬਦਲਦਾ ਹੈ ਤਾਂ ਦਰਜਨਾਂ ਫਾਈਲਾਂ ਨੂੰ ਹੱਥੀਂ ਅੱਪਡੇਟ ਕਰਨਾ।
- ਟੂਲ ਨਿਰਧਾਰਿਤ ਨਹੀਂ ਕਰ ਰਿਹਾ ਹੈ। AI ਨੂੰ ਇਹ ਨਾ ਦੱਸਣਾ ਕਿ ਤੁਸੀਂ ਕਿਹੜਾ ਟੂਲ/ਭਾਸ਼ਾ ਚਾਹੁੰਦੇ ਹੋ; ਗੜਬੜ, ਗੈਰ-ਕਾਰਜ ਕੋਡ ਪ੍ਰਾਪਤ ਕਰਨਾ.
- ਜਦੋਂ ਤੁਸੀਂ ਤਿਆਰ ਕੀਤੇ ਕੋਡ ਨੂੰ ਚਲਾਉਂਦੇ ਹੋ ਅਤੇ ਪਾਸ ਕਰਦੇ ਹੋ ਤਾਂ ਭਰੋਸਾ ਕਰਨਾ। ਕੋਡ ਨੂੰ ਤੋੜ ਕੇ ਟੈਸਟ ਨਹੀਂ ਕੀਤਾ ਜਾ ਰਿਹਾ।
ਸਾਰੰਸ਼ ਵਿੱਚ
UI ਟੈਸਟਿੰਗ ਆਟੋਮੇਸ਼ਨ ਪ੍ਰੋਗਰਾਮ ਦੇ ਨਾਲ ਅਸਲ ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਚਲਾ ਕੇ ਉਪਭੋਗਤਾ ਵਿਹਾਰ ਦੀ ਪੁਸ਼ਟੀ ਕਰਦੀ ਹੈ। AI ਇਸ ਕੋਡ ਨੂੰ ਤੇਜ਼ੀ ਨਾਲ ਤਿਆਰ ਕਰਦਾ ਹੈ, ਪਰ ਇੱਥੇ ਦੋ ਵੱਡੀਆਂ ਕਮੀਆਂ ਹਨ: ਭੁਰਭੁਰਾ ਟੈਸਟ (ਬੁਰਾ ਚੋਣਕਾਰ, ਅੰਨ੍ਹਾ ਉਡੀਕ) ਅਤੇ ਜਾਅਲੀ-ਪਾਸਿੰਗ ਟੈਸਟ (ਅਧੂਰਾ/ਮਾਮੂਲੀ ਦਾਅਵਾ)। ਠੋਸ UI ਟੈਸਟਿੰਗ ਦੇ ਤਿੰਨ ਥੰਮ੍ਹ ਹਨ ਪ੍ਰਤੀਬੱਧ ਚੋਣਕਾਰ (ਡੇਟਾ-ਟੈਸਟਿਡ), ਸਪਸ਼ਟ ਉਡੀਕ, ਅਤੇ ਦਾਅਵਾ ਜੋ ਅਸਲ ਉਪਭੋਗਤਾ ਨਤੀਜੇ ਦੀ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ। ਪੰਨਾ ਆਬਜੈਕਟ ਮਾਡਲ ਵਿੱਚ ਤਿਆਰ ਕੀਤੇ ਗਏ ਟੈਸਟਾਂ ਨਾਲ ਰੱਖ-ਰਖਾਅ ਨੂੰ ਮੂਲ ਰੂਪ ਵਿੱਚ ਸਰਲ ਬਣਾਇਆ ਜਾਂਦਾ ਹੈ। ਹਰੇਕ ਤਿਆਰ ਕੀਤੇ ਗਏ ਟੈਸਟ ਦੀ ਜਾਂਚ ਇਸ ਸਵਾਲ ਨਾਲ ਕਰੋ ਕਿ "ਕੀ ਤਬਦੀਲੀ ਇਸ ਨੂੰ ਤੋੜ ਦੇਵੇਗੀ?"
ਐਪਲੀਕੇਸ਼ਨ ਦਾ ਕੰਮ
ਆਪਣੇ ਖੁਦ ਦੇ ਪ੍ਰੋਜੈਕਟ ਤੋਂ ਇੱਕ ਉਪਭੋਗਤਾ ਪ੍ਰਵਾਹ ਚੁਣੋ (ਉਦਾਹਰਨ ਲਈ ਲੌਗਇਨ ਜਾਂ ਖੋਜ)। "ਮਜ਼ਬੂਤ UI ਟੈਸਟ ਜਨਰੇਸ਼ਨ" ਟੈਮਪਲੇਟ ਨਾਲ AI ਲਿਖਤੀ ਟੈਸਟ ਕਰਵਾਓ। ਫਿਰ: (1) ਚੋਣਕਾਰਾਂ ਦੀ ਜਾਂਚ ਕਰੋ ਅਤੇ ਫਿਕਸ ਕਰੋ ਅਤੇ "ਨਾਜ਼ੁਕਤਾ ਜਾਂਚ" ਨਾਲ ਉਡੀਕ ਕਰੋ, (2) ਸਾਬਤ ਕਰੋ ਕਿ ਹਰੇਕ ਟੈਸਟ ਅਸਲ ਵਿੱਚ "ਸੂਡੋ-ਪਾਸ ਪਰੂਫ" ਨਾਲ ਪ੍ਰਮਾਣਿਤ ਹੁੰਦਾ ਹੈ, (3) ਕੋਡ ਨੂੰ ਤੋੜੋ ਅਤੇ ਵੇਖੋ ਕਿ ਟੈਸਟ ਲਾਲ ਹੋ ਗਿਆ ਹੈ। ਤਿਆਰ ਕੀਤੇ ਅਤੇ ਠੀਕ ਕੀਤੇ ਗਏ ਟੈਸਟਾਂ ਦੀ ਸੰਖਿਆ, ਅਤੇ ਤੁਹਾਡੇ ਦੁਆਰਾ ਲੱਭੀਆਂ ਗਈਆਂ ਕਮਜ਼ੋਰੀਆਂ ਅਤੇ ਸੂਡੋ-ਪਾਸ ਦੀ ਗਿਣਤੀ ਦੀ ਰਿਪੋਰਟ ਕਰੋ।
ਚੈੱਕਲਿਸਟ
- [ ] ਮੈਂ AI ਨੂੰ ਟੂਲ, ਭਾਸ਼ਾ, ਚੋਣਕਾਰ ਨੀਤੀ ਅਤੇ ਆਰਕੀਟੈਕਚਰ (POM) ਸਪਸ਼ਟ ਤੌਰ 'ਤੇ ਦਿੱਤਾ ਹੈ।
- [ ] ਮੈਂ ਪੁਸ਼ਟੀ ਕੀਤੀ ਹੈ ਕਿ ਚੋਣਕਾਰ ਡੇਟਾ-ਟੈਸਟਿਡ ਹਨ।
- [ ] ਮੈਂ ਅੰਨ੍ਹੇ ਨੀਂਦ ਦੀ ਬਜਾਏ ਸਪਸ਼ਟ/ਆਟੋਮੈਟਿਕ ਉਡੀਕ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਯਕੀਨੀ ਬਣਾਇਆ ਹੈ।
- [ ] ਮੈਂ ਜਾਂਚ ਕੀਤੀ ਕਿ ਹਰੇਕ ਦਾਅਵਾ ਅਸਲ ਉਪਭੋਗਤਾ ਨਤੀਜੇ ਦੀ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ।
- [ ] ਮੈਂ ਕੋਡ ਨੂੰ ਤੋੜ ਕੇ ਹਰੇਕ ਟੈਸਟ ਦੀ ਜਾਂਚ ਕੀਤੀ; ਮੈਂ ਇਸਨੂੰ ਲਾਲ ਹੁੰਦਾ ਦੇਖਿਆ।
- [ ] ਮੈਂ ਪੰਨਾ ਆਬਜੈਕਟ ਮਾਡਲ ਬਣਤਰ ਵਿੱਚ ਟੈਸਟ ਇਕੱਠੇ ਕੀਤੇ ਹਨ।