एक बहुत बड़े अनुप्रयोग के परीक्षण के लिए तरीके


10

मेरे पास एक PHP ऐप है जो बहुत बड़ा है। आमतौर पर 2-3 डेवलपर्स इस पर पूरे समय काम कर रहे हैं और हम उस बिंदु पर पहुंच रहे हैं जहां हम बदलाव कर रहे हैं और बग (खांसी की विशेषताएं) बना रहे हैं। सॉफ्टवेयर प्रति कहना जटिल नहीं है, बस एक ही मॉडल (आदि के बारे में 35 ~ नियंत्रक) पर बहुत कुछ चल रहा है।

यहां तक ​​कि सावधान रहना इस दृश्य में बदलाव के लिए आसान है (एक तत्व पर एक आईडी को घुमाते हुए) कुछ विशेष स्थिति के तहत होने वाली अजाक्स क्वेरी को हटाने के लिए (एक पैर पर खड़े होने पर लॉग आउट)।

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

हो सकता है कि हमें एक आंशिक समय Q / A व्यक्ति की आवश्यकता हो?

किसी के पास कोई सुझाव / विचार है।


"... तो परीक्षण कर रहा था" एक से मतलब था ?
अजाक्स333221

जवाबों:


25

हां, आपको Q / A स्टाफ की आवश्यकता है। कई कारणों में से कुछ शामिल हैं

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

यह कहा गया है, कुछ भी छत के माध्यम से ड्राइविंग सिस्टम की गुणवत्ता के लिए एक डेवलपर और परीक्षक के बीच उत्पादक सहयोग को धड़कता है। एक डेवलपर अक्सर उन लक्षणों को नोटिस करता है जो परीक्षक के सामने कुछ गलत तरीका है। एक डेवलपर अक्सर एक परीक्षक को सलाह दे सकता है कि किसी समस्या को अधिक कुशलता से कैसे पुन: पेश करें और एक उचित समस्या रिपोर्ट कैसे लिखें, अर्थात इसमें उन विवरणों को शामिल करें जो वास्तव में समस्या का पता लगाने के लिए आवश्यक हैं। लेकिन इन सभी के लिए कम से कम एक परीक्षक की आवश्यकता होती है, जिसके साथ आप काम कर सकते हैं।


3
+1। हम उन समस्याओं का पता लगाने के लिए बहुत प्रशिक्षित हैं जो आम उपयोगकर्ताओं को हो रही हैं
सुपर

3

आपको संभवतः अधिक या बेहतर प्रतिगमन परीक्षण (विशिष्ट रूप से इकाई परीक्षण नहीं) की आवश्यकता है। किस तरह के परीक्षण होने चाहिए, इसके लिए आपको खुद का विश्लेषण करना चाहिए, लेकिन उन्हें उन बगों का पता लगाना चाहिए जिनकी आप बात कर रहे हैं। मेरा सुझाव है कि आप एक परीक्षण योजना बनाना शुरू करें और उन परीक्षणों को प्राथमिकता दें - और जब आप ऐसा करते हैं, तो शुरू में परीक्षण स्वचालन के बारे में बहुत अधिक नहीं सोचते हैं।

बाद में, अपने आप से पूछें कि क्या आप उचित प्रयास से कुछ या अधिकांश परीक्षणों को स्वचालित कर सकते हैं। यदि उत्तर हां है, तो आपको उन्हें प्रोग्राम करना चाहिए। यदि उत्तर "नहीं" है, और आपको लगता है कि "पार्ट टाइम क्यू / ए व्यक्ति" सस्ता है, तो आपको यह करना चाहिए कि आपको क्या चाहिए। ज्यादातर मामलों में, दोनों के लिए एक अच्छा विचार है - मैन्युअल परीक्षण और नए परीक्षणों का आविष्कार करने के लिए एक क्यू / ए व्यक्ति, और बहुत सारे स्वचालित प्रतिगमन परीक्षण भी।


प्रतिगमन परीक्षणों का उल्लेख करने और यह बताने के लिए कि इकाई परीक्षण एकमात्र प्रभावी समाधान नहीं है।
जियोर्जियो

नमस्ते, क्या आप रिग्रेशन परीक्षणों पर थोड़ा और विस्तार कर सकते हैं। मेरा मानना ​​है कि ये पुराने कीड़े को फिर से होने से रोकने के लिए हैं - लेकिन क्या आप इसे देखने का प्रस्ताव रखते हैं? यूनिट परीक्षण? जाँच करने के लिए चीजों की एक 'चेकलिस्ट'? धन्यवाद :)
Wizzard

@Wizzard: प्रतिगमन परीक्षण शब्द किसी भी तरह के परीक्षणों के लिए पहले से मौजूद, कार्यशील कार्यक्षमता (आपको अपना ऐप बदलते समय इसे तोड़ने से रोकने के लिए) के लिए सामान्य शब्द है। यह एक चेक सूची, आपके फ्रंटएंड के माध्यम से स्वचालित परीक्षण (यहां संभवतः आपका ब्राउज़र) और यूनिट परीक्षणों के साथ-साथ परीक्षणों को भी कवर करता है। मेरा सुझाव यह है कि आपको पहले सोचना चाहिए कि क्या परीक्षण करना है, स्वतंत्र रूप से आप इसे कैसे परीक्षण करने जा रहे हैं (यदि आप कहते हैं "हमने इकाई परीक्षण की कोशिश की", उदाहरण के लिए, आप पहले से ही "कैसे" पर हैं, "क्या" पर नहीं) ।
डॉक्टर ब्राउन

2

एक पेशेवर QA किराए पर लें

यदि आप एक वाणिज्यिक परियोजना विकसित कर रहे हैं तो यह किया जाना चाहिए। एक मजबूत परीक्षण रणनीति के बिना तैयार उत्पाद होने पर आपको बग फिक्स के साथ अधिक लागत आएगी। इसके अलावा, नए ग्राहकों को प्राप्त करना या उन्हें बनाए रखना भी इस बात पर निर्भर करेगा कि आपके आवेदन का परीक्षण कितना अच्छा है।

आम तौर पर बोलने वाली इकाई परीक्षण को आपके कोड आधार पर लागू किया जाना चाहिए, हालांकि एकीकरण परीक्षण और मैनुअल परीक्षण को नहीं छोड़ना चाहिए।


1

इकाई परीक्षण वास्तव में एक अच्छा विचार है, खासकर यदि आपकी परियोजना बढ़ रही है। अगर यूनिट टेस्ट लिखना एक आदत बन जाता है, तो यह आपके काम को बहुत आसान कर देगा। स्वच्छ कोड लिखने के बारे में यूट्यूब पर एक वीडियो है , जिसे बनाए रखना और परीक्षण करना आसान है।

क्यूए इंजीनियर भी एक चाहिए। एक अच्छा क्यूए परीक्षक केवल कार्यक्षमता में बग नहीं ढूंढेगा, बल्कि यह भी परीक्षण करेगा कि ऐप उपयोगकर्ता के अनुकूल है (जो कि आपके द्वारा परीक्षण करना लगभग असंभव है)। यहाँ एक अच्छा लेख बताया गया है कि क्यूए टीम आपको समय और पैसा कैसे बचाएगी और बेहतर सॉफ्टवेयर देने में मदद करेगी।


1

15 नियंत्रक और मॉडल बहुत बड़े नहीं हैं। लेखन परीक्षण को एक आदत बनाने में कुछ समय लगता है, एक-दूसरे को इसके प्रति (पहले दोस्ताना तरीके से) किक करने से बहुत मदद मिलती है।

ऐसे उपकरण मौजूद हैं जो परीक्षण कवरेज को कुछ विस्तार तक नियंत्रित कर सकते हैं। PHP के लिए कोड कवरेज उपकरण


1
क्षमा करें, 35 नियंत्रक और लगभग समान मॉडल। Mmmm लगता है कि यूनिट परीक्षण का कोई रूप मदद करने वाला है।
विज्ज़र्ड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.