Chrome की मदद से अपने संगठन में टेस्टिंग की सुविधा लागू करना

Demián Renzulli
Demián Renzulli

मान लें कि आपकी कंपनी का सबसे ज़रूरी सॉफ़्टवेयर अचानक काम करना बंद कर देता है, तो क्या होगा? ऐसा हो सकता है कि ऑर्डर खो जाएं, समयसीमाएं पूरी न हो पाएं, लेकिन ग्राहक शिकायत ज़रूर करेंगे.

इस बुरे सपने से बचा जा सकता है. इसके लिए, लगातार और पूरी तरह से टेस्टिंग की प्रोसेस लागू करनी होगी. इससे समस्याओं का पता पहले ही चल जाएगा और उन्हें ठीक किया जा सकेगा. हालांकि, इस तरह की प्रोसेस को अपने संगठन में लागू करना जितना आसान लगता है उतना होता नहीं है.

इस लेख में, आपकी कंपनी में टेस्टिंग शुरू करने के बारे में ज़रूरी जानकारी दी गई है. साथ ही, इसमें बताया गया है कि टेस्टिंग से आपको लंबे समय तक कैसे फ़ायदा मिल सकता है.

प्रॉडक्ट टीमों के लिए टेस्टिंग के सबसे सही तरीके

इस लेख के पहले हिस्से में, आपके वर्कफ़्लो में टेस्टिंग लागू करने की प्रोसेस के बारे में बताया गया है.

अपनी टीम में टेस्टिंग कल्चर लागू करना

अपनी टीम में टेस्टिंग को सही तरीके से लागू करने के लिए, यह ज़रूरी है कि सभी लोग एक जैसा माइंडसेट रखें. साथ ही, क्वालिटी को बोझ के तौर पर नहीं, बल्कि निवेश के तौर पर देखें. यह एक ऐसी प्रोसेस है जिसमें समय लगता है और लगातार काम करना पड़ता है.

इस तरह की संस्कृति को बढ़ावा देने के लिए, नियमित रूप से मीटिंग की जा सकती हैं. इनमें गड़बड़ियों, उनके असर, उनके सोर्स, और उन्हें ठीक करने के लिए किए गए प्रयासों के बारे में चर्चा की जा सकती है. इससे यह जागरूकता बढ़ती है कि इस तरह की गड़बड़ियों को शुरुआत में ही ठीक करना क्यों ज़रूरी है.

टीम में एक ऐसा व्यक्ति होना चाहिए जो इस काम को देखे और इसे आगे बढ़ाए. इससे सफलता मिलने की संभावना बढ़ सकती है. वह व्यक्ति जो टीम या पूरे संगठन के लिए दिशा-निर्देश तय करता है, सबसे सही तरीके इकट्ठा करता है, उन्हें शेयर करता है, और सभी लेवल पर इस काम को बढ़ावा देता है.

आपके प्रॉडक्ट के लिए, सहायता देने वाले लोगों की भूमिका को बदलना भी एक उपयोगी तरीका हो सकता है. अपने ग्राहकों से सीधे तौर पर और बिना किसी बदलाव के अहम जानकारी पाना. साथ ही, आपके प्रॉडक्ट से जुड़ी उनकी रोज़मर्रा की समस्याओं के बारे में जानना, प्रॉडक्ट मैनेजर, डिज़ाइनर, और डेवलपर के लिए फ़ायदेमंद हो सकता है.

इसका लक्ष्य यह है कि आपकी टीम के हर सदस्य को यह पता हो कि क्वालिटी एक सुविधा है. यह उतनी ही अहमियत रखती है जितनी आपके प्रॉडक्ट के लिए बनाई गई कोई अन्य सुविधा. जब सभी लोगों ने इस सोच को अपना लिया, तो यह समझना आसान हो गया कि टेस्ट भी एक सुविधा है. क्योंकि टेस्ट से ही यह पक्का किया जाता है कि शिप किए गए प्रॉडक्ट की क्वालिटी अच्छी है.

टेस्टिंग की प्रोसेस के बारे में सिलसिलेवार जानकारी

जब प्रॉडक्ट डेवलपमेंट में शामिल अलग-अलग टीमों के बीच तालमेल बन जाए, तब टेस्ट के इस्तेमाल और उनके बारे में ज़्यादा जानकारी दी जा सकती है.

टेस्ट को "डेफ़िनिशन ऑफ़ डन" का हिस्सा बनाना

टेस्ट को सुविधा की ज़रूरी शर्त के तौर पर जोड़ने का मतलब है कि कोई सुविधा तब तक शिप नहीं की जा सकती, जब तक उसकी ठीक से और अपने-आप जांच न हो जाए

नियमित तौर पर टेस्ट करना

लागू होने के बाद, ऑटोमेटेड टेस्ट, डेवलपमेंट प्रोसेस के हर चरण में आपकी सुरक्षा कर सकते हैं. इनके लिए किसी मानवीय हस्तक्षेप की ज़रूरत नहीं होती. इन्हें डेवलपमेंट पाइपलाइन के हर अहम चरण में चलाया जा सकता है. उदाहरण के लिए:

  • हर कमिट पर.
  • हर पुल अनुरोध पर.
  • हर रिलीज़ या एनवायरमेंट में बदलाव के बाद.

अगर प्रोडक्शन एनवायरमेंट में तीसरे पक्ष की सेवाओं का इस्तेमाल किया जा रहा है, तो प्रोडक्शन एनवायरमेंट में टेस्ट चलाएं. इससे यह पक्का किया जा सकेगा कि तीसरे पक्ष के एपीआई, उम्मीद के मुताबिक काम कर रहे हैं.

मेट्रिक तय करना और उन्हें इकट्ठा करना

मेट्रिक का सेट तय करना ज़रूरी है, ताकि यह मेज़र किया जा सके कि आपके टेस्ट कितने असरदार हैं और टेस्टिंग वर्कफ़्लो का आपके कारोबार पर क्या असर पड़ा है. यहां कुछ ऐसी मेट्रिक के उदाहरण दिए गए हैं जिनका इस्तेमाल किया जा सकता है:

  • हर महीने रिलीज़ होने वाले वर्शन: हर महीने रिलीज़ होने वाले वर्शन की संख्या ज़्यादा होने से, डेवलपमेंट प्रोसेस के ज़्यादा तेज़ी से होने का पता चलता है. अपने-आप होने वाली टेस्टिंग यहां अहम भूमिका निभाती है. इससे यह पक्का किया जा सकता है कि रिलीज़ को भरोसे के साथ आगे बढ़ाया जा सके.
  • गड़बड़ी की रिपोर्ट: गड़बड़ी की रिपोर्ट में कमी आना एक अच्छा संकेत हो सकता है. इससे पता चलता है कि आपकी टेस्टिंग और डेवलपमेंट प्रोसेस असरदार हैं.
  • टेस्ट कवरेज: यह कभी भी सटीक मेट्रिक नहीं होती. हालांकि, कवरेज से यह पता चल सकता है कि आपने ज़रूरी इस्तेमाल के मामलों की कितनी गहराई से जांच की है.

ध्यान दें कि इन मेट्रिक पर अन्य फ़ैक्टर का भी असर पड़ता है. इसलिए, हो सकता है कि ये मेट्रिक सटीक न हों. उदाहरण के लिए, छुट्टियों के सीज़न में आपकी रिलीज़ की संख्या कम हो सकती है, जबकि बग रिपोर्ट की संख्या बढ़ सकती है. इसलिए, सिर्फ़ कुछ पर भरोसा न करें. साथ ही, यह पक्का करें कि आपकी टीम के पास उपलब्ध अन्य डेटा के साथ उन्हें क्रॉसमैप किया गया हो.

अपनी टीम के साथ मिलकर इन चरणों को पूरा करने से, आपके प्रॉडक्ट की परफ़ॉर्मेंस पर लंबे समय तक अच्छा असर पड़ेगा. हालांकि, अब भी आपके पास कई विकल्प हैं!

सिस्टम एडमिन के लिए टेस्टिंग के सबसे सही तरीके

प्रॉडक्ट टीमें अकेले काम नहीं कर सकतीं. ये सिस्टम एडमिन के बनाए गए हार्डवेयर, टूल, और इन्फ़्रास्ट्रक्चर पर निर्भर होते हैं. आम तौर पर, सिस्टम एडमिन सीधे तौर पर प्रॉडक्ट डेवलपमेंट में योगदान नहीं देते हैं. हालांकि, वे डेवलपमेंट वर्कफ़्लो को बेहतर बनाने में मदद कर सकते हैं. उदाहरण के लिए, कंपनी में उपयोगकर्ताओं के कुछ ग्रुप के लिए ब्राउज़र के वर्शन को मैनेज करके.

लेख के इस दूसरे हिस्से में, Chrome के चैनलों और एंटरप्राइज़ नीतियों का इस्तेमाल करके, इसके काम करने के तरीके के बारे में बताया गया है.

Chrome के रिलीज़ चैनल

Chrome डिफ़ॉल्ट रूप से अपने-आप अपडेट होता है. इससे यह पक्का होता है कि हर उपयोगकर्ता, Chrome के सबसे नए, सबसे स्थिर, और सुरक्षित वर्शन का इस्तेमाल कर रहा हो. इसमें हर नई सुविधा भी शामिल होती है. यह Chrome का वह वर्शन होता है जो स्टेबल चैनल पर रिलीज़ किया जाता है.

वेब पर काम करने वाला प्रॉडक्ट बनाने वाली कंपनी के तौर पर, आपको स्टेबल चैनल से पहले ब्राउज़र का इस्तेमाल करना पड़ सकता है. इससे आपकी प्रॉडक्ट टीमों को, वेब प्लैटफ़ॉर्म में हुए बदलावों के हिसाब से अपने प्रॉडक्ट को अडजस्ट करने का समय मिल पाएगा.

इस इस्तेमाल के उदाहरण के लिए, Chrome कुल चार रिलीज़ चैनल उपलब्ध कराता है. ये अलग-अलग उपयोगकर्ता ग्रुप के लिए होते हैं.

Chrome के लिए, अलग-अलग रिलीज़ चैनल उपलब्ध हैं. इनका इस्तेमाल करके, ब्राउज़र में होने वाले बदलावों के बारे में पहले से अनुमान लगाया जा सकता है. साथ ही, नई सुविधाओं के आम तौर पर उपलब्ध होने से पहले उन्हें आज़माया जा सकता है:

  • स्टेबल चैनल: ज़्यादातर उपयोगकर्ता इस चैनल पर होते हैं. जब कोई नई Chrome रिलीज़ होती है, तो स्टेबल चैनल अपने-आप अपडेट हो जाता है. ऐसा हर महीने होता है.
  • बीटा चैनल: यह वर्शन चार से छह हफ़्तों में स्टेबल हो जाएगा. इससे आपको आने वाले स्टेबल वर्शन की झलक देखने और उसे आज़माने का मौका मिलेगा. साथ ही, आपको इसके लिए तैयारी करने का समय भी मिलेगा.
  • डेव चैनल: इस चैनल को हर हफ़्ते Chrome का नया वर्शन मिलता है. इसमें वे सभी नए फ़िक्स शामिल होते हैं जो आखिर में बीटा वर्शन में शामिल किए जाएंगे. चैनल के नाम से पता चलता है कि यह डेवलपमेंट के चरण में है. इसलिए, इसमें अचानक गड़बड़ी हो सकती है. हालांकि, इसमें नई सुविधाएं भी शामिल होती हैं. कभी-कभी ये सुविधाएं, स्टेबल वर्शन में शामिल होने से पहले ही इसमें उपलब्ध हो जाती हैं. इसलिए, देव चैनल को प्रोटोटाइपिंग और आधुनिक डेवलपमेंट के लिए एक बेहतरीन टूल माना जाता है.
  • कैनरी चैनल: यह सबसे एक्सपेरिमेंटल चैनल है. इसमें हर नई सुविधा शामिल होती है, लेकिन इसकी ज़्यादा जांच नहीं की जाती है. कम से कम रोज़ाना रिलीज़ किया जाता है.

अगर आपको Chrome के चैनलों के बारे में ज़्यादा जानना है, तो इससे जुड़ा Chrome Concepts का एपिसोड देखें.

इस इमेज में, Chrome के स्टेबल, बीटा, और डेव वर्शन के प्रॉडक्ट आइकॉन और उनके ब्यौरे दिए गए हैं.

किसी संगठन में चैनलों का इस्तेमाल करना

सॉफ़्टवेयर डेवलपमेंट के लिए, कोई एक तरीका सभी संगठनों के लिए सही नहीं होता. इसलिए, अलग-अलग संगठनों में प्रॉडक्ट टीमों का स्ट्रक्चर अलग-अलग होता है. उदाहरण के लिए, हम मान लेते हैं कि एक टीम में ये भूमिकाएं हैं: प्रॉडक्ट मैनेजमेंट, यूएक्स और यूआई, इंजीनियरिंग, ऑपरेशंस, और सहायता.

इस तरह के संगठन के लिए, चैनल को इस तरह से बांटा जा सकता है:

  • प्रॉडक्ट मैनेजमेंट: पीएम आम तौर पर स्टेबल चैनल पर होते हैं, ताकि वे ज़्यादातर उपयोगकर्ताओं की तरह ही एक ही वर्शन का इस्तेमाल कर सकें. कभी-कभी, वे बीटा या देव चैनल का इस्तेमाल कर सकते हैं. ऐसा तब होता है, जब वे किसी ऐसी सुविधा पर काम कर रहे हों जिसके लिए ऐसे एपीआई की ज़रूरत हो जिसे अभी लॉन्च नहीं किया गया है.
  • इंजीनियरिंग और यूज़र एक्सपीरियंस (यूएक्स): इन टीमों के कुछ सदस्य डेव चैनल पर हो सकते हैं. इससे उन्हें व्यू ट्रांज़िशन जैसी नई सुविधाओं का ऐक्सेस मिल जाता है. ये सुविधाएं, स्टेबल वर्शन में उपलब्ध होने से पहले ही इन सदस्यों के लिए उपलब्ध हो जाती हैं.
  • ऑपरेशंस: यह बीटा वर्शन में हो सकता है, ताकि उपयोगकर्ताओं पर असर डालने वाली समस्याओं का अनुमान लगाया जा सके.
  • सहायता: स्टेबल चैनल पर बने रहें, ताकि यह पक्का किया जा सके कि वे उसी ब्राउज़र से प्रॉडक्ट के साथ इंटरैक्ट कर रहे हैं जिसका इस्तेमाल ज़्यादातर ग्राहक करते हैं.

उदाहरण के तौर पर दी गई टीम में चैनलों का फ़्लो दिखाने वाला डायग्राम

चैनलों को मैनेज करने के लिए, एंटरप्राइज़ नीतियों का इस्तेमाल करना

Chrome, सिर्फ़ दिशा-निर्देश देने और यह तय करने का फ़ैसला नहीं छोड़ता कि किस चैनल का इस्तेमाल करना है. इसके बजाय, यह एंटरप्राइज़ और एडमिन टूल भी उपलब्ध कराता है. इनकी मदद से, यह सक्रिय रूप से मैनेज किया जा सकता है कि हर उपयोगकर्ता किस चैनल का इस्तेमाल करे. यह इसलिए फ़ायदेमंद है, क्योंकि इससे टेस्टिंग के लिए उपलब्ध उपयोगकर्ताओं की संख्या तुरंत बढ़ जाती है. इससे, कुछ उपयोगकर्ताओं के बजाय, उपयोगकर्ताओं के एक तय किए गए सेट के लिए टेस्टिंग की जा सकती है. इससे, गड़बड़ी का पता जल्द से जल्द लगाया जा सकता है और उसे ट्रैक किया जा सकता है.

अगर आपको उस लेवल का कंट्रोल इस्तेमाल करना है, तो हमारा सुझाव है कि आप इस कॉन्फ़िगरेशन का इस्तेमाल करें:

  • कर्मचारी (ऐप्लिकेशन के उपयोगकर्ता): काम में रुकावट आने के जोखिम को कम करने के लिए, ज़्यादातर कर्मचारियों को स्टेबल चैनल का इस्तेमाल करना चाहिए. Chrome की टेस्ट टीम इसकी पूरी तरह से जांच कर चुकी है. इसके अलावा, कुछ प्रतिशत उपयोगकर्ता (5 से 10%) बीटा चैनल पर हो सकते हैं. इस चैनल पर, स्टेबल वर्शन की झलक चार से छह हफ़्ते पहले दिखती है. इससे एडमिन को रिलीज़ से जुड़ी संभावित समस्याओं का पता लगाने में मदद मिलती है. साथ ही, रिलीज़ को सभी के लिए रोल आउट करने से पहले, समस्याओं को ठीक करने के लिए ज़्यादा समय मिलता है.
  • आईटी विभाग: आईटी विभाग के सदस्य, जिनमें सिस्टम एडमिन भी शामिल हैं, बीटा या डेव चैनल पर स्विच कर सकते हैं. इससे उन्हें 4 से 6 या 9 से 12 हफ़्तों तक, Chrome के स्टेबल वर्शन में आने वाली सुविधाओं की झलक मिल सकती है.

अन्य कर्मचारियों और आईटी विभाग के बीच चैनलों का बंटवारा दिखाने वाला डायग्राम

लंबे समय तक सहायता देने वाले रिलीज़ चैनल

ऐसा हो सकता है कि प्रॉडक्ट डेवलपमेंट, प्लान के मुताबिक तेज़ी से न हो पाए. साथ ही, Chrome को हर महीने रिलीज़ करने की कैडेंस बहुत ज़्यादा हो सकती है. इस तरह के इस्तेमाल के लिए Chrome, एक्सटेंडेड स्टेबल चैनल उपलब्ध कराता है. इससे आपको सुविधाओं के अपडेट कम मिलते हैं. हालांकि, सुरक्षा से जुड़ी समस्याओं को ठीक किए जाने के अपडेट मिलते रहते हैं. इस चैनल को हर आठ हफ़्ते में अपडेट किया जाता है.

यहां दिए गए डायग्राम में दिखाया गया है कि अलग-अलग माइलस्टोन, Chrome के अलग-अलग रिलीज़ चैनल के ज़रिए कैसे आगे बढ़ते हैं:

स्टेबल और एक्सटेंडेड स्टेबल वर्शन के ओवरलैप को दिखाने वाला फ़्लो डायग्राम

  • स्टेबल और एक्सटेंडेड स्टेबल, दोनों ही पहले चार हफ़्तों तक एक ही वर्शन शिप करते हैं. इसके बाद, दोनों अलग-अलग वर्शन शिप करते हैं.
  • कोई एक्सटेंडेड बीटा चैनल नहीं है. इसके बजाय, स्टेबल और एक्सटेंडेड स्टेबल, दोनों को स्थिर करने के लिए, चार हफ़्ते के स्टैंडर्ड बीटा साइकल का इस्तेमाल किया जाता है. जिन कंपनियों ने आठ हफ़्ते तक स्टेबल वर्शन को इस्तेमाल करने का विकल्प चुना है उन्हें बीटा चैनल का इस्तेमाल जारी रखना चाहिए. इससे वे उन समस्याओं की पहचान कर पाएंगी जो उनके एनवायरमेंट पर असर डाल सकती हैं.

एक्सटेंडेड स्टेबल चैनल के उपयोगकर्ताओं के लिए, डेवलपर और बीटा चैनल की अहमियत

स्टेबल चैनल को दो हफ़्तों के रिलीज़ साइकल में अपग्रेड किया जा रहा है. साथ ही, आपकी कंपनी टेस्टिंग के लिए ज़्यादा समय पाने के लिए, आठ हफ़्तों के एक्सटेंडेड स्टेबल साइकल को अपना रही है. ऐसे में, डेव और बीटा चैनलों का इस्तेमाल करना अब भी ज़रूरी है. "एक्सटेंडेड डेव या बीटा" चैनल अलग से नहीं होते हैं. स्टेबल और एक्सटेंडेड स्टेबल रिलीज़, दोनों को स्टेबल करने के लिए स्टैंडर्ड डेव और बीटा चैनलों का इस्तेमाल किया जाता है.

डेवलपमेंट और बीटा चैनल का इस्तेमाल जारी रखने से, एंटरप्राइज़ को उन समस्याओं का पहले से पता लगाने में मदद मिलती है जो उनके एनवायरमेंट पर असर डाल सकती हैं. डेव और बीटा चैनल पर, आने वाले स्टेबल वर्शन की चार हफ़्तों तक झलक मिलती है. एक्सटेंडेड स्टेबल वर्शन इस्तेमाल करने वाले लोगों के लिए, यह प्रीव्यू विंडो बहुत ज़रूरी है. इससे उन्हें आठ हफ़्ते में होने वाले सुविधा अपडेट से पहले ही, संभावित समस्याओं का पता लगाने और उन्हें ठीक करने में मदद मिलती है.

डेवलपर और बीटा चैनल, मुख्य रूप से अर्ली वार्निंग सिस्टम के तौर पर काम करते हैं. इससे आपको आठ हफ़्तों तक स्टेबल एनवायरमेंट में होने वाले किसी भी बदलाव के बारे में पहले से पता चल जाता है. साथ ही, यह पक्का किया जा सकता है कि आपके एंटरप्राइज़ ऐप्लिकेशन काम करते रहें. सिस्टम एडमिन, उपयोगकर्ताओं के छोटे और तय किए गए ग्रुप (उदाहरण के लिए, ऐप्लिकेशन इस्तेमाल करने वालों में से 5 से 10%) को देव और बीटा चैनल असाइन कर सकते हैं, ताकि इस फ़ायदे को ज़्यादा से ज़्यादा हासिल किया जा सके.

नतीजा

सॉफ़्टवेयर डेवलपमेंट कंपनियों के लिए टेस्टिंग एक अहम हिस्सा है. इससे वे अपने प्रॉडक्ट की क्वालिटी को बेहतर बना पाती हैं. साथ ही, यह सिस्टम एडमिन के लिए भी एक ज़रूरी चरण है. इससे वे किसी संगठन के कर्मचारियों को बेहतर क्वालिटी वाले सॉफ़्टवेयर का ऐक्सेस दे पाते हैं और कारोबार की प्रोसेस में रुकावट आने से बचा पाते हैं.

अपने संगठन में टेस्टिंग वर्कफ़्लो को लागू करने के लिए, यह ज़रूरी है कि सभी लोग इस बात पर सहमत हों कि क्वालिटी और इसलिए टेस्टिंग एक सुविधा है.

इस लेख में, हमने टेस्टिंग के सबसे सही तरीकों को अपने संगठन में इंटिग्रेट करने के अलग-अलग तरीकों की समीक्षा की है. मौजूदा टेस्टिंग टूल के बारे में ज़्यादा जानने के लिए, हमारा लेख Chrome के टूल की मदद से, बिना किसी रुकावट के ऑटोमेटेड टेस्टिंग करना पढ़ें.

टेस्टिंग से जुड़ी पूरी जानकारी पाने के लिए, हमारे हाल ही के टेस्टिंग के बारे में जानें कोर्स और web.dev पर टेस्ट ऑटोमेशन के सबसे सही तरीके भी देखें.