ਵਿਕਾਸ ਵਾਰ-ਵਾਰ ਕੁਝ ਨਵਾਂ ਅਤੇ ਉਪਯੋਗੀ ਬਣਾਉਣ ਬਾਰੇ ਹੈ।
ਜਦੋਂ ਅਸੀਂ "ਵਿਕਾਸ" ਸੁਣਦੇ ਹਾਂ, ਤਾਂ ਨਵੇਂ ਉਤਪਾਦ ਦਾ ਵਿਕਾਸ ਅਕਸਰ ਸਾਡੇ ਦਿਮਾਗ ਵਿੱਚ ਆਉਂਦਾ ਹੈ। ਇਹ ਵਿਅਕਤੀਗਤ ਉਤਪਾਦਾਂ ਦੇ ਨਿਰਮਾਣ ਤੋਂ ਵੱਖਰਾ ਹੈ; ਇਸਦਾ ਅਰਥ ਹੈ, ਉਤਪਾਦ ਦੇ ਨੀਲੇ ਨਕਸ਼ੇ ਜਾਂ ਮੋਲਡ ਬਣਾਉਣਾ, ਇੱਕ ਤਰ੍ਹਾਂ ਨਾਲ।
ਇਸ ਲਈ, ਨਵੇਂ ਉਤਪਾਦ ਵਿਕਾਸ ਦੁਆਰਾ ਬਣਾਏ ਗਏ ਡਿਜ਼ਾਈਨ ਅਤੇ ਮੋਲਡ ਫੈਕਟਰੀਆਂ ਵਿੱਚ ਵਾਰ-ਵਾਰ ਵਰਤੇ ਜਾਂਦੇ ਹਨ ਤਾਂ ਜੋ ਇੱਕੋ ਜਿਹੇ ਉਤਪਾਦਾਂ ਦਾ ਵੱਡੇ ਪੱਧਰ 'ਤੇ ਉਤਪਾਦਨ ਕੀਤਾ ਜਾ ਸਕੇ।
"ਵਿਕਾਸ" ਸ਼ਬਦ ਦੀਆਂ ਹੋਰ ਵਰਤੋਂ ਵੀ ਹਨ ਜਿਵੇਂ ਕਿ ਵਿਅਕਤੀਗਤ ਸਮਰੱਥਾਵਾਂ ਦਾ ਵਿਕਾਸ ਕਰਨਾ, ਜਾਂ ਸਮਾਜ ਅਤੇ ਇੱਕ ਰਾਸ਼ਟਰ ਦਾ ਵਿਕਾਸ ਕਰਨਾ। ਇਹ ਸਿਰਫ਼ ਜੋ ਕੁਝ ਹੈ ਉਸ ਵਿੱਚ ਵਾਧਾ ਨਹੀਂ ਦਰਸਾਉਂਦਾ, ਸਗੋਂ ਵਿਕਸਤ ਸਮਰੱਥਾਵਾਂ ਨੂੰ ਵਾਰ-ਵਾਰ ਵਰਤਣ ਅਤੇ ਉਹਨਾਂ ਤੋਂ ਲਾਭ ਉਠਾਉਣ ਦੀ ਯੋਗਤਾ ਨੂੰ ਦਰਸਾਉਂਦਾ ਹੈ।
ਜਦੋਂ ਕਿ ਵਿਅਕਤੀਆਂ ਅਤੇ ਸਮਾਜਾਂ ਦੀ ਆਰਥਿਕ ਸ਼ਕਤੀ ਆਰਥਿਕ ਸਥਿਤੀਆਂ ਨਾਲ ਉਤਰਾਅ-ਚੜ੍ਹਾਅ ਹੋ ਸਕਦੀ ਹੈ, ਵਿਕਸਤ ਸਮਰੱਥਾਵਾਂ ਆਮ ਤੌਰ 'ਤੇ ਸਥਾਈ ਹੁੰਦੀਆਂ ਹਨ।
ਭਾਵੇਂ ਉਹ ਘੱਟ ਜਾਂਦੀਆਂ ਹਨ, ਇਸਨੂੰ ਆਰਥਿਕ ਖੁਸ਼ਹਾਲੀ ਵਾਂਗ ਉਤਰਾਅ-ਚੜ੍ਹਾਅ ਨਹੀਂ, ਸਗੋਂ ਗਿਰਾਵਟ ਵਜੋਂ ਦੇਖਿਆ ਜਾਂਦਾ ਹੈ।
ਇਸ ਤੋਂ ਇਲਾਵਾ, ਤਕਨਾਲੋਜੀ ਅਤੇ ਗਿਆਨ ਦਾ ਵਿਕਾਸ ਵੀ ਹੁੰਦਾ ਹੈ। ਵਿਅਕਤੀਆਂ ਜਾਂ ਖਾਸ ਸਮਾਜਾਂ ਦੀਆਂ ਸਮਰੱਥਾਵਾਂ ਦੇ ਉਲਟ, ਇਹਨਾਂ ਦੀ ਵਿਸ਼ੇਸ਼ਤਾ ਆਸਾਨੀ ਨਾਲ ਸਾਂਝੀ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ।
ਅਤੇ ਇਹਨਾਂ ਵਿਕਾਸਾਂ ਦੇ ਨਤੀਜਿਆਂ ਵਿੱਚੋਂ—ਉਤਪਾਦ, ਸਮਰੱਥਾਵਾਂ, ਗਿਆਨ ਅਤੇ ਤਕਨਾਲੋਜੀਆਂ—ਕੁਝ ਬਾਅਦ ਦੇ ਵਿਕਾਸ ਲਈ ਉਪਯੋਗੀ ਹੋ ਸਕਦੇ ਹਨ।
ਅਜਿਹੇ ਉਪਯੋਗੀ ਨਤੀਜਿਆਂ ਨੂੰ ਵਿਕਸਤ ਕਰਕੇ, ਵਿਕਾਸ ਦਾ ਦਾਇਰਾ ਵਧਦਾ ਹੈ, ਅਤੇ ਕੁਸ਼ਲਤਾ ਅਤੇ ਗੁਣਵੱਤਾ ਵਿੱਚ ਵੀ ਸੁਧਾਰ ਹੁੰਦਾ ਹੈ।
AI-ਸੰਚਾਲਿਤ ਸਾਫਟਵੇਅਰ ਵਿਕਾਸ
ਆਮ ਤੌਰ 'ਤੇ, ਵਿਕਾਸ ਲਈ ਕਾਫ਼ੀ ਸਮਾਂ ਅਤੇ ਮਿਹਨਤ ਦੀ ਲੋੜ ਹੁੰਦੀ ਸੀ। ਖਾਸ ਤੌਰ 'ਤੇ ਜਿਵੇਂ-ਜਿਵੇਂ ਸਮਾਜ ਅੱਗੇ ਵਧਦਾ ਹੈ ਅਤੇ ਵੱਖ-ਵੱਖ ਚੀਜ਼ਾਂ ਵਧੇਰੇ ਗੁੰਝਲਦਾਰ ਹੋ ਜਾਂਦੀਆਂ ਹਨ, ਨਵੀਆਂ ਚੀਜ਼ਾਂ ਬਣਾਉਣਾ ਵਧੇਰੇ ਮੁਸ਼ਕਲ ਹੋ ਜਾਂਦਾ ਹੈ।
ਹਾਲਾਂਕਿ, ਜਨਰੇਟਿਵ AI ਦੇ ਆਗਮਨ ਨਾਲ, ਇਹ ਸਥਿਤੀ ਬਦਲ ਰਹੀ ਹੈ। ਵਰਤਮਾਨ ਵਿੱਚ, ਜਨਰੇਟਿਵ AI ਦੀਆਂ ਉੱਚ ਪ੍ਰੋਗਰਾਮਿੰਗ ਸਮਰੱਥਾਵਾਂ ਦੇ ਲਾਭ ਨਾਲ, ਸਾਫਟਵੇਅਰ ਵਿਕਾਸ ਵਿੱਚ ਇੱਕ ਨਾਟਕੀ ਤਬਦੀਲੀ ਆ ਰਹੀ ਹੈ।
ਇੱਕ ਭਵਿੱਖੀ ਦ੍ਰਿਸ਼ਟੀਕੋਣ ਜਿੱਥੇ ਜਨਰੇਟਿਵ AI 'ਤੇ ਅਧਾਰਤ ਖੁਦਮੁਖਤਿਆਰ ਏਜੰਟ ਸਾਫਟਵੇਅਰ ਇੰਜੀਨੀਅਰਾਂ ਵਜੋਂ ਸਾਫਟਵੇਅਰ ਵਿਕਾਸ ਦੇ ਕੇਂਦਰ ਬਣ ਜਾਂਦੇ ਹਨ, ਪਹਿਲਾਂ ਹੀ ਇੱਕ ਹਕੀਕਤ ਬਣ ਰਿਹਾ ਹੈ।
ਅਸੀਂ ਵਰਤਮਾਨ ਵਿੱਚ ਇੱਕ ਪਰਿਵਰਤਨਸ਼ੀਲ ਦੌਰ ਵਿੱਚ ਹਾਂ। ਜਦੋਂ ਕਿ ਅਸੀਂ ਜਨਰੇਟਿਵ AI ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਵਿਕਾਸ ਦਾ ਕੰਮ ਨਹੀਂ ਸੌਂਪ ਸਕਦੇ, ਜਨਰੇਟਿਵ AI ਦੀ ਕੁਸ਼ਲਤਾ ਨਾਲ ਵਰਤੋਂ ਸਾਫਟਵੇਅਰ ਵਿਕਾਸ ਨੂੰ ਸ਼ਕਤੀਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਅੱਗੇ ਵਧਾ ਸਕਦੀ ਹੈ।
ਇਸਨੂੰ AI-ਸੰਚਾਲਿਤ ਸਾਫਟਵੇਅਰ ਵਿਕਾਸ ਕਿਹਾ ਜਾਂਦਾ ਹੈ।
ਵਿਕਾਸ-ਸੰਚਾਲਿਤ ਵਿਕਾਸ
ਜਦੋਂ ਜਨਰੇਟਿਵ AI ਸਾਫਟਵੇਅਰ ਵਿਕਾਸ ਨੂੰ ਸੁਚਾਰੂ ਬਣਾਉਂਦਾ ਹੈ, ਤਾਂ ਇਹ ਨਾ ਸਿਰਫ਼ ਅੰਤਿਮ ਨਿਸ਼ਾਨਾ ਸਾਫਟਵੇਅਰ ਦੇ ਵਿਕਾਸ ਨੂੰ ਵਧੇਰੇ ਕੁਸ਼ਲ ਬਣਾ ਸਕਦਾ ਹੈ, ਬਲਕਿ ਵਿਕਾਸ ਵਿੱਚ ਸਹਾਇਤਾ ਕਰਨ ਵਾਲੇ ਸਾਫਟਵੇਅਰ ਦੇ ਵਿਕਾਸ ਨੂੰ ਵੀ ਕੁਸ਼ਲ ਬਣਾ ਸਕਦਾ ਹੈ।
ਜਿਵੇਂ ਕਿ ਪਹਿਲਾਂ ਦੱਸਿਆ ਗਿਆ ਹੈ, ਵਿਕਾਸ ਵਿੱਚ ਸਹਾਇਤਾ ਕਰਨ ਵਾਲੇ ਨਤੀਜੇ ਵਿਕਾਸ ਦੇ ਦਾਇਰੇ ਨੂੰ ਵਧਾਉਂਦੇ ਹਨ ਅਤੇ ਵਧੀ ਹੋਈ ਕੁਸ਼ਲਤਾ ਅਤੇ ਗੁਣਵੱਤਾ ਵਿੱਚ ਯੋਗਦਾਨ ਪਾਉਂਦੇ ਹਨ। ਇਸ ਤੋਂ ਇਲਾਵਾ, ਜੇਕਰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਢੰਗ ਨਾਲ ਬਣਾਇਆ ਜਾਂਦਾ ਹੈ, ਤਾਂ ਉਹਨਾਂ ਨੂੰ ਦੂਜੇ ਵਿਕਾਸ ਪ੍ਰੋਜੈਕਟਾਂ ਵਿੱਚ ਵੀ ਮੁੜ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ।
ਇਸ ਲਈ, ਸਾਫਟਵੇਅਰ ਵਿਕਾਸ ਦੇ ਦੌਰਾਨ ਉਪਯੋਗੀ ਸਾਫਟਵੇਅਰ ਵਿਕਸਤ ਕਰਕੇ, ਸਮੁੱਚੀ ਕੁਸ਼ਲਤਾ ਨੂੰ ਅੰਤਿਮ ਰੂਪ ਵਿੱਚ ਵਧਾਇਆ ਜਾ ਸਕਦਾ ਹੈ, ਅਤੇ ਇਹਨਾਂ ਸੰਪਤੀਆਂ ਨੂੰ ਭਵਿੱਖ ਦੇ ਵਿਕਾਸ ਲਈ ਵੀ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ।
ਰਵਾਇਤੀ ਤੌਰ 'ਤੇ, ਅਜਿਹੇ ਵਿਕਾਸ-ਸਹਾਇਕ ਸਾਫਟਵੇਅਰ ਦਾ ਵਿਕਾਸ ਖੇਤਰ ਵਿੱਚ ਆਮ ਅਭਿਆਸ ਸੀ, ਪਰ ਇਸ ਲਈ ਆਪਣੇ ਖੁਦ ਦੇ ਵਿਕਾਸ ਸਮੇਂ ਅਤੇ ਮਿਹਨਤ ਦੀ ਲੋੜ ਹੁੰਦੀ ਸੀ, ਜਿਸ ਨਾਲ ਸਾਵਧਾਨੀਪੂਰਵਕ ਮੁਲਾਂਕਣ ਅਤੇ ਨਿਸ਼ਾਨਾ ਲਾਗੂਕਰਨ ਦੀ ਲੋੜ ਪੈਂਦੀ ਸੀ।
ਜਨਰੇਟਿਵ AI ਦੀ ਵਰਤੋਂ ਕਰਕੇ, ਛੋਟੇ, ਅਚਨਚੇਤ ਕਾਰਜਾਂ ਨੂੰ ਸਵੈਚਾਲਤ ਕਰਨ ਲਈ ਸਧਾਰਨ ਸਾਫਟਵੇਅਰ ਤੇਜ਼ੀ ਨਾਲ ਬਣਾਇਆ ਜਾ ਸਕਦਾ ਹੈ। ਸਪਸ਼ਟ ਪ੍ਰਕਿਰਿਆਵਾਂ ਵਾਲੇ ਕਾਰਜਾਂ ਲਈ, ਜਨਰੇਟਿਵ AI ਲਗਭਗ ਬਿਨਾਂ ਕਿਸੇ ਗਲਤੀ ਦੇ ਸਹੀ ਪ੍ਰੋਗਰਾਮ ਤਿਆਰ ਕਰ ਸਕਦਾ ਹੈ।
ਇਹ ਸਾਫਟਵੇਅਰ ਵਿਕਾਸ ਦੇ ਦੌਰਾਨ ਵਿਕਾਸ ਵਿੱਚ ਸਹਾਇਤਾ ਕਰਨ ਵਾਲੇ ਸਾਫਟਵੇਅਰ ਨੂੰ ਵਿਕਸਤ ਕਰਨਾ ਪਹਿਲਾਂ ਨਾਲੋਂ ਵੀ ਆਸਾਨ ਬਣਾਉਂਦਾ ਹੈ।
ਅਤੇ ਡੂੰਘਾਈ ਨਾਲ ਸੋਚਣ 'ਤੇ, ਇੱਕ ਵਿਕਾਸ ਸ਼ੈਲੀ ਉੱਭਰਦੀ ਹੈ ਜਿੱਥੇ ਵਿਕਾਸ ਪ੍ਰਕਿਰਿਆ ਦੌਰਾਨ ਉਪਯੋਗੀ ਸਾਧਨ ਲਗਾਤਾਰ ਵਿਕਸਤ ਕੀਤੇ ਜਾਂਦੇ ਹਨ, ਜਿਸ ਨਾਲ ਵਿਕਾਸ ਦੇ ਤਰੀਕੇ ਨੂੰ ਹੀ ਬਦਲਿਆ ਜਾਂਦਾ ਹੈ।
ਅਸੀਂ ਇਸਨੂੰ ਵਿਕਾਸ-ਸੰਚਾਲਿਤ ਵਿਕਾਸ ਕਹਾਂਗੇ।
ਵਿਕਾਸ-ਸੰਚਾਲਿਤ ਵਿਕਾਸ ਦਾ ਅਭਿਆਸ ਕਰਨ ਲਈ, ਕਿਸੇ ਨੂੰ ਆਪਣੇ ਸਾਫਟਵੇਅਰ ਵਿਕਾਸ ਨੂੰ ਨਿਰਪੱਖ ਤੌਰ 'ਤੇ ਦੇਖਣ ਦੀ ਆਦਤ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ ਤਾਂ ਜੋ ਇਹ ਵਿਚਾਰ ਕੀਤਾ ਜਾ ਸਕੇ ਕਿ ਕਿਹੜੇ ਹਿੱਸੇ ਸਾਫਟਵੇਅਰ ਨੂੰ ਸੌਂਪੇ ਜਾ ਸਕਦੇ ਹਨ ਅਤੇ ਕਿਹੜੇ ਹਿੱਸੇ ਸਿਰਫ਼ ਮਨੁੱਖ ਹੀ ਕਰ ਸਕਦੇ ਹਨ, ਇਸ ਤੋਂ ਇਲਾਵਾ ਅਜਿਹੇ ਵਿਕਾਸ-ਸਹਾਇਕ ਸਾਫਟਵੇਅਰ ਨੂੰ ਵਿਕਸਤ ਕਰਨ ਦੇ ਹੁਨਰ ਦੀ ਵੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।
ਇਸ ਤੋਂ ਇਲਾਵਾ, ਜਨਰੇਟਿਵ AI ਨੂੰ ਇਹਨਾਂ ਸਾਫਟਵੇਅਰ ਟੂਲਾਂ ਵਿੱਚ ਏਕੀਕ੍ਰਿਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਇਸਨੂੰ ਸਾਫਟਵੇਅਰ ਦੇ ਅੰਦਰ ਏਮਬੇਡ ਕਰਨ ਨਾਲ, ਇੱਕ ਸਟੈਂਡਅਲੋਨ ਜਨਰੇਟਿਵ AI ਏਜੰਟ ਦੇ ਉਲਟ, ਪ੍ਰੋਸੈਸਿੰਗ ਦੇ ਦਾਇਰੇ ਨੂੰ ਘਟਾਇਆ ਜਾ ਸਕਦਾ ਹੈ ਅਤੇ ਕੁਝ ਹੱਦ ਤੱਕ ਇੱਕ ਸਪਸ਼ਟ ਮਾਰਗ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
ਜਦੋਂ ਕਿ AI ਏਜੰਟ ਪ੍ਰੋਂਪਟਿੰਗ ਦੁਆਰਾ ਸਮਾਨ ਨਤੀਜੇ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹਨ, ਜਨਰੇਟਿਵ AI ਨੂੰ ਏਕੀਕ੍ਰਿਤ ਕਰਨ ਵਾਲਾ ਸਾਫਟਵੇਅਰ ਪ੍ਰੋਗਰਾਮਾਂ ਅਤੇ ਪ੍ਰੋਂਪਟਾਂ ਦੋਵਾਂ ਨੂੰ ਜੋੜ ਕੇ ਵਧੇਰੇ ਆਸਾਨੀ ਨਾਲ ਸ਼ੁੱਧਤਾ ਵਧਾ ਸਕਦਾ ਹੈ।
ਜੇ ਵਿਕਾਸ-ਸੰਚਾਲਿਤ ਵਿਕਾਸ ਦਾ ਅਭਿਆਸ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਤਾਂ ਪਹਿਲੇ ਪ੍ਰੋਜੈਕਟ ਦੀ ਤੁਲਨਾ ਵਿੱਚ ਦੂਜੇ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ ਗੁਣਵੱਤਾ ਅਤੇ ਲਾਗਤ ਦੋਵਾਂ ਵਿੱਚ ਸੁਧਾਰ ਦੇਖਿਆ ਜਾਵੇਗਾ। ਇਸ ਤੋਂ ਇਲਾਵਾ, ਹਰੇਕ ਅਗਲੇ ਪ੍ਰੋਜੈਕਟ—ਤੀਜੇ, ਚੌਥੇ, ਅਤੇ ਹੋਰ—ਨਾਲ ਸੁਧਾਰ ਜਾਰੀ ਰਹਿਣਗੇ।
ਇਹ ਸਿਰਫ਼ ਜਨਰੇਟਿਵ AI ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸਾਫਟਵੇਅਰ ਵਿਕਸਤ ਕਰਨ ਤੋਂ ਬਿਲਕੁਲ ਵੱਖਰਾ ਹੈ। ਉਹਨਾਂ ਟੀਮਾਂ ਵਿਚਕਾਰ ਜੋ ਸਿਰਫ਼ ਜਨਰੇਟਿਵ AI ਟੂਲਾਂ ਵਿੱਚ ਮੁਹਾਰਤ ਹਾਸਲ ਕਰਦੀਆਂ ਹਨ ਅਤੇ ਉਹਨਾਂ ਟੀਮਾਂ ਵਿਚਕਾਰ ਜੋ ਵਿਕਾਸ-ਸੰਚਾਲਿਤ ਵਿਕਾਸ ਦਾ ਅਭਿਆਸ ਕਰਦੀਆਂ ਹਨ, ਸਮੇਂ ਦੇ ਨਾਲ ਇੱਕ ਮਹੱਤਵਪੂਰਨ ਅੰਤਰ ਉੱਭਰੇਗਾ।
ਰੀਫੈਕਟਰਿੰਗ-ਸੰਚਾਲਿਤ ਟੈਸਟ
ਟੈਸਟ-ਸੰਚਾਲਿਤ ਵਿਕਾਸ (TDD) ਨਾਮ ਦਾ ਇੱਕ ਸੰਕਲਪ ਹੈ, ਜਿਸ ਵਿੱਚ ਪਹਿਲਾਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੇ ਆਧਾਰ 'ਤੇ ਟੈਸਟਾਂ ਨੂੰ ਡਿਜ਼ਾਈਨ ਕਰਨਾ ਅਤੇ ਫਿਰ ਉਹਨਾਂ ਟੈਸਟਾਂ ਨੂੰ ਪਾਸ ਕਰਨ ਲਈ ਸਾਫਟਵੇਅਰ ਵਿਕਸਤ ਕਰਨਾ ਸ਼ਾਮਲ ਹੁੰਦਾ ਹੈ।
ਸ਼ੁਰੂ ਵਿੱਚ, ਮੈਂ ਵੀ ਸੋਚਿਆ ਸੀ ਕਿ ਜਨਰੇਟਿਵ AI ਦੇ ਆਟੋਮੇਟਿਡ ਟੈਸਟਿੰਗ ਲਈ ਟੈਸਟ ਪ੍ਰੋਗਰਾਮਾਂ ਨੂੰ ਵਿਕਸਤ ਕਰਨਾ ਆਸਾਨ ਬਣਾਉਣ ਨਾਲ, ਟੈਸਟ-ਸੰਚਾਲਿਤ ਵਿਕਾਸ ਵਿਹਾਰਕ ਹੋ ਸਕਦਾ ਹੈ।
ਹਾਲਾਂਕਿ, ਜਦੋਂ ਮੈਂ ਵਿਕਾਸ-ਸੰਚਾਲਿਤ ਵਿਕਾਸ ਦਾ ਅਭਿਆਸ ਕਰਨਾ ਸ਼ੁਰੂ ਕੀਤਾ, ਤਾਂ ਮੈਂ ਇਹ ਮੰਨਣ ਲੱਗ ਪਿਆ ਕਿ ਲਾਗੂਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਟੈਸਟਾਂ ਨੂੰ ਡਿਜ਼ਾਈਨ ਕਰਨ ਦਾ ਤਰੀਕਾ ਹਮੇਸ਼ਾ ਢੁਕਵਾਂ ਨਹੀਂ ਸੀ।
ਖਾਸ ਤੌਰ 'ਤੇ ਵੈੱਬ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਰਗੇ ਸਾਫਟਵੇਅਰ ਲਈ, ਜਿਸ ਵਿੱਚ ਉਪਯੋਗਤਾ ਅਤੇ ਵਿਜ਼ੂਅਲ ਡਿਜ਼ਾਈਨ ਵਰਗੇ ਵਿਅਕਤੀਗਤ ਪਹਿਲੂ ਸ਼ਾਮਲ ਹੁੰਦੇ ਹਨ ਜਿਨ੍ਹਾਂ ਦਾ ਕੋਈ ਵੀ ਆਪਸੀ ਤਾਲਮੇਲ ਰਾਹੀਂ ਅਨੁਭਵ ਕਰ ਸਕਦਾ ਹੈ, ਮੈਂ ਮਹਿਸੂਸ ਕੀਤਾ ਕਿ ਅਸਲ ਵਿੱਚ ਸਾਫਟਵੇਅਰ ਨੂੰ ਚਲਾਉਣਾ ਅਤੇ ਉਸ ਨਾਲ ਗੱਲਬਾਤ ਕਰਨਾ ਵਿਸਤ੍ਰਿਤ ਟੈਸਟਿੰਗ ਨਾਲੋਂ ਵਧੇਰੇ ਮਹੱਤਵਪੂਰਨ ਹੈ।
ਇਹ ਇਸ ਲਈ ਹੈ ਕਿਉਂਕਿ ਜੇਕਰ ਆਪਸੀ ਤਾਲਮੇਲ 'ਤੇ UI/UX ਪੱਧਰ 'ਤੇ ਮਹੱਤਵਪੂਰਨ ਅਸੰਤੁਸ਼ਟੀ ਹੈ, ਤਾਂ ਸੰਭਾਵਨਾ ਹੈ ਕਿ ਫਰੇਮਵਰਕ, ਬੁਨਿਆਦੀ ਆਰਕੀਟੈਕਚਰ, ਡੇਟਾ ਮਾਡਲ, ਜਾਂ ਵਰਤੋਂ ਦੇ ਮਾਮਲਿਆਂ ਵਰਗੇ ਬੁਨਿਆਦੀ ਹਿੱਸਿਆਂ ਨੂੰ ਬਦਲਣ ਦੀ ਲੋੜ ਪੈ ਸਕਦੀ ਹੈ।
ਮੇਰੇ ਮੌਜੂਦਾ ਨਿੱਜੀ ਸਾਫਟਵੇਅਰ ਵਿਕਾਸ ਪ੍ਰੋਜੈਕਟ ਵਿੱਚ, ਮੈਂ ਕਾਰਜਸ਼ੀਲ ਲਚਕਤਾ ਅਤੇ ਕਾਰਗੁਜ਼ਾਰੀ ਨਾਲ ਵੀ ਮੁੱਦੇ ਦੇਖੇ, ਜਿਸ ਕਾਰਨ ਮੈਨੂੰ ਦੋ ਫਰੇਮਵਰਕਾਂ ਨੂੰ ਵੱਖ-ਵੱਖ ਫਰੇਮਵਰਕਾਂ ਨਾਲ ਬਦਲਣਾ ਪਿਆ।
ਇੱਕ ਹਿੱਸਾ ਅਜਿਹਾ ਵੀ ਸੀ ਜਿਸ ਵਿੱਚ ਮੈਮਰੀ ਦੀ ਵਰਤੋਂ ਕੁਸ਼ਲ ਨਹੀਂ ਸੀ, ਜਿਸ ਲਈ ਪ੍ਰੋਸੈਸਿੰਗ ਵਿੱਚ ਪੂਰੀ ਤਰ੍ਹਾਂ ਸੁਧਾਰ ਦੀ ਲੋੜ ਸੀ।
ਇਹ ਰੀਫੈਕਟਰਿੰਗ ਦੇ ਇਹਨਾਂ ਪੜਾਵਾਂ 'ਤੇ ਹੈ ਕਿ ਟੈਸਟਿੰਗ ਪਹਿਲਾਂ ਇੱਕ ਚੇਤੰਨ ਵਿਚਾਰ ਬਣ ਜਾਂਦੀ ਹੈ।
ਜੇਕਰ ਇਹ ਵਿਕਾਸ ਦੇ ਸ਼ੁਰੂਆਤੀ ਪੜਾਵਾਂ ਦੌਰਾਨ ਹੈ, ਜਾਂ ਜੇਕਰ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਅਤੇ ਨਿਰਧਾਰਨ ਕਿਸੇ ਵੀ ਤਰ੍ਹਾਂ ਮਹੱਤਵਪੂਰਨ ਰੂਪ ਵਿੱਚ ਬਦਲਣ ਜਾ ਰਹੇ ਹਨ, ਤਾਂ ਟੈਸਟਾਂ ਦੀ ਲੋੜ ਨਹੀਂ ਹੋ ਸਕਦੀ।
ਹਾਲਾਂਕਿ, ਜੇਕਰ ਵਿਕਾਸ ਪਹਿਲਾਂ ਹੀ ਚੰਗੀ ਤਰ੍ਹਾਂ ਚੱਲ ਰਿਹਾ ਹੈ ਅਤੇ ਜਾਂਚ ਕਰਨ ਲਈ ਬਹੁਤ ਸਾਰੀਆਂ ਚੀਜ਼ਾਂ ਹਨ, ਤਾਂ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਰੀਫੈਕਟਰਿੰਗ ਦੌਰਾਨ ਟੈਸਟਾਂ ਦੀ ਲੋੜ ਪਵੇਗੀ ਕਿ ਕੋਈ ਕਾਰਜਸ਼ੀਲ ਕਮੀਆਂ ਜਾਂ ਖਾਮੀਆਂ ਨਹੀਂ ਹਨ।
ਇਸ ਲਈ, ਜਦੋਂ ਵਿਕਾਸ ਇੱਕ ਖਾਸ ਹੱਦ ਤੱਕ ਅੱਗੇ ਵਧ ਚੁੱਕਾ ਹੋਵੇ ਅਤੇ ਰੀਫੈਕਟਰਿੰਗ ਜ਼ਰੂਰੀ ਹੋ ਜਾਵੇ, ਉਸ ਸਮੇਂ ਟੈਸਟ ਪ੍ਰੋਗਰਾਮ ਬਣਾਉਣ ਦਾ ਵਿਚਾਰ ਮਾੜਾ ਨਹੀਂ ਹੈ।
ਇਸ ਬਿੰਦੂ 'ਤੇ, ਮੁੱਖ ਗੱਲ ਇਹ ਹੈ ਕਿ ਸਾਰੇ ਕੋਡ ਲਈ ਟੈਸਟ ਨਹੀਂ ਬਣਾਉਣੇ, ਬਲਕਿ ਉਹਨਾਂ ਪਰਿਪੱਕ ਹਿੱਸਿਆਂ 'ਤੇ ਟੈਸਟਾਂ 'ਤੇ ਧਿਆਨ ਕੇਂਦਰਿਤ ਕਰਨਾ ਹੈ ਜੋ ਭਵਿੱਖ ਵਿੱਚ ਬਹੁਤ ਜ਼ਿਆਦਾ ਬਦਲਣ ਦੀ ਸੰਭਾਵਨਾ ਨਹੀਂ ਹੈ, ਜਦੋਂ ਕਿ ਅਜੇ ਵੀ ਗਤੀਸ਼ੀਲ ਹਿੱਸਿਆਂ ਨੂੰ ਆਟੋਮੇਟਿਡ ਟੈਸਟਾਂ ਤੋਂ ਬਿਨਾਂ ਛੱਡ ਦੇਣਾ ਹੈ।
ਇਸਨੂੰ ਰੀਫੈਕਟਰਿੰਗ-ਸੰਚਾਲਿਤ ਟੈਸਟ ਕਿਹਾ ਜਾ ਸਕਦਾ ਹੈ।
ਸਿੱਟਾ
ਜਨਰੇਟਿਵ AI ਸਾਫਟਵੇਅਰ ਵਿਕਾਸ ਨੂੰ ਨਾਟਕੀ ਢੰਗ ਨਾਲ ਬਦਲ ਰਿਹਾ ਹੈ।
ਪਿਛਲੇ ਲੇਖਾਂ ਵਿੱਚ, ਮੈਂ ਇੱਕ ਸਰਵ-ਦਿਸ਼ਾਈ ਇੰਜੀਨੀਅਰ ਬਣਨ ਦੇ ਮਹੱਤਵ ਬਾਰੇ ਲਿਖਿਆ ਸੀ, ਜੋ ਰਵਾਇਤੀ ਫੁੱਲ-ਸਟੈਕ ਇੰਜੀਨੀਅਰ ਦੀ ਭੂਮਿਕਾ ਤੋਂ ਪਰੇ ਜਾ ਕੇ ਵੱਖ-ਵੱਖ ਡੋਮੇਨਾਂ, ਬੁਨਿਆਦੀ ਢਾਂਚੇ ਅਤੇ ਕਾਰਜਕਾਰੀ ਵਾਤਾਵਰਨ ਨੂੰ ਜੋੜਨ ਵਾਲੇ ਸਰਵ-ਦਿਸ਼ਾਈ ਪ੍ਰਣਾਲੀਆਂ ਨੂੰ ਵਿਕਸਤ ਕਰ ਸਕਦਾ ਹੈ।
ਮੈਂ ਇੱਕ ਲੇਖ ਵੀ ਲਿਖਿਆ ਸੀ ਜਿਸ ਵਿੱਚ ਸੁਝਾਅ ਦਿੱਤਾ ਗਿਆ ਸੀ ਕਿ ਅਸੀਂ ਤਜਰਬਾ ਅਤੇ ਵਿਵਹਾਰ-ਸੰਚਾਲਿਤ ਵਿਕਾਸ ਦੇ ਯੁੱਗ ਵਿੱਚ ਦਾਖਲ ਹੋ ਰਹੇ ਹਾਂ, ਜੋ ਲਾਗੂਕਰਨ ਦੇ ਨਾਲ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਇਕਸਾਰ ਕਰਨ ਦੇ ਰਵਾਇਤੀ ਸਾਫਟਵੇਅਰ ਵਿਕਾਸ ਪਹੁੰਚ ਦੀ ਬਜਾਏ, ਸਾਫਟਵੇਅਰ ਵਿਵਹਾਰ ਦੁਆਰਾ ਉਪਭੋਗਤਾ ਅਨੁਭਵ ਨੂੰ ਵਧਾਉਣ 'ਤੇ ਕੇਂਦਰਿਤ ਹੈ।
ਵਿਕਾਸ-ਸੰਚਾਲਿਤ ਵਿਕਾਸ ਅਤੇ ਰੀਫੈਕਟਰਿੰਗ-ਸੰਚਾਲਿਤ ਟੈਸਟ ਬਿਲਕੁਲ ਉਹ ਪਹੁੰਚ ਹਨ ਜੋ ਸਾਨੂੰ ਸਾਫਟਵੇਅਰ ਵਿਕਾਸ ਵਿੱਚ ਇਹਨਾਂ ਨਵੇਂ ਦੂਰੀਆਂ ਵੱਲ ਲੈ ਜਾਣਗੀਆਂ।