2008-09-03 15 views
17

हम एक नई परियोजना पर काम कर रहे हैं जिसमें नई/संशोधित जीयूआई कार्यक्षमता है। हमने अतीत में पाया है कि नई कार्यक्षमता जोड़ते समय हम अक्सर संबंधित कोड में नई समस्याएं पेश करते हैं।उपयोगकर्ता इंटरफेस परीक्षण

हमारे पास गैर तकनीकी उपयोगकर्ता परीक्षण करते हैं, लेकिन वे अक्सर भागों को याद करते हैं और बग को फिसलने की अनुमति देते हैं।

मेरा प्रश्न: क्या WinForms प्रोजेक्ट के UI परीक्षण को व्यवस्थित करने के लिए कोई सर्वोत्तम अभ्यास है? क्या इसे स्वचालित करने का कोई तरीका है?

धन्यवाद!

+0

आप सुनेंगे कि 'जीयूआई परीक्षण स्वचालन नाजुक है' या 'स्वचालित जीयूआई परीक्षण दुःस्वप्न' सामान हैं। आम तौर पर उन लोगों से जिन्होंने यादृच्छिक लोगों द्वारा किए गए परीक्षण स्वचालन को देखा या जिन लोगों ने कभी भी गुई स्वचालन को नहीं देखा, उन्होंने सुना कि यह कैसे विफल रहता है। किसी भी तरह से टेस्ट ऑटोमेशन के लिए प्रतिबद्धता और कुशल सामान की आवश्यकता होती है। उपकरण सिर्फ एक उपकरण है, कई उपकरण हैं। उनमें से कुछ: http://www.testingfaqs.org/t-gui.html – yoosiba

उत्तर

19

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

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

+5

वैसे भी, लेखक को समाधान की आवश्यकता है, केवल आपत्ति नहीं ... – Budda

0

मैं वास्तव में संगठन या सर्वोत्तम प्रथाओं में सहायता नहीं कर सकता, लेकिन NUnit एक्सटेंशन फॉर्म परीक्षण, NUnitForms के लिए उपलब्ध प्रतीत होता है।

6

आप White ढांचे का उपयोग कर GUI परीक्षण स्वचालित कर सकते हैं।

टीडीडी अनुकूल डिजाइन का उपयोग करने पर भी विचार करें, यानी MVP/MVC पैटर्न का उपयोग करें।

मैं आपको माइक्रोसॉफ्ट पैटर्न & अभ्यास टीमों से दस्तावेज़ीकरण पढ़ने की अत्यधिक अनुशंसा करता हूं।

विशेष रूप से Composite UI application block और CompositeWPF पर एक नज़र डालें।

ये परियोजनाएं विशेष रूप से आपको परीक्षण संचालित यूआई सहित जीयूआई ऐप्स विकास में सर्वोत्तम प्रथाओं के लिए डिज़ाइन करने के लिए डिज़ाइन की गई हैं।

+0

"टीडीडी अनुकूल डिजाइन का उपयोग करने पर भी विचार करें, यानी एमवीपी/एमवीसी पैटर्न का उपयोग करें।" अगर मैं गलत हूं तो मुझे सही करें, लेकिन यह "** टेस्ट ** अनुकूल डिजाइन" नहीं होगा। मुझे लगता है कि टीडीडी सिर्फ परीक्षण से ज्यादा सुझाव देता है .. – sixtyfootersdude

4

जीयूआई परत जितना संभव हो उतना पतला रखें। माइकल फेदर लेख, The Humble Dialog Box, एक क्लासिक है। मार्टिन फाउलर के Passive View को भी देखें। मैंने यह भी सुना है कि "स्वचालित बटन क्लिकर्स" नाजुक हैं, और कोड को बनाए रखने के खर्च से परीक्षण को बनाए रखने में अधिक समय व्यतीत करना आसान है।

1

कई टूल और लाइब्रेरी उपलब्ध हैं जो WinForms परीक्षण को स्वचालित कर सकते हैं, जैसे ओपन सोर्स समाधान जैसे व्हाइट से महंगा वाणिज्यिक समाधान जैसे एचपी क्विकटेस्ट प्रो। यदि आप अपना खुद का स्वचालन ढांचा रोल करना चाहते हैं तो .NET में UIAutomation नेमस्पेस भी है। लेकिन स्वचालन की वास्तविक लागत उस समय और विशिष्ट कौशल को लागू करने की आवश्यकता है। रखरखाव स्वचालित परीक्षण डिजाइन के सबसे महत्वपूर्ण पहलुओं में से एक है; आप स्वचालन संपत्ति को अपने आवेदन के साथ चालू रखने के लिए अत्यधिक संसाधन खर्च नहीं करना चाहते हैं। स्वचालित करने के निर्णय को प्रभावित करने वाले कई कारक भी हैं जो आपके विशिष्ट एप्लिकेशन और संगठन के लिए विशिष्ट होंगे।

आपकी सर्वश्रेष्ठ शर्त विषय पर कुछ और शोध करने और http://www.sqaforums.com जैसी कुछ विशेष परीक्षण साइटों को देखने के लिए होगी।

1

मुझे विभिन्न ब्राउज़रों में वेब पेज लेआउट का परीक्षण करने के लिए यह त्वरित और गंदा तरीका मिला। इसे browsershots.org कहा जाता है। हमारे क्लाइंट को अभी 5 ब्राउज़रों में समर्थन की आवश्यकता है और इसमें पूर्ण प्रतिगमन परीक्षण के लिए लगभग एक सप्ताह लगते हैं। यह सेवा कुछ 70+ ब्राउज़र और संस्करणों के स्क्रीनशॉट वितरित करेगी। मैं उन्हें प्रिंट करता हूं और पृष्ठों को प्रकाश में रखता हूं। यदि वे लाइन नहीं करते हैं, तो लेआउट समस्या होनी चाहिए।

0

मैंने इस उत्पाद (http://www.tethyssolutions.com/product.htm) के समान परीक्षण डाउनलोड किया था और इस उत्पाद (http://www.mjtnet.com/macro_scheduler.htm) साल पहले और मैं परिणामों से खुश था। ये बहुत सस्ते समाधान हैं और इन मैक्रो रिकॉर्डर उत्पादों में से कुछ वास्तव में स्वचालित परीक्षण के लिए उपयोग किया जा सकता है।

0

अब उपलब्ध एक नई विधि रूबी का उपयोग कर रही है, रूबी मणि के माध्यम से win32-autogui कहा जाता है। यह विंडोज जीयूआई ऐप्स का परीक्षण करने के लिए एक ढांचा प्रदान करता है। इसे रूबी टूल्स आरएसपीसी और ककड़ी के साथ संयोजित करें, और यह काफी शक्तिशाली परीक्षण ढांचे के लिए बनाता है।

0

यूआई परीक्षण व्यवस्थित करने के तरीके पर निर्भर करता है कि आप परीक्षण मामलों को कैसे डिजाइन करते हैं।

यूनिट परीक्षण स्तर में स्वचालित रूप से विंडोज फॉर्म एप्लिकेशन को टीडीडी ढांचे का उपयोग कर सकते हैं, जैसे एनयूनीट; या एनएसपीसी जैसे बीडीडी ढांचे का उपयोग करें।

कार्यात्मक परीक्षण स्तर में स्वचालित रूप से विंडोज फॉर्म अनुप्रयोगों का उपयोग व्हाइट, कोडेडयूआई, या यहां तक ​​कि सीधे सीधे Windows Automation API 3.0 (UI ऑटोमेशन और एमएसएए) का उपयोग कर सकते हैं।

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

+0

आपका उत्तर खाली और खाली है। – nalply

2

घटना है कि किसी को इस उपयोगी पाए जाने पर:

List of GUI testing tools विकिपीडिया पर पाया।