2008-10-22 18 views
8

का स्वचालित परीक्षण यह प्रश्न इकाई परीक्षण के बारे में नहीं है। और यह एक डेस्कटॉप उत्पाद के लिए है।जीयूआई

यह जीयूआई के परीक्षण और परीक्षण है कि सही सामान सही समय पर सही पाठ बॉक्स में इनपुट है के बारे में है।

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

उपकरण

  • स्वचालित किया जा MFC (अपरक्राम्य) है और यह भी होगा आदर्श उपकरण के साथ काम करने के लिए है ...।
  • स्क्रिप्ट योग्य हो।
  • स्वचालित रूप से विभिन्न स्क्रीन संकल्पों के साथ काम करते हैं।
  • व्यक्तिगत स्थैतिक टेक्स्ट बॉक्स, आदि पर 'जासूसी' करने में सक्षम हो।
  • सहज ज्ञान युक्त इसलिए गैर-प्रोग्रामर स्क्रिप्ट बना सकते हैं।
  • में व्यक्तिगत उपयोगकर्ताओं के ईमेल सहित रिपोर्टिंग टूल हैं।

अन्य एसओ उपयोगकर्ता स्वचालित जीयूआई परीक्षण के लिए क्या करते हैं?

उत्तर

7

हम वाजिब रोबोट (RRAFS) के लिए SAFS framework का उपयोग करें।WinRunner (WRAFS) के लिए SAFS कार्यान्वयन भी हैं और ऐसा लगता है कि उनके पास एक नया "छवि-आधारित परीक्षण" कार्यान्वयन है, जिसे मैं परिचित नहीं हूं।

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

उस ने कहा, ढांचे की भाषा बोझिल है और इसका उपयोग करने में लग रहा है। भाषा संरचनाओं के संदर्भ में यह बहुत मजबूत नहीं है, लेकिन कुछ प्रयासों के साथ आप जो कुछ भी कर सकते हैं वह कर सकते हैं। यह एक तरह से "प्रोग्रामिंग" Windows बैच भाषा में, की तरह है, लेकिन परीक्षण के लिए है;)

ऊपर आपके व्यक्तिगत आवश्यकताओं को पूरा करने के लिए:

1) उपकरण MFC (अपरक्राम्य) के साथ काम करने के लिए है। एसएफ़एस ढांचा परीक्षणों को चलाने के लिए एक तृतीय पक्ष "रिकॉर्ड-प्लेबैक" टूल का उपयोग करता है, जैसे तर्कसंगत रोबोट या बुध WinRunner। यदि वह उपकरण एमएफसी ऐप्स के साथ बातचीत कर सकता है, तो ढांचा कर सकते हैं। मुझे नहीं पता कि "छवि-आधारित परीक्षण" कार्यान्वयन परीक्षण कैसे चलाता है, लेकिन मुझे लगता है कि यह एमएफसी के साथ भी काम कर सकता है।

2) स्वचालित हो। SAFS ढांचा STAF framework के साथ एकीकृत करता है, जो आपको अपने परीक्षणों के निष्पादन को स्वचालित करने की अनुमति देगा। मेरे पास एक सबूत-ऑफ-अवधारणा परीक्षण है जो छवियों के पूल से वीएम छवि शुरू करने के लिए एसटीएएफ का उपयोग करता है, परीक्षण के तहत आवेदन स्थापित करता है, आरआरएफ़एस परीक्षण चलाता है, और परिणाम प्राप्त करने के लिए परिणामों को वेब सर्वर पर डाल देता है।

3) स्क्रिप्ट योग्य हो। हां, लेकिन जैसा कि बताया गया है, यह सबसे मजबूत प्रोग्रामिंग भाषा नहीं है। मैंने एक एक्सेल एड-इन लिखा था कि हमारे परीक्षक अपने परीक्षण लिखने के लिए उपयोग करते हैं जो चीजों को थोड़ा सा सरल बनाता है।

4) स्वचालित रूप से विभिन्न स्क्रीन संकल्पों के साथ काम करते हैं। हां, चूंकि यह यूआई ऑब्जेक्ट्स पर "कवर के तहत" दिख रहा है, न कि स्क्रीन पर। "छवि के आधार पर परीक्षण" विकल्प के लिए हो सकता है सिवाय ...

5) , व्यक्तिगत स्थिर पाठ बक्से पर 'जासूसी' करने में सक्षम हो आदि हाँ, आप एक यूआई वस्तु दिखाई देने की प्रतीक्षा कर सकते हैं, disapper , मूल्य बदलने के लिए, मूल्य बदलने के लिए, आदि

6) अंतर्ज्ञानी पर्याप्त इसलिए गैर-प्रोग्रामर स्क्रिप्ट बना सकते हैं। कुछ प्रशिक्षण के साथ । हमने सीमित सफलता हासिल की है। कुछ क्यूए लोग परीक्षण लिख सकते हैं, कुछ संघर्ष।

7) में व्यक्तिगत उपयोगकर्ताओं के ईमेल सहित रिपोर्टिंग टूल हैं। हां, एसटीएफ़ फ्रेमवर्क का उपयोग करके आप परिणाम वेब पेज पर पोस्ट कर सकते हैं, ईमेल भेज सकते हैं, आदि

2

User Interface Testing देखें।

+0

पढ़ें जो यूनिट-परीक्षण, दृश्य तुलना और ब्राउज़र UI परीक्षण से संबंधित है। यह एक डेस्कटॉप उत्पाद के लिए है। –

2

डेस्कटॉप या वेब एप्लिकेशन को समान रूप से एक ही परीक्षण पैटर्न यहाँ (मैं दोनों में काम किया है) है।

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

आप कह सकते हैं, लेकिन मैं कुछ स्थिर कक्षाओं/तरीकों कि केवल मेरे यूआई में मौजूद कर सकते हैं, एक एडाप्टर के साथ उन लोगों को रैप और कहा कि इंटरफेस का उपयोग करतें उपयोग कर रहा हूँ के लिए अपने कोड परीक्षण योग्य बनाने के लिए।

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

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

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

यदि आप मुझसे असहमत हैं, तो कृपया कुछ कारण पोस्ट करें और हम इसे बाहर कर देंगे।

+0

ने इस उत्तर को ऊपर उठाया, लेकिन मुझे लगता है कि यह कभी-कभी जीयूआई स्तर पर स्वचालित करने के लिए समझ में आता है। जबकि आप आदर्श रूप से जीयूआई कोड में एप्लिकेशन तर्क शामिल नहीं करेंगे, शायद ओपी को कुछ कोड विरासत में मिला है जो पहले से ही ऐसा है? जाहिर है, आप उस पर प्रतिक्रिया करना चाहते हैं, लेकिन फिर आप कैसे जानते होंगे कि यह काम करता है? –

+0

यह एक विशाल विरासत एमएफसी ऐप है। लगभग 2000 वर्गों के लिए यूनिट-टेस्ट लिखना असंभव है। वर्तमान में केवल कुछ कार्यों में परीक्षण हैं और वे केवल इसलिए हैं क्योंकि यह नया कोड है। –

+0

यह उत्तर अभी भी सच है –

0

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

  • QuickTest प्रो (एचपी के WinRunner के उत्तराधिकारी)
  • वाजिब कार्यात्मक परीक्षक (रोबोट के लिए आईबीएम के उत्तराधिकारी)
  • TestPartner
4

यहाँ अच्छा जवाब में से बहुत सारे हैं, लेकिन मैं इस लक्ष्य को बयान को संबोधित करना चाहता था , विशेष रूप से:

  • सहज ज्ञान युक्त पर्याप्त गैर-प्रोग्रामर स्क्रिप बना सकते हैं टी

मैं समझ सकता हूं कि आप यह क्यों चाहते हैं, लेकिन यह आपके विचार से कहीं अधिक कठिन है। जबकि आप वहां लिखने के लिए दावा का दावा कर सकते हैं, अभ्यास में, आपको कम से कम कुछ लोगों को प्रोग्रामिंग को समझने वाली आपकी स्वचालन टीम पर कम से कम कुछ लोगों की आवश्यकता होगी। उचित रूप से मजबूत लिपियों को लिखना एक या अधिक लूपिंग, यदि/फिर/अन्य, और subroutine कॉल शामिल करने जा रहा है। ऐसी चीज नहीं है जो गैर-प्रोग्रामर सहज ज्ञान प्राप्त करने जा रहे हैं।

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

+0

मुझे याद है कि इंटरफ़ेस में मामूली परिवर्तन WinRunner में स्क्रिप्ट को चलने से नहीं रोकेंगे।WinRunner बटन दबाएगा - शायद कुछ प्रकार के 'जासूस ++' - जैसे कोड में, इसलिए यह जानता है कि माउस को कहां स्थानांतरित करना है और क्या क्लिक करना है। –

+0

हाँ, वे सभी के पास है। स्क्रीन पर थ्रू दाएं नियंत्रण की पहचान करने में समस्या इतनी ज्यादा नहीं है, लेकिन परीक्षण स्क्रिप्ट को समय और व्यवहार में मामूली बदलावों के लिए उचित प्रतिक्रिया देने में सक्षम है। –

+1

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

4

एक मजबूत बुध/एचपी पृष्ठभूमि से आ रहा है, तो मैं आपके जीयूआई परीक्षण के लिए क्विकटेस्ट प्रोफेशनल का उपयोग करने की अत्यधिक अनुशंसा करता हूं। WinRunner के रूप में इसकी बहुत सारी कार्यक्षमता है, लेकिन बहुत सारे कोड के बिना। सरल जीयूआई चेक क्यूटीपी इंटरफ़ेस के माध्यम से न्यूनतम, यदि कोई हो, कस्टम वीबी कोड के साथ किया जा सकता है। क्यूटीपी में डेटाशीट का उपयोग करके सरल तुलनाओं के साथ बॉक्स के बगल में पाठ के लिए चेक किया जा सकता है।

यदि आप WinRunner के लिए उपयोग किया जाता है, और वीबीस्क्रिप्ट (इतना टीएसएल नहीं) जानते हैं, तो मैं निश्चित रूप से क्यूटीपी को देखता हूं।

जहां तक ​​आपकी अन्य आवश्यकताएं हैं, क्यूटीपी में स्पाइर सुविधा भी है, जैसे WinRunner, जो ऑब्जेक्ट्स पर आप कर सकते हैं सभी गुणों और कार्यों की सूची देगा। और उपयोग की सादगी के रूप में, मेरी पुरानी नौकरी पर, हमारे पास व्यापार या सिस्टम परीक्षक साधारण धूम्रपान स्क्रिप्ट बनाते हैं, तो मैं उन्हें ले जाऊंगा और उन्हें गहन परीक्षण (एकाधिक डेटा मान, त्रुटि जांच आदि) के लिए कोड दूंगा। और रिपोर्टिंग के लिए, क्यूटीपी आपके द्वारा इनपुट किए जा सकने वाले कस्टम डेटा के साथ आपके द्वारा डाले गए टैग पर पास/असफल/चेतावनी की सरल रिपोर्टिंग करेगा। तो आप अपने परिणामों के आधार पर अपने आउटपुट मानों को पॉप्युलेट करने के लिए केस स्टेटमेंट का उपयोग कर सकते हैं। यह ई-मेल नाइटली नहीं करेगा, लेकिन यदि आप टेस्ट डायरेक्टर/क्वालिटी सेंटर के साथ एकीकृत करते हैं, तो आप अपनी स्क्रिप्ट के किक-ऑफ को स्वचालित करने के साथ-साथ वहां से डेटा पैरामीटर करने के साथ-साथ वहां भेज सकते हैं (जो वापस भेजने के लिए अच्छा है परीक्षकों को स्क्रिप्ट में शामिल किए बिना डेटा पॉप्युलेट करने के लिए)।

पैट

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