
वितरित-सिस्टम परीक्षण के लिए AI-एजेंट कौशल
दो कौशल जो एक AI कोडिंग एजेंट को उन प्रणालियों के लिए सार्थक परीक्षण डिज़ाइन करने, उन्हें चलाने, और परिणामों की व्याख्या करने में मदद करते हैं जो डेटा संग्रहीत करती हैं या कई प्रक्रियाओं या मशीनों पर चलती हैं।
एक उत्पाद वादे से शुरू करें—जैसे "एक बार सहेजना सफल हो जाने के बाद, पुनः आरंभ के बाद भी डेटा वहीं रहता है"—और इसे ऐसे परीक्षणों में बदलें जिन्हें आपका एजेंट चला और जाँच सके। इन कौशलों का उपयोग डेटाबेस, कतारों (queues), वर्कफ़्लो इंजन, और उन सेवाओं के लिए करें जहाँ पुनःप्रयास, एक साथ आने वाले अनुरोध, या विफलताएँ डेटा खो सकती हैं या डुप्लिकेट कर सकती हैं। एक ही मशीन पर चलने वाली सेवा को भी लाभ हो सकता है।
आपको परीक्षण विशेषज्ञ होने की आवश्यकता नहीं है। सुविधा और यह बताएं कि क्या सत्य रहना चाहिए; डिज़ाइन कौशल परीक्षण चुनने और यह समझाने में मदद करता है कि वे क्यों महत्वपूर्ण हैं।
कौशल Markdown निर्देश, टेम्पलेट, और संदर्भ सामग्री हैं। आपका कोडिंग एजेंट आपके प्रोजेक्ट के परीक्षण उपकरणों और रनटाइम का उपयोग करके उनका पालन करता है। यह रिपॉज़िटरी कोई डेटाबेस परीक्षण रनर या तैयार क्लस्टर बंडल नहीं करती है।
| कौशल | इसे दें | यह उत्पन्न करता है |
|---|---|---|
| परीक्षण डिज़ाइन करें | एक कोडबेस और वह परिवर्तन या सुविधा जिसे आप परीक्षण करना चाहते हैं | एक योजना जो बताती है कि क्या परीक्षण करना है, इसे कैसे जाँचना है, और कितना परीक्षण करना है |
| परीक्षण निष्पादित करें | एक योजना और एक परीक्षण वातावरण | परिणाम, सहायक लॉग और डेटा, विफलताओं को पुनःउत्पन्न करने के चरण, और एक रिपोर्ट |
आप डिज़ाइन कौशल को अकेले उपयोग कर सकते हैं। निष्पादन एक अलग चरण है जो सहेजी गई योजना को पढ़ता है, इसलिए आप इसे चलाने से पहले कार्य और उसकी लागत की समीक्षा कर सकते हैं।
त्वरित शुरुआत, Codex सेटअप, या परीक्षण वातावरण गाइड से शुरू करें।
इसे अपने कोडिंग एजेंट में पेस्ट करें:
Read https://raw.githubusercontent.com/shenli/distributed-system-testing/main/INSTALL.md
and follow the instructions to install or update
distributed-testing-skills for this agent.
इंस्टॉलेशन गाइड ~/.local/share/distributed-testing-skills/ पर एक साझा चेकआउट का उपयोग करता है और आपके एजेंट के लिए पॉइंटर्स या सिमलिंक कॉन्फ़िगर करता है। अपडेट करने के लिए उसी प्रॉम्प्ट का पुनः उपयोग करें। नीचे दिए गए प्रॉम्प्ट्स में स्पष्ट पथ आपको स्वचालित खोज के बिना भी एक स्किल लोड करने की सुविधा देते हैं। यदि आपने कोई भिन्न स्थान चुना है तो अपने इंस्टॉल पथ को प्रतिस्थापित करें।
Claude Code के लिए, रिपॉज़िटरी में एक प्लगइन इंस्टॉलेशन विकल्प भी शामिल है:
/plugin marketplace add shenli/distributed-system-testing
/plugin install distributed-testing-skills@distributed-testing-skills
अपने एजेंट को उस रिपॉज़िटरी में शुरू करें जिसे आप परीक्षण करना चाहते हैं। किसी विशिष्ट परिवर्तन के लिए:
Use ~/.local/share/distributed-testing-skills/skills/designing-distributed-system-tests/SKILL.md
Design a test plan for the current branch's changes to adding log entries,
retrying failed requests, and recovering after a crash.
Reuse the existing tests and setup instructions.
Save the plan to docs/testing-plans/append-recovery.md.
उदाहरण सुविधा को अपनी सुविधा से बदलें। व्यापक समीक्षा के लिए, एक परियोजना-व्यापी योजना माँगें और शामिल करने के लिए भागों के नाम बताएं। वह मोड एकल परिवर्तन के बजाय सिस्टम भर में मौजूदा परीक्षणों की समीक्षा करता है और अनुपलब्ध कवरेज की पहचान करता है।
जिन वादों की जाँच की जा रही है, प्रस्तावित परीक्षणों, आवश्यक उपकरणों और रन टाइम की समीक्षा करें। दस्तावेज़ीकरण में एक टाइपो या इसी तरह के कम-प्रभाव वाले परिवर्तन के लिए वितरित परीक्षण योजना के बजाय हल्के-वजन की परीक्षण सिफ़ारिश मिलनी चाहिए।
Use ~/.local/share/distributed-testing-skills/skills/executing-distributed-system-tests/SKILL.md
Run the small initial checks (the smoke tier) from
docs/testing-plans/append-recovery.md against this project's local test
environment. Keep temporary test scripts and results under
./test-sessions/. Use default mode; do not modify project source files.
Report what ran, what failed, and what remains untested.
निष्पादन कौशल मौजूदा टूल्स की खोज करता है, पूछता है कि आपके परिवेश में क्या उपलब्ध है, फिर आवश्यकताओं को सत्यापित करता है। अनुपलब्ध निर्भरताओं या अप्रभावी सिम्युलेटेड विफलताओं को सफल परीक्षणों के रूप में चुपचाप गिनने के बजाय रिपोर्ट किया जाना चाहिए। छोटी शुरुआत करें, फिर योजना में परिभाषित लंबे, अधिक गहन रन का अनुरोध करें।
विस्तृत प्रॉम्प्ट, कस्टम आउटपुट पथ और लेखक मोड के लिए USAGE.md देखें।
ऊपर दिया गया इंस्टॉलेशन प्रॉम्प्ट Codex में चलाएँ। गाइड साझा चेकआउट से दोनों स्किल
फ़ोल्डरों को ~/.agents/skills/ में लिंक करता है, जहाँ Codex उन्हें खोजता है।
केवल-प्रोजेक्ट इंस्टॉलेशन के लिए, उस प्रोजेक्ट के .agents/skills/ का उपयोग करें।
ये स्थान और सिमलिंक समर्थन
आधिकारिक Codex स्किल्स दस्तावेज़ीकरण में वर्णित हैं।
जिस प्रोजेक्ट का आप परीक्षण करना चाहते हैं उसे खोलें। Codex CLI या IDE एक्सटेंशन में,
यह जाँचने के लिए कि दोनों स्किल दिखाई देते हैं, /skills का उपयोग करें, या किसी एक को
चुनने के लिए $ टाइप करें। यदि नव स्थापित स्किल दिखाई नहीं देता है, तो Codex को पुनः
आरंभ करें। आप क्विक स्टार्ट में स्पष्ट फ़ाइल-पथ प्रॉम्प्ट का भी उपयोग कर सकते हैं। देखें
आधिकारिक आह्वान मार्गदर्शन।
उदाहरण के लिए, Codex से एक योजना डिज़ाइन करने के लिए कहें:
$designing-distributed-system-tests
Design a test plan for this project's retry and recovery behavior.
I have Docker locally and can run disposable containers.
Start with normal operation, then simultaneous requests and restarts.
Save the plan to docs/testing-plans/retry-recovery.md.
इसकी समीक्षा करने के बाद, प्रारंभिक परीक्षण चलाएँ:
$executing-distributed-system-tests
Run the smoke tier of docs/testing-plans/retry-recovery.md.
Use default mode and save results under ./test-sessions/.
Docker is available; use the project's documented container setup.
Report any missing tools or permissions and which tests they prevent.
किसी स्किल को इंस्टॉल करना निर्देश प्रदान करता है, Docker, रिमोट एक्सेस, या टेस्ट क्लस्टर नहीं। Codex को उस वातावरण तक पहुँचने में सक्षम होना चाहिए जहाँ कमांड चलेंगे। रिमोट परीक्षण के लिए, इसे टेस्ट होस्ट, आपकी मौजूदा कनेक्शन विधि, और प्रोजेक्ट के सेटअप कमांड दें। यदि पहुँच उपलब्ध नहीं है, तो यह अभी भी योजना तैयार कर सकता है, लेकिन यह नहीं बता सकता कि रिमोट परीक्षण चले।
सबसे छोटा सेटअप उपयोग करें जो आपके प्रश्न का उत्तर दे सके। ये आपके एप्लिकेशन के अनुसार अनुकूलित करने के लिए प्रारंभिक बिंदु हैं, हार्डवेयर आवश्यकताएँ या बंडल किए गए डिप्लॉयमेंट रेसिपी नहीं।
| लक्ष्य | सुझाया गया सेटअप | यह आपको क्या बता सकता है |
|---|---|---|
| शुद्धता बग जल्दी खोजें | आपका लैपटॉप, प्रोजेक्ट का रनटाइम, और डिस्पोजेबल स्थानीय प्रक्रियाएँ या कंटेनर | क्या उस सेटअप में अनुरोध, पुनःप्रयास, लेनदेन, और पुनःआरंभ सही ढंग से व्यवहार करते हैं |
| संस्करणों के बीच प्रदर्शन की तुलना करें | एक शांत, समर्पित टेस्ट मशीन; किसी सेवा को मापते समय अनुरोध भेजने के लिए एक अलग मशीन | क्या कोई परिवर्तन समान परिस्थितियों में गति या संसाधन उपयोग को प्रभावित करता है |
| मशीनों के बीच विफलताओं का परीक्षण करें | अलग टेस्ट होस्ट या VM, प्रति होस्ट एक सर्वर इंस्टेंस, और एक अलग टेस्ट कंट्रोलर | सिस्टम एक सर्वर के बंद होने या सर्वरों के बीच संचार टूटने को कैसे संभालता है |