2013-03-19 13 views
5

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

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

मेरी पहली समस्या का सामना करना पड़ रहा है कि हमारा अधिकांश यूआई PHP में लिखा गया है और यूआई एकीकरण परीक्षण पहले से ही ककड़ी और शीर्ष पर कुछ प्लगइन के साथ लिखा गया है। परीक्षण फ्रेमवर्क जो मैं लिख रहा हूं (जावा में) इन सुविधाओं के परीक्षणों को ट्रिगर करना चाहिए और बाद में जांचें कि संबंधित घटकों का व्यवहार अपेक्षित है।

जाहिर है, मैं सेलेनियम जैसे जावा-अनुकूल घटक का उपयोग करके यूआई परीक्षणों को फिर से लिख सकता हूं, लेकिन प्रयास को डुप्लिकेट करने का अर्थ नहीं है।

एक और समाधान जावा के भीतर एक निष्पादन() कॉल के साथ मौजूदा परीक्षण चलाने के लिए है, प्रतीक्षा करें कि वे वापस आएं, संभावित रूप से आउटपुट पार्स करें और अन्य क्रियाओं/चेकों के साथ आगे बढ़ने की आवश्यकता है।

जावा के भीतर मौजूदा PHP कोड एम्बेड करना परियोजनाओं को लिखे जाने के तरीके के अनुसार एक व्यवहार्य समाधान नहीं लगता है।

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

क्या कोई इस दिशा में कुछ उपकरण या ढांचे को जानता है? यदि नहीं, तो इस तरह की समस्याओं के लिए एक अच्छा दृष्टिकोण क्या हो सकता है?

उत्तर

0

क्या आपने जेएमटर की तरह कुछ स्टैक परीक्षण माना है?

आप देखेंगे कि आपके पूरी तरह से तैनात किए गए सॉफ्टवेयर

  • के खिलाफ की गई जांच का निर्माण कर सकते हैं एक उपयोगकर्ता
  • पुष्टि करें कि उपयोगकर्ता सफल बनाने screeen दिखाया गया है
  • पुष्टि करें कि उपयोगकर्ता डेटाबेस में है के रूप में की उम्मीद
  • हटाना बनाने उपयोगकर्ता
  • उपयोगकर्ता की पुष्टि

इस तरह आप एक बार में अपने यूई, अपने व्यापार तर्क, और अपने डेटास्टोर का परीक्षण कर रहे हैं। इसका उपयोग लोड परीक्षण करने के लिए भी किया जा सकता है।

Jmeter

+0

विचार के लिए धन्यवाद शुरू करने के लिए होता है, लेकिन JMeter अपनाने मतलब मौजूदा परीक्षणों को खरोंच से पुनः लिखना है। इसके अलावा, जेएमटर जावास्क्रिप्ट की व्याख्या नहीं करता है और यह यूआई परीक्षण पर एक बड़ी सीमा बनता है। – kappolo

+0

मुझे लगता है कि मैं थोड़ा उलझन में हूं, आप एक टेस्ट सूट फ्रेमवर्क बनाना चाहते हैं जो आपके मौजूदा यूनिट परीक्षणों को कॉल करे? क्या यह आपको आपके मौजूदा परीक्षणों के ऊपर और परे जानकारी प्रदान करेगा? – mconlin

+0

क्षमा करें अगर मैं स्पष्ट नहीं था। चूंकि मैं एक पूर्ण एकीकरण परीक्षण बनाना चाहता हूं (यानी, मेरे सिस्टम के सभी घटकों को एकीकृत करना) मैं पहले से मौजूद एकीकरण परीक्षण का हिस्सा पुन: उपयोग करना चाहता हूं और उन्हें नए परीक्षणों के साथ जोड़/एकीकृत करना चाहता हूं। – kappolo

1

सुनिश्चित नहीं हैं कि अगर यह मदद कर सकते हैं लेकिन शायद https://github.com/nablex/glue पर एक नजर है। यह एक स्क्रिप्टिंग भाषा है जिसे मैंने (एकीकरण) परीक्षण पर ध्यान केंद्रित किया है।

यदि आप https://github.com/nablex/glue-selenese में प्लग करते हैं तो यह सेलेनियम स्क्रिप्ट का समर्थन करता है और बहुत एक्स्टेंसिबल है।

मैं वर्तमान में लोमड़ी समर्थक में लिखा विरासत स्क्रिप्ट को चलाने के लिए कुछ कस्टम एक्सटेंशन के साथ एक ग्राहक पर यह उपयोग कर रहा हूँ (मैं वास्तव में reimplemented लोमड़ी समर्थक तरीकों ... कंपकंपी) और एक विरासत मोड इसलिए वे केवल के लिए सक्षम हैं विरासत स्क्रिप्ट, नए नहीं। मैंने कस्टम एसओएपी-आधारित वेब सर्विसेज में भी प्लग किया है, जिसमें से एक रिमोट सिस्टम पर डेटाबेस कॉल करने के लिए इस्तेमाल किया जा सकता है जिससे मुझे एकीकरण-स्तर परीक्षण के लिए उपकरणों की विस्तृत श्रृंखला मिलती है।

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

पुनश्च: (! ब्रेकप्वाइंट समर्थन के साथ) "मुख्य" वर्ग एक अच्छी जगह पाने के लिए यह और चल रहा है क्योंकि यह एक काम कर CLI ग्राहक शामिल

संबंधित मुद्दे