ऑटो टेस्ट जेनरेशन

यूनिट, इंटीग्रेशन, E2E टेस्ट्स -- कोड को OpenClaw को दे, टेस्ट केसेस अपने आप तैयार हो जाते हैं

टेस्टिंग - इसे करने वाला अपनी दर्द जानता है

टेस्ट हमेशा आखिर में आते हैं

फीचर्स को लॉन्च करने की जल्दबाज़ी है, टेस्ट्स हमेशा "अगला वर्जन में" होते हैं। फिर लॉन्च के बाद सब कुछ फूट जाता है क्योंकि एज केस्स कवर ही नहीं थीं।

Mock डेटा लिखते-लिखते जान निकल जाती है - एक API तीन सर्विसेस पर डिपेंड करती है, सिर्फ mock डेटा लिखने में आधा घंटा लगता है, बिजनेस कोड से भी ज्यादा।

कवरेज रिपोर्ट में 30% दिख रहा है, बॉस से पूछा जाता है तो बस यही कहना पड़ता है "कोर लॉजिक तो टेस्ट है"। असल में happy path भी पूरी तरह टेस्ट नहीं है।

OpenClaw टेस्टिंग को कैसे हल करता है

कोड को समझकर, परखी हुई टेस्ट्स जेनरेट करता है

OpenClaw सिर्फ कुछ test cases बना नहीं देता। यह फंक्शन सिग्नेचर, ब्रांच लॉजिक, एक्सेप्शन हैंडलिंग को एनालाइज करके, अपने आप एज कंडीशन्स और एक्सेप्शन सीन्स आइडेंटिफाई करता है।

तुम्हारे फंक्शन में null चेक है? Null इनपुट की टेस्ट जेनरेट करेगा। लूप है? इम्प्टी एरे, सिंगल एलिमेंट, बहुत सारा डेटा टेस्ट करेगा। Try-catch है? एक्सेप्शन ट्रिगर करने वाली इनपुट बनाएगा।

और यह समझता है कि तुम्हारी प्रोजेक्ट किस टेस्टिंग फ्रेमवर्क यूज़ करती है -- Jest, Pytest, JUnit, Vitest, सब में सीधा रन होने वाला कोड जेनरेट करता है, कोई फॉर्मेट चेंज नहीं करना पड़ता।

सीधा यूज़ कर सकने वाली टेस्टिंग Prompt्स

तीन Prompt्स - यूनिट टेस्टिंग, E2E टेस्टिंग, लोड टेस्टिंग। जो जरूरी हो वह चुन।

यूनिट टेस्ट्स को पूरी तरह कवर करो गोल्डन इंस्ट्रक्शन
इस मॉड्यूल के सभी exported फंक्शन्स और क्लास मेथड्स को एनालाइज करो।

हर फंक्शन के लिए कंप्लीट यूनिट टेस्ट्स जेनरेट करो, जरूरी है कि:
1. कवरेज टार्गेट 90% से ऊपर (स्टेटमेंट कवरेज + ब्रांच कवरेज)
2. हर फंक्शन के लिए कम से कम: नॉर्मल इनपुट, एज वैल्यूज, एक्सेप्शन इनपुट
3. एक्सटर्नल डिपेंडेंसीज के लिए mock यूज़ करो, रियल DB या नेटवर्क पर डिपेंड मत करो
4. टेस्ट नेमिंग क्लीयर होनी चाहिए, "should xxx when xxx" फॉर्मेट यूज़ करो
5. ज़रूरी setup/teardown जोड़।

इस प्रोजेक्ट की टेस्टिंग फ्रेमवर्क और assertion लाइब्रेरी यूज़ करो, स्टाइल कंसिस्टेंट रखो।
यह सबसे कॉमन है। एक फाइल डाल दो, कुछ सेकंड में टेस्ट्स तैयार हो जाते हैं। 90% कवरेज सिर्फ बड़ी बात नहीं है, यह उन एज केस्स तक भी पहुँचता है जिनके बारे में तुमने सोचा ही नहीं।
E2E लॉगिन फ्लो टेस्टिंग (Playwright) एडवांस्ड टिप्स
Playwright से इस लॉगिन फ्लो के लिए E2E टेस्ट्स लिखो:

टेस्ट सीन्स:
1. नॉर्मल लॉगिन: सही यूजरनेम-पासवर्ड, होमपेज पर रीडायरेक्ट हो गया वेरिफाई करो
2. वॉंग पासवर्ड: गलत पासवर्ड, एरर मेसेज दिख रहा है वेरिफाई करो
3. खाली फॉर्म सबमिट: कोई इनपुट न डालकर सबमिट करो, फॉर्म वेलिडेशन वेरिफाई करो
4. मुझे याद रखो: "Remember me" चेक करो, फिर बंद करके दोबारा खोलो - लॉगिन स्टेट चेक करो
5. लॉग आउट: लॉग इन करके एक्जिट दबाओ, लॉगिन पेज पर वापस गए वेरिफाई करो

जरूरी है कि:
- Page Object Model पैटर्न यूज़ करो
- अच्छे wait स्ट्रेटेजीज लगा, sleep मत यूज़ करो
- फेल सीन्स के स्क्रीनशॉट्स लो डिबग करने के लिए
Playwright से E2E टेस्ट्स लिखना बहुत मेहनत है, खासकर wait स्ट्रेटेजीज और सिलेक्टर्स में। AI से पहला ड्राफ्ट बनवा लो, फिर अपने पेज के हिसाब से थोड़ा ट्विक करो - एफिशिएंसी दोगुनी हो जाती है।
API लोड टेस्टिंग स्क्रिप्ट एडवांस्ड टिप्स
इन API एंडपॉइंट्स के लिए लोड टेस्टिंग स्क्रिप्ट जेनरेट करो (k6 या Artillery यूज़ करके):

टेस्ट कॉन्फिग:
1. ग्रेजुअल लोड: 10 कॉन्करेंट्स से शुरू करो, हर 30 सेकंड 10 और बढ़ाओ, मैक्स 200 कॉन्करेंट्स
2. टाइम डिूरेशन: कुल 5 मिनट
3. रिक्वेस्ट डिस्ट्रिब्यूशन: 70% रीड ऑपरेशन्स, 20% राइट, 10% अपडेट
4. मेट्रिक्स रिकॉर्ड करो: P50/P95/P99 लेटेंसी, एरर रेट, थ्रूपुट

रिजल्ट एनालिसिस स्क्रिप्ट जेनरेट करो, परफॉर्मेंस बॉटलनेक रिपोर्ट दे।
अगर P99 > 500ms या एरर रेट > 1%, तो ऑप्टिमाइजेशन की जरूरत मार्क करो।
लोड टेस्टिंग स्क्रिप्ट अपने आप से शून्य से लिखने में आधा दिन लगता है। यह Prompt तुम्हें प्रोडक्शन-लेवल कॉन्फिग सीधा देता है, एनालिसिस स्क्रिप्ट भी शामिल है।

टेस्ट जेनरेशन: OpenClaw vs Copilot

दोनों टेस्ट्स जेनरेट कर सकते हैं, पर क्वालिटी में काफी फर्क है।

OpenClaw
  • पूरी फंक्शन लॉजिक और ब्रांच पाथ्स को एनालाइज करता है, एज केस्स पूरी तरह कवर होते हैं
  • क्रॉस-फाइल डिपेंडेंसीज को समझता है, mock्स सही बनते हैं
  • स्पेसिफिक कवरेज टार्गेट्स सेट कर सकते हो, अगर नहीं पहुँचे तो मोर टेस्ट्स जोड़ेगा
  • E2E, लोड टेस्टिंग जैसे कॉम्प्लेक्स सीन्स के लिए कंप्लीट स्क्रिप्ट्स जेनरेट करता है
VS
Copilot
  • सिर्फ करंट फाइल के हिसाब से जेनरेट करता है, क्रॉस-फाइल डिपेंडेंसीज मिस कर सकते हैं
  • ज्यादातर happy path टेस्ट्स जेनरेट करता है, एज केस्स कवरेज कम होती है
  • Mock अक्सर मैनुअली फिक्स करने पड़ते हैं
  • कॉम्प्लेक्स टेस्टिंग सीन्स (E2E, लोड टेस्टिंग) के लिए सपोर्ट सीमित है

रीयल सीन: लॉन्च से पहले आखिरी मिनट में टेस्ट्स जोड़ना

शुक्रवार को शाम 4 बजे, बॉस कहता है - आज रात को लॉन्च करना है
नया फीचर 2 हफ्ते में डेवलप हुआ, पर टेस्ट कवरेज सिर्फ 20% है। QA कहता है कम से कम 70% चाहिए तब sign off करूँगा। तुम्हारे पास 3 घंटे हैं।
OpenClaw
कोर मॉड्यूल्स को OpenClaw को दे दो, एक Prompt से कंप्लीट टेस्ट सूट तैयार हो जाता है। यह अपने आप एनालाइज करता है कि कौन-कौन से ब्रांचेस कवर नहीं हैं, एज टेस्ट्स और एक्सेप्शन हैंडलिंग जोड़ता है। 3 घंटों में 80% कवरेज पा लो, QA खुश हो जाता है।
मैनुअल टेस्टिंग
टेस्ट्स लिखने की फैरीज़ी शुरू कर दो, पर डिपेंडेंसीज को समझने में ही 1 घंटा लग जाता है। Mock 3 बार गलत बनता है, टेस्ट्स रन नहीं होती। आखिर में कवरेज मुश्किल से 45% पहुँचता है, QA pass नहीं करती, रात भर जागना पड़ता है।

कुछ प्रैक्टिकल टिप्स

💡 टेस्ट्स जेनरेट करने के बाद, पहले एक बार रन करके देख कि पास हो रहे हैं। अगर कुछ फेल हो तो एरर मेसेज को OpenClaw को दे, यह फिक्स कर देगा।
🎯 एक ही बार में सभी टेस्ट्स न बना। मॉड्यूल्स में बाँटकर बनाया करो। हर बार एक फाइल पर फोकस करो, टेस्ट क्वालिटी बेहतर होगी।
टेस्ट जेनरेशन के लिए Claude Opus 4.6 सबसे अच्छा काम करता है, खासकर कॉम्प्लेक्स बिजनेस लॉजिक के लिए। सिंपल यूटिलिटी फंक्शन्स के लिए DeepSeek V3.2 भी ठीक है, कीमत भी कम है।
क्या ये केस आपके काम आया?