GTAC 2016: प्रज़ेंटेशन

मीटिंग की शुरुआती बातें

मैट लोरी (Google)

बिज़नेस और इंजीनियरिंग प्रोडक्टिविटी का विकास

मनासी जोशी (Google)

लिंक: वीडियो, Slides

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

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

Tanya Jenkins (कैंटीवर सलाहकार)

लिंक: वीडियो, Slides

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

आपके Wallet में क्या है?

हिमा मंडाली (कैपिटल वन)

लिंक: वीडियो, Slides

Capital One, अमेरिका की सबसे बड़ी क्रेडिट कार्ड कंपनी है. इसके सात करोड़ से भी ज़्यादा खाते हैं. हम कैपिटल लेटर में कई शानदार प्रॉडक्ट बनाते हैं, जो हमारे ग्राहकों को बेहतरीन डिजिटल अनुभव देते हैं. मोबाइल डिवाइस हमारे ग्राहकों का पसंदीदा चैनल बन गया है. बातचीत में इस बात पर फ़ोकस किया जाएगा कि हमने मोबाइल वेब ऐप्लिकेशन के लिए, टेस्ट ऑटोमेशन की समस्या को कैसे हल किया. साथ ही, हमने यह भी सोचा कि तेज़ी से सॉफ़्टवेयर डिलीवरी पाइपलाइन में क्या किया जाए. हम ओपन सोर्स टूल का भी इस्तेमाल करेंगे जिन्हें हमने इस्तेमाल किया है. साथ ही, हम ओपन सोर्स टूल की जानकारी भी देंगे, जिसे हमने अपनी समस्याएं हल करने के लिए बनाया था.

यह अनुमान लगाने के लिए कि कौनसे टेस्ट चलाए जाएं, टेस्ट रन ऑटोमेशन के आंकड़े इस्तेमाल करना

Boris Prikhodky (Unity टेक्नोलॉजी)

लिंक: वीडियो, Slides

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

Windows और Windows फ़ोन के लिए, सेलेनियम पर आधारित टेस्ट ऑटोमेशन

निकोलई अबालोव (2gis)

लिंक: वीडियो, Slides

वेब ऐप्लिकेशन के ऑटोमेशन के लिए, सेलेनियम है. iOS और Android पर, मोबाइल ऐप्लिकेशन के लिए Appium है. हालांकि, Windows डेस्कटॉप और Windows फ़ोन/मोबाइल का इस्तेमाल करने के लिए, हमें सेलेनियम पर आधारित अपने समाधान के बारे में पता करना था. इसलिए, Winium बनाया गया. Winium, Windows डेस्कटॉप और Windows Phone/मोबाइल ऐप्लिकेशन की जांच के लिए, अपने-आप काम करने वाला ओपन सोर्स सलूशन है. Winium, सेलेनियम से बना है, इसलिए अगर आपको पहले से ही Seelium या Appium के बारे में पता है, तो इसे अपने ऑटोमेशन की ज़रूरतों के लिए इस्तेमाल करना आसान होगा. हालांकि, इसे अपने मौजूदा सेलेनियम के इन्फ़्रास्ट्रक्चर के साथ इंटिग्रेट किया जा सकता है. बातचीत के दौरान, मैं ऐसे प्रोजेक्ट के बारे में बताऊंगी जिनमें Winium बनाया गया है.साथ ही, उन प्रोजेक्ट के बारे में भी बताया गया है जिनमें Winium.Wins और मोबाइल गेम शामिल हैं.

अनोखे वीडियो की जांच

ब्रायन वैन (Google)

लिंक: वीडियो, Slides

सभी बग एक जैसे नहीं बनाए जाते. कभी-कभी जिन प्रोग्रामिंग भाषाओं का इस्तेमाल हम करते हैं, उनकी वजह से वे गलती करते हैं. साथ ही, उन्हें ढूंढने से अक्सर, सबसे अच्छे प्रोग्रामर और टेस्टर को भी मुश्किल होती है. इस सर्वे में हिस्सा लेने के लिए, हम अलग-अलग तरह के सवालों के जवाब देंगे. इसकी मदद से, हम इस्तेमाल की जाने वाली अलग-अलग भाषाओं के कुछ ऐसे उदाहरण दिखा सकते हैं जिनका हम रोज़ इस्तेमाल करते हैं. आखिर में, जब हम C, Java, Objective-C, PHP, और सभी की पसंदीदा JavaScript - जैसे भाषाओं में पाए जाने वाले अजीब तरह के उदाहरणों को पेश करते हैं, तो हम आपको चुनौती देंगे.

मोबाइल टेस्ट एनवायरमेंट सेट अप करने के लिए एमएल एल्गोरिदम

राजकुमार भोज (Wipro टेक्नोलॉजी)

लिंक: वीडियो, Slides

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

“क्या तुम मुझे सुन सकती हो?” - ऑडियो की क्वालिटी की जांच चालू रहती है

एलेक्सज़ेंडर ब्रुकमैन और डैन हिस्लोप (सिट्रिक्स)

लिंक: वीडियो, Slides

आईएटीएफ़: नया ऑटोमेटेड क्रॉस-प्लैटफ़ॉर्म और मल्टी-डिवाइस एपीआई टेस्ट फ़्रेमवर्क

यैनबिन ज़्हांग (Intel)

लिंक: वीडियो, Slides

WebRTC टेक्नोलॉजी को आसानी से इस्तेमाल करने और बड़े पैमाने पर नए ऐप्लिकेशन बनाने या बनाने के लिए, Intel ने एंड-टू-एंड WebRTC सलूशन डेवलप किया है. यह, WebRTC के लिए Intel® का सहयोगी सुइट है. फ़िलहाल, Intel पहले से ही दुनिया भर में WebRTC के लिए, Intel® Affiliates Suite के लगातार बढ़ रहे नेटवर्क के लिए काम कर रहा है. कोलैबरेशन में शिक्षा, चिकित्सा, उद्योग के क्लाउड, सोशल मीडिया का ऑनलाइन प्रसारण, वीडियो कॉन्फ़्रेंस, और पहने जाने वाले डिवाइस वगैरह जैसे कई क्षेत्र शामिल हैं. SDK टूल एपीआई के लिए, इन प्लैटफ़ॉर्म पर काम करने वाले प्लैटफ़ॉर्म की संख्या तेज़ी से बढ़ रही है. इनकी वजह से, क्रॉस-प्लैटफ़ॉर्म पर काम करने की सुविधा और इंटिग्रेशन की जांच काफ़ी तेज़ी से हो रही है. अलग-अलग प्लैटफ़ॉर्म पर, उन सभी SDK टूल के बीच इंटरऑपरेबिलिटी को अपने-आप जांचने की सुविधा एक बड़ी समस्या बन जाती है. इस बातचीत में, हम अपने ऑटोमेटेड क्रॉस-प्लैटफ़ॉर्म और मल्टी-डिवाइस एपीआई टेस्ट फ़्रेमवर्क-IATF के बारे में जानकारी देंगे. इसे ऐसे किसी भी क्रॉस-प्लैटफ़ॉर्म और मल्टी-डिवाइस SDK टेस्टिंग के लिए अपनाया जा सकता है जिसके लिए अलग-अलग प्लैटफ़ॉर्म पर संचार की ज़रूरत होती है.

सॉफ़्टवेयर की टेस्टिंग में औपचारिक सिद्धांत का विश्लेषण करना

फ़ेडर स्ट्रोक (Yandex/NRU HSE)

लिंक: वीडियो, Slides

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

लगातार इंटिग्रेशन में फ़्लैकी टेस्ट: Google पर मौजूदा प्रैक्टिस और आने वाले समय के लिए निर्देश

जॉन माइको (Google)

और

अतिफ़ मेमन (मैरीलैंड यूनिवर्सिटी, कॉलेज पार्क)

लिंक: वीडियो, Slides

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

डेवलपर एक्सपीरियंस, एफ़टीडब्ल्यू!

निरंजन तुल्पुले (Google)

लिंक: वीडियो, Slides

डॉकर आधारित जियो डिसपर्स्ड टेस्ट फ़ार्म - Intel Android Program में टेस्ट इन्फ़्रास्ट्रक्चर प्रैक्टिस

जेरी यू (Intel) और Guobing चेन (Intel)

लिंक: वीडियो, Slides

OpenHTF - ओपन सोर्स हार्डवेयर टेस्टिंग फ़्रेमवर्क

जो एथियर (Google) और जॉन हावली (Google)

लिंक: वीडियो, Slides

लूप की कमियों का पता लगाने के लिए, टेस्ट जनरेशन में भेजा गया

मोनिका धोक (भारतीय विज्ञान संस्थान)

लिंक: वीडियो, Slides

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

स्पीड की ज़रूरत है - तीन घंटे से लेकर तीन मिनट तक के ऑटोमेशन की जांच करें

इमैनिल स्लावोव (Komfo Inc)

लिंक: वीडियो, Slides

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

कोड कवरेज, असल दुनिया में टेस्ट सुइट के असरदार होने का अनुमान है

राहुल गोपीनाथ (ऑरेगॉन स्टेट यूनिवर्सिटी)

लिंक: वीडियो, Slides

ClusterRunner: हॉरिज़ॉन्टल स्केलिंग की मदद से, तेज़ी से टेस्ट फ़ीडबैक भेजना

ताएजुन ली (Box Inc) और जोसेफ़ हैरिंगटन (Box Inc)

लिंक: वीडियो, Slides

Box, करीब हर घंटे तीस घंटे की यूनिट और इंटिग्रेशन टेस्ट के लिए काम करता है. ClusterRunner पर हमने ओपन सोर्स टेस्टिंग डिस्ट्रिब्यूशन प्लैटफ़ॉर्म का इस्तेमाल करके, इन्हें 17 मिनट से भी कम समय में चालू कर दिया है. Box में इतने सारे टेस्ट क्यों किए जाते हैं? ClusterRunner कैसे काम करता है? क्या अपने टेस्ट के लिए ClusterRunner सेट अप करना आसान है? (स्पॉइलर: हां.) ClusterRunner पर जांच की तेज़ी से जानकारी दी जाती है. इसके लिए, आपको एक ही होस्ट पर कई टेस्ट करने होंगे और उसे कई होस्ट में डिस्ट्रिब्यूट करना होगा. Cluster Runner की टीम ने इस टेक्नोलॉजी को Box की प्रोडक्टिविटी इंजीनियरिंग टीम ने बनाया है. इसके लिए हम सिर्फ़ 17 मिनट में लीनियर 30 घंटे से ज़्यादा की टेस्टिंग का सुइट चलाते हैं और हम हर दिन कई बार ऐसा करते हैं. ClusterRunner एक ओपन सोर्स और लैंग्वेज एग्नोस्टिक है. इसलिए, अपने प्रोजेक्ट के लिए इसका इस्तेमाल आसानी से किया जा सकता है. हमने ClusterRunner को उन इंजीनियरिंग टीमों के लिए बनाया है जिन्हें जांच पूरी होने में ज़्यादा समय लगता है. इसके अलावा, जिन्हें कोड की जांच करने में ज़्यादा समय लगता है. हमने इसे सबसे नीचे से डिज़ाइन किया है, ताकि इसे आसानी से इस्तेमाल किया जा सके. साथ ही, इसे आपके मौजूदा सीआई सिस्टम के साथ इंटिग्रेट भी किया जा सकता है. Google यह भी पता लगाता है कि जांच को पूरा होने में कितना समय लगता है. साथ ही, आने वाले समय में इससे जुड़े सुझाव/शिकायत/राय भी जल्द से जल्द देने के लिए शेड्यूल किया जाता है. इसके कॉम्पोनेंट एक REST API के ज़रिए सही तरीके से काम करते हैं. इस एपीआई की मदद से इसे ऐक्सेस किया जा सकता है और एक्सटेंसिव भी है.

एक से ज़्यादा मोबाइल डिवाइसों और सेवाओं के साथ इंटिग्रेशन टेस्ट करना

Alexander Dorokhine (Google) और Ang Li (Google)

लिंक: वीडियो, Slides

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

स्केल बनाम वैल्यू: BBC पर टेस्ट ऑटोमेशन

जितेश गोसाई (बीबीसी) और डेविड बकहर्स्ट (बीबीसी)

लिंक: वीडियो, Slides

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

LibFizzer का इस्तेमाल करके C++ लाइब्रेरी में गड़बड़ियां ढूंढें

कॉश्य सेरेब्रीनी (Google)

लिंक: वीडियो, Slides

मैंने सर्वर की क्रैश जांच कैसे की

जॉनथन अब्राहम्स (MongoDB)

लिंक: वीडियो, Slides

जानें कि अलग-अलग सिस्टम क्रैश होने पर, इस समस्या से उबरने के लिए, MongoDB सर्वर को बेहतर बनाने में हमने किस तरह मदद की. जानें कि हम किस तरह किसी भी तरह के ओएस और होस्ट कॉन्फ़िगरेशन के सर्वर को बंद (अपने-आप) कर सकते थे.