PHP के लिए 9 सर्वश्रेष्ठ स्वचालित परीक्षण रूपरेखाएँ
क्या आपने कभी अपने PHP कोड को डिबग करने में लंबे समय तक बिताया है? खैर, अधिकांश प्रोग्रामर के लिए यह शायद सबसे आकर्षक चुनौती नहीं है, लेकिन एक समाधान है जो हमें इस थकाऊ काम को छोटा करने में मदद कर सकता है. स्वचालित परीक्षण PHP विकास के वर्कफ़्लो में महत्वपूर्ण सुधार कर सकता है विकास प्रक्रिया को चलाने के लिए पूर्व लिखित परीक्षणों की अनुमति देना.
इस पोस्ट में हम समझने की कोशिश करेंगे क्यों स्वचालित परीक्षण इतना अच्छा है, यह कैसे काम करता है, और क्या हैं सबसे अच्छा परीक्षण रूपरेखा आप के साथ शुरू कर सकते हैं.
परीक्षण क्यों महत्वपूर्ण है
Novice PHP डेवलपर्स अपने कोड के लिए परीक्षण नहीं लिखते हैं। हम में से अधिकांश ने नई विशेषताओं और कार्यों का परीक्षण करके अपने करियर की शुरुआत की, जो हमने अभी-अभी एक-एक करके ब्राउज़र विंडो में लिखे थे, और जब कुछ गलत हुआ, तो हम इस बात से अवगत थे कि क्या करना है.
हमारे कोड के लिए परीक्षण लिखने से सिरदर्द के कीमती डिबगिंग समय और घंटों को रोका जा सकता है. जब अनुपयोगी कोड उत्पादन में चला जाता है, तो हम जो समीक्षा प्राप्त करेंगे वह शायद इतनी अच्छी नहीं होगी। तो हम क्या कर सकते हैं?
शायद सबसे अच्छा विचार है उत्पादक परीक्षण वर्कफ़्लो स्थापित करें जिसमें हमें अपना स्वयं का परीक्षण कोड लिखना होगा जो यह जांचता है कि हमारा आवेदन कोड ठीक से काम करता है या नहीं.
चाल है कि परीक्षण कोड को एप्लिकेशन कोड से पहले लिखा जाना चाहिए. इस तरह हम शुरू से ही यह सुनिश्चित कर सकते हैं कि जो कोड हम लिखते हैं वह ठीक से काम करता है। परीक्षण कोड अलग-अलग फ़ाइलों में जाएगा। यदि हम बाद में अपने PHP ऐप में किसी भी त्रुटि से टकराते हैं, तो हमें कुछ और करने की आवश्यकता नहीं है, बस हमारे परीक्षण चलाएं जो उम्मीद करते हैं समस्याओं के बारे में हमें उचित संकेत दें.
समय बचाने और उत्पादन के लिए हमारे ऐप को ठीक से तैयार करने के अलावा, परीक्षण के कई अन्य फायदे भी हैं, जैसे:
- अधिक रखरखाव योग्य कोड
- सुविधा refactoring
- कम सुरक्षा मुद्दे
- कम फूला हुआ कोड आधार (पूर्व लिखित परीक्षा कोड के लिए आवेदन कोड को अपनाना हमें अपवित्र भागों को छोड़ देगा)
- बेहतर प्रदर्शन
स्वचालित परीक्षण क्या है?
बेशक, हम अपने परीक्षणों को मैन्युअल रूप से लिख सकते हैं, लेकिन थोड़ी देर के बाद यह कई दोहराए जाने वाले कार्यों के साथ थकाऊ और समय लेने वाला हो सकता है। मैन्युअल परीक्षण को स्वचालित परीक्षण द्वारा प्रतिस्थापित किया जा सकता है जिसमें हम विशिष्ट सॉफ्टवेयर्स का उपयोग करते हैं जो हमारे लिए थकाऊ काम करेंगे, और हम परीक्षण कोड के तर्क बनाने के साथ अधिक समय बिता सकते हैं.
PHP सौभाग्य से एक काफी लोकप्रिय प्रोग्रामिंग भाषा है, इसलिए कई स्वचालित परीक्षण रूपरेखाएं हैं जिन्हें हम चुन सकते हैं.
परीक्षण-संचालित विकास (TDD) बनाम व्यवहार-प्रेरित विकास (BDD)
स्वचालित परीक्षण ढांचे का उपयोग करने वाले दो मुख्य दृष्टिकोण टेस्ट-ड्रिवेन डेवलपमेंट (टीडीडी) और व्यवहार-प्रेरित विकास (बीडीओ) हैं। दोनों में, विकास प्रक्रिया परीक्षण द्वारा संचालित होती है, इसका मतलब है कि परीक्षण आवेदन कोड से पहले लिखे गए हैं.
परीक्षण-संचालित और व्यवहार-चालित परीक्षण के बीच मुख्य अंतर परीक्षण कोड के सिंटैक्स में है: TDD परीक्षण फ़ाइलों में उचित PHP कोड का उपयोग करता है, जबकि BDD मानव-पठनीय वाक्यों का उपयोग करता है जो प्रत्येक सुविधा के व्यवहार का वर्णन करता है और गैर-तकनीकी हितधारकों द्वारा भी समझा जा सकता है.
एक TDD टेस्ट कोड संपादक में इस तरह दिखता है, यह सिर्फ नियमित ऑब्जेक्ट-ओरिएंटेड PHP कोड है:
एक बीडीडी टेस्ट भी इसके समान है, गैर-प्रोग्रामर भी इसका अर्थ समझ सकते हैं:
10 PHP ऑटोमेटेड टेस्टिंग फ्रेमवर्क
इसे ध्यान में रखते हुए, आइए PHP के 10 शक्तिशाली स्वचालित परीक्षण ढाँचों पर एक नज़र डालें जिसका आप उपयोग कर सकते हैं.
1. PHPUnit
PHPUnit PHP एप्स के लिए यूनिट टेस्ट लिखने के लिए सबसे प्रसिद्ध परीक्षण ढांचा है। यूनिट परीक्षण कोड नामक इकाइयों के छोटे हिस्से लेते हैं और एक-एक करके उनका परीक्षण करते हैं। PHPUnit की मदद से हम परीक्षण संचालित विकास का संचालन कर सकते हैं.
यह के माध्यम से इस्तेमाल किया जा सकता है कमांड लाइन, और यह हमें एक प्रदान करता है टेस्ट टेस्ट क्लास कि हम अपनी आवश्यकताओं के अनुसार विस्तार कर सकते हैं। PHPUnit भी डेवलपर्स को उपयोग करने की अनुमति देता है पूर्व-लिखित अभिकथन विधियों से यह सुनिश्चित करने के लिए कि ऐप एक निश्चित तरीके का व्यवहार करता है.
२.विचार
कोडेप्शन हमें केवल यूनिट टेस्ट लिखने में सक्षम नहीं करता है, बल्कि कार्यात्मक और स्वीकृति टेस्ट भी। ये दोनों बाद में PHP ऐप को एक साथ बंधे सभी फीचर्स के रूप में टेस्ट करते हैं, यूनिट्स के रूप में नहीं। संहिता हमें अपनी विकास आवश्यकताओं के अनुसार विभिन्न मॉड्यूल को सक्षम और कॉन्फ़िगर करने की अनुमति देती है.
यह कई PHP विकास ढांचे के साथ एकीकृत है Symfony2, Laravel4, Yii, Phalcon, और Zend फ्रेमवर्क. इसका मतलब है कि हम एक सुपरस्पेशल डेवलपमेंट वर्कफ़्लो स्थापित करने के लिए एक साथ PHP ऑटोमेशन टेस्टिंग फ्रेमवर्क और एक PHP डेवलपमेंट फ्रेमवर्क का उपयोग कर सकते हैं.
3. बेहत
Behat एक लोकप्रिय व्यवहार-संचालित PHP परीक्षण ढाँचा है। परीक्षण हम Behat के साथ लिख सकते हैं बल्कि देखो कोड की तरह कहानियाँ. व्यवहार संचालित विकास के StoryBDD उपप्रकार का उपयोग करता है (अन्य उपप्रकार SpecBDD है).
रूबी प्रोग्रामिंग लैंग्वेज के टेस्टिंग फ्रेमवर्क के लिए खीरा प्रोजेक्ट से फ्रेमवर्क प्रेरित था.
4. PHPSpec
PHPSpec व्यवहार-चालित परीक्षण दृष्टिकोण का भी अनुसरण करता है, लेकिन इसके अन्य उपप्रकार को SpecBDD कहा जाता है। PHPSpec के साथ हमें करने की आवश्यकता है विनिर्देशों को पहले लिखें जो यह वर्णन करते हैं कि आवेदन कोड कैसे व्यवहार करेगा. यह रूबी परीक्षण ढांचे से भी प्रेरित था जिसे RSpec कहा जाता है.
5. कथाकार
स्टोरीप्लेयर एक पूर्ण-स्टैक परीक्षण ढांचा है जो इसे संभव बनाता है संपूर्ण प्लेटफ़ॉर्म के लिए एंड-टू-एंड परीक्षण लिखें. स्टोरीप्लेयर के लिए समर्थन है मांग पर परीक्षण वातावरण बनाना और नष्ट करना. यह टीडीडी परीक्षण दृष्टिकोण का अनुसरण करता है, और हमें कार्यात्मक परीक्षण लिखने की अनुमति देता है जो एक पूरे के रूप में एक आवेदन की जांच कर सकता है.
6. पेरीडॉट
Peridot PHP के लिए एक हल्का, एक्स्टेंसिबल टेस्टिंग फ्रेमवर्क है। यह एक सुविधाएँ घटना संचालित वास्तुकला जो परीक्षकों को आसानी से अनुमति देता है प्लगइन्स और पत्रकारों के माध्यम से रूपरेखा को अनुकूलित करें.
Peridot का उपयोग करता है इसका वर्णन करें एक स्पष्ट और पठनीय परीक्षण भाषा स्थापित करने के लिए वाक्यविन्यास जो स्पष्ट रूप से वर्णन करता है कि हमारे आवेदन कोड को कैसे व्यवहार करना चाहिए.
7. एटम
एटम एक सहज और आधुनिक PHP परीक्षण ढांचा है जो हमें इकाई परीक्षण चलाने की अनुमति देता है। यह परीक्षण विकास को सरल करता है, और जैसा कि यह एक युवा ढांचा है, यह कुछ नई क्षमताओं का उपयोग करता है जो PHP 5.3 में पेश किए गए थे (यह कर सकते हैंपुराने PHP संस्करणों के साथ उपयोग नहीं किया जा सकता है) हमें एक त्वरित और आसानी से समझने वाली परीक्षण प्रक्रिया प्रदान करने के लिए.
Atoum एक सुनिश्चित करता है परीक्षण निष्पादन के दौरान सुरक्षा का उच्च स्तर, के रूप में यह अपने पीएचपी प्रक्रिया में प्रत्येक परीक्षण विधि को अलग करता है.
8. कहलन
कहलान एक पूर्ण विशेषताओं वाला बीडीडी परीक्षण ढांचा है जो यूनिट टेस्ट को लिखना संभव बनाता है इसका वर्णन करें वाक्य - विन्यास. यह KISS (कीप इट सिंपल, स्टुपिड) डिजाइन सिद्धांत को गले लगाता है। Kahlan कम से कम PHP 5.5 की आवश्यकता है.
इसका एक छोटा कोड आधार है, यह PHPUnit से लगभग 10 गुना छोटा है, और इसमें उन विशेषताओं का भार है जो हमें एक एक्स्टेंसिबल और अनुकूलन परीक्षण वर्कफ़्लो प्रदान करते हैं.
9. सेलेनियम
सेलेनियम एक परिष्कृत परीक्षण ढांचा है जो ब्राउज़र को स्वचालित करता है। इसका अर्थ है कि उपयोगकर्ता स्वीकृति टेस्ट लिखना संभव है पूरे ऐप को संपूर्ण रूप से देखें.
सेलेनियम एक मजबूत उपकरण है जिसका अपना वेबड्राइवर एपीआई है जो ब्राउज़र को मूल रूप से चला सकता है हालांकि एक वास्तविक उपयोगकर्ता इसका उपयोग स्थानीय या दूरस्थ मशीन पर करेगा. सेलेनियम अधिक परिपक्व वेब अनुप्रयोगों के परीक्षण के लिए एक उत्कृष्ट उपकरण है.
अंतिम विचार
स्वचालित परीक्षण ढांचे हमें उच्च गुणवत्ता वाले PHP कोड लिखने के लिए सशक्त बनाते हैं, और भाषा की लोकप्रियता के कारण हमारे पास कई विकल्प हैं, इसलिए हम उस विकल्प का चयन कर सकते हैं जो हमारे विकास को पूरा करता है.
हालांकि एक महत्वपूर्ण बात यह है कि हमें हमेशा ध्यान में रखना होगा। स्वचालित परीक्षण शक्तिशाली हो सकता है, लेकिन यह हो सकता है बीटा परीक्षण का विकल्प कभी नहीं - असली मनुष्यों द्वारा किए गए परीक्षण जो भविष्य के अनुप्रयोग के उपयोगकर्ता होंगे.