<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Testing | The .NET Blog</title><link>https://thedotnetblog.com/hi/tags/testing/</link><description>Articles, tutorials and insights from the .NET community.</description><generator>Hugo</generator><language>hi</language><managingEditor>@thedotnetblog (The .NET Blog)</managingEditor><webMaster>@thedotnetblog</webMaster><lastBuildDate>Sat, 30 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://thedotnetblog.com/hi/tags/testing/index.xml" rel="self" type="application/rss+xml"/><item><title>Aspire के हर्मेटिक एंड-टू-एंड टेस्ट वह पैटर्न हैं जिसे और टीमों को अपनाना चाहिए</title><link>https://thedotnetblog.com/hi/news/emiliano-montesdeoca/hermetic-aspire-tests-why-this-pattern-matters/</link><pubDate>Sat, 30 May 2026 00:00:00 +0000</pubDate><author>Emiliano Montesdeoca</author><guid>https://thedotnetblog.com/hi/news/emiliano-montesdeoca/hermetic-aspire-tests-why-this-pattern-matters/</guid><description>Azure Chaos Studio का यह लेख एक बहुत ही व्यावहारिक पैटर्न दिखाता है: Aspire-आधारित, हर्मेटिक, अस्थायी एंड-टू-एंड वातावरण, जो लोगों और AI-सहायित विकास दोनों के लिए विश्वसनीयता बेहतर बनाते हैं।</description><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;इस लेख का स्वचालित रूप से अनुवाद किया गया है। मूल संस्करण के लिए, &lt;a href="https://thedotnetblog.com/hi/news/emiliano-montesdeoca/hermetic-aspire-tests-why-this-pattern-matters/"&gt;यहां क्लिक करें&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;फ्लैकी एंड-टू-एंड टेस्ट उस तरह महंगे होते हैं जो हमेशा डैशबोर्ड पर दिखाई नहीं देता।&lt;/p&gt;
&lt;p&gt;वे सिर्फ़ फेल नहीं होते। वे धीरे-धीरे टीम को फ़ीडबैक लूप पर भरोसा करना बंद करने के लिए प्रशिक्षित करते हैं।&lt;/p&gt;
&lt;p&gt;यही कारण है कि &lt;strong&gt;Azure Chaos Studio + Aspire&lt;/strong&gt; वाला यह लेख मुझे तुरंत पसंद आया। यह कोई चमकदार प्रोडक्ट घोषणा नहीं है। यह एक ठोस इंजीनियरिंग कहानी है कि एंड-टू-एंड टेस्ट को किस तरह भाग्य से जूझने जैसी चीज़ महसूस होने से रोका जाए।&lt;/p&gt;
&lt;p&gt;और सच कहूं? मुझे लगता है कि और टीमों को यह पैटर्न अपनाना चाहिए।&lt;/p&gt;
&lt;h2 id="मल-वचर-सरल-ह-लकन-फयद-बहत-बड-ह"&gt;मूल विचार सरल है, लेकिन फायदा बहुत बड़ा है&lt;/h2&gt;
&lt;p&gt;मुख्य चाल यह है कि हर टेस्ट को उसका अपना &lt;strong&gt;हर्मेटिक, अस्थायी वातावरण&lt;/strong&gt; दिया जाए, जिसमें असली सेवाएं, असली निर्भरताएं और स्पष्ट, health-आधारित स्टार्टअप हो।&lt;/p&gt;
&lt;p&gt;एक वाक्य में पढ़ने पर यह साफ लगता है। असल सिस्टम में यह कहीं ज्यादा कठिन है, खासकर जब क्लाउड डिपेंडेंसी, साझा वातावरण और वितरित सेवाएं सामने आती हैं।&lt;/p&gt;
&lt;p&gt;मूल लेख समस्या को बहुत साफ ढंग से बताता है: साझा टेस्ट वातावरण &amp;ldquo;&lt;strong&gt;क्रॉस-टॉक, फ्लेक, और &amp;lsquo;staging किसने तोड़ा?&amp;rsquo; वाले ग्रुप चैट संदेशों&lt;/strong&gt;&amp;rdquo; को काम करने की लागत बना देते हैं।&lt;/p&gt;
&lt;p&gt;यह लाइन मज़ेदार है क्योंकि यह बहुत हद तक सच है।&lt;/p&gt;
&lt;p&gt;बहुत सी टीमें इस समझौते को सामान्य मान लेती हैं। मुझे नहीं लगता कि उन्हें ऐसा करना चाहिए।&lt;/p&gt;
&lt;h2 id="यह-पटरन-टसटग-स-आग-कय-मयन-रखत-ह"&gt;यह पैटर्न टेस्टिंग से आगे क्यों मायने रखता है&lt;/h2&gt;
&lt;p&gt;मुझे यहां सबसे ज़्यादा यह बात पसंद है कि लेख सिर्फ यह नहीं कहता: &amp;ldquo;हमने अपने टेस्ट अधिक विश्वसनीय बना दिए&amp;rdquo;।&lt;/p&gt;
&lt;p&gt;यह वास्तव में इससे बड़ा कुछ कहता है:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;अगर आपका वितरित सिस्टम पुन: उत्पन्न करना, अलग करना, और सत्यापित करना मुश्किल है, तो आपका पूरा इंजीनियरिंग लूप धीमा हो जाएगा।&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;यह सिर्फ CI को प्रभावित नहीं करता।&lt;/p&gt;
&lt;p&gt;यह असर डालता है:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;डेवलपर्स कितने आत्मविश्वास से refactor करते हैं&lt;/li&gt;
&lt;li&gt;regressions कितनी जल्दी diagnose होते हैं&lt;/li&gt;
&lt;li&gt;बड़े architectural बदलाव कितनी सुरक्षित तरह से आज़माए जा सकते हैं&lt;/li&gt;
&lt;li&gt;automated validation पर टीम कितना भरोसा करती है&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;और 2026 में यह इस बात को भी प्रभावित करता है कि AI-सहायित विकास कितना उपयोगी हो सकता है।&lt;/p&gt;
&lt;h2 id="पसट-क-सबस-महतवपरण-उदधरण"&gt;पोस्ट का सबसे महत्वपूर्ण उद्धरण&lt;/h2&gt;
&lt;p&gt;लेख में एक पंक्ति है जिसे मुझे लगता है कि दोहराया जाना चाहिए:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;&lt;strong&gt;Agents को perfect होने की ज़रूरत नहीं है। उन्हें checkable होना चाहिए।&lt;/strong&gt;&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;यह बहुत अच्छा framing है।&lt;/p&gt;
&lt;p&gt;लोग काफी समय इस बात पर बहस करते हैं कि क्या AI coding agents गैर-तुच्छ काम में मदद करने के लिए पर्याप्त विश्वसनीय हैं। मुझे लगता है बेहतर सवाल यह है कि &lt;strong&gt;क्या हमारे सिस्टम उस काम को सही तरीके से आंकने के लिए पर्याप्त testable हैं&lt;/strong&gt;।&lt;/p&gt;
&lt;p&gt;अगर कोई agent एक meaningful refactor सुझाता है और आपकी एकमात्र safety signal एक shared environment पर चलने वाले fragile, semi-random end-to-end checks का ढेर है, तो समस्या सिर्फ agent में नहीं है।&lt;/p&gt;
&lt;p&gt;समस्या आपके validation model में है।&lt;/p&gt;
&lt;p&gt;यह Aspire पैटर्न इसे काफी बेहतर बनाता है।&lt;/p&gt;
&lt;h2 id="इस-implementation-क-खस-तर-पर-अचछ-कय-बनत-ह"&gt;इस implementation को खास तौर पर अच्छा क्या बनाता है&lt;/h2&gt;
&lt;p&gt;मूल कहानी के कई हिस्से इसे सिर्फ &amp;ldquo;हमने अपने टेस्ट सुधार दिए&amp;rdquo; वाले धुंधले पोस्ट से कहीं आगे ले जाते हैं।&lt;/p&gt;
&lt;h3 id="1-असल-service-graph-fake-theater-नह"&gt;1. असली service graph, fake theater नहीं&lt;/h3&gt;
&lt;p&gt;टेस्ट disconnected mocks के ढेर पर नहीं बने हैं जो end-to-end validation का दिखावा करते हों।&lt;/p&gt;
&lt;p&gt;वे &lt;strong&gt;असल binaries&lt;/strong&gt; चलाते हैं, जहां संभव हो वहां emulators जोड़ते हैं, और वही application model इस्तेमाल करते हैं जो local development में होता है।&lt;/p&gt;
&lt;p&gt;यह मायने रखता है।&lt;/p&gt;
&lt;p&gt;क्योंकि जैसे ही end-to-end tests mock-against-mock theater बन जाते हैं, वे वास्तविक composition के बारे में भरोसेमंद कुछ बताना बंद कर देते हैं।&lt;/p&gt;
&lt;h3 id="2-magical-sleeps-क-बजय-readiness-based-startup"&gt;2. magical sleeps के बजाय readiness-based startup&lt;/h3&gt;
&lt;p&gt;यह हिस्सा जितना दिखता है उससे बड़ा है।&lt;/p&gt;
&lt;p&gt;लेख साफ कहता है कि टेस्ट &lt;code&gt;WaitForResourceHealthyAsync&lt;/code&gt; के साथ असली health का इंतज़ार करते हैं, न कि मनमाने timing guesses पर भरोसा करते हैं।&lt;/p&gt;
&lt;p&gt;यह बहुत बड़ा फर्क है।&lt;/p&gt;
&lt;p&gt;एक टेस्ट suite जो कहता है &amp;ldquo;30 सेकंड सो जाओ और best की उम्मीद करो&amp;rdquo; असल में uncertainty document कर रहा है। जो suite real readiness का इंतज़ार करता है, वह system intent document कर रहा है।&lt;/p&gt;
&lt;h3 id="3-वह-model-local-dev-और-test-दन-चलत-ह"&gt;3. वही model local dev और test दोनों चलाता है&lt;/h3&gt;
&lt;p&gt;मुझे यह बहुत पसंद है क्योंकि यह Aspire की सबसे मजबूत कहानियों के साथ अच्छी तरह बैठता है।&lt;/p&gt;
&lt;p&gt;वही app model चलाता है:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;local development&lt;/li&gt;
&lt;li&gt;service wiring&lt;/li&gt;
&lt;li&gt;emulated dependencies&lt;/li&gt;
&lt;li&gt;health checks&lt;/li&gt;
&lt;li&gt;hermetic test orchestration&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;इससे drift कम होता है, और drift भरोसे के सबसे खामोश killers में से एक है।&lt;/p&gt;
&lt;h2 id="डवलपर-अनभव-म-ऐस-नवश-कम-आक-जत-ह"&gt;डेवलपर अनुभव में ऐसा निवेश कम आंका जाता है&lt;/h2&gt;
&lt;p&gt;मैं चाहता था कि यह पोस्ट सिर्फ़ एक quick reaction से लंबी हो, क्योंकि मुझे लगता है कि इस तरह के engineering सुधारों को अक्सर कम आंका जाता है।&lt;/p&gt;
&lt;p&gt;ये flashy नहीं होते।&lt;/p&gt;
&lt;p&gt;ये नई AI feature की तरह demo नहीं होते।&lt;/p&gt;
&lt;p&gt;और ये हमेशा ऐसा एक स्लाइड भी नहीं बनाते जो executives को उत्साहित कर दे।&lt;/p&gt;
&lt;p&gt;लेकिन समय के साथ ये कुछ बहुत कीमती बनाते हैं: &lt;strong&gt;एक ऐसी टीम जो quality के बारे में खुद से झूठ बोले बिना तेज़ी से आगे बढ़ सकती है&lt;/strong&gt;।&lt;/p&gt;
&lt;p&gt;यह बड़ी बात है।&lt;/p&gt;
&lt;p&gt;लेख में कहा गया है कि वे अब लगभग &lt;strong&gt;90 hermetic tests&lt;/strong&gt; चलाते हैं, जिनमें zone outage, DNS failure, और geo-replication failure जैसे scenarios शामिल हैं। यह सिर्फ बेहतर test hygiene नहीं है। यह distributed platform के लिए बहुत मजबूत confidence model है।&lt;/p&gt;
&lt;h2 id="अगर-म-कई-distributed-net-system-चल-रह-हत-त-म-इसस-कय-लत"&gt;अगर मैं कोई distributed .NET system चला रहा होता तो मैं इससे क्या लेता&lt;/h2&gt;
&lt;p&gt;अगर आप आज distributed services, Aspire, और CI/CD pipelines के साथ काम कर रहे हैं, तो मैं इससे तुरंत ये बातें लेता:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;shared environments की flakiness को normal मानना बंद करें&lt;/li&gt;
&lt;li&gt;जहाँ संभव हो health-based startup gates पर जाएं&lt;/li&gt;
&lt;li&gt;AppHost को production-grade orchestration code मानें&lt;/li&gt;
&lt;li&gt;ऐसे end-to-end checks बनाएं जो services की composition को validate करें, सिर्फ individual service correctness को नहीं&lt;/li&gt;
&lt;li&gt;अगर आप AI-assisted development अपना रहे हैं, तो automation breadth के पीछे भागने से पहले &lt;strong&gt;checkability&lt;/strong&gt; में निवेश करें&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;यही आख़िरी बिंदु है जिसे और टीमों को सुनना चाहिए।&lt;/p&gt;
&lt;h2 id="मर-रय"&gt;मेरी राय&lt;/h2&gt;
&lt;p&gt;यह इस बैच के सबसे मजबूत Aspire posts में से एक है क्योंकि यह एक बहुत व्यावहारिक समस्या को हल करता है।&lt;/p&gt;
&lt;p&gt;यह आपको abstraction से impress करने की कोशिश नहीं करता। यह दिखाता है कि end-to-end tests को एक real distributed system में अधिक deterministic, अधिक useful, और अधिक trustworthy कैसे बनाया जाए।&lt;/p&gt;
&lt;p&gt;और जैसे ही agent-assisted development से इसका संबंध दिखता है, यह पैटर्न और भी convincing हो जाता है।&lt;/p&gt;
&lt;p&gt;अगर आपका end-to-end test story अभी भी shared environments, hidden setup knowledge, और थोड़ी प्रार्थना पर निर्भर है, तो यह देखने लायक है।&lt;/p&gt;
&lt;p&gt;Original post: &lt;a href="https://devblogs.microsoft.com/aspire/hermetic-aspire-tests-chaos-studio/"&gt;How Azure Chaos Studio ships with hermetic Aspire end-to-end tests&lt;/a&gt;&lt;/p&gt;</content:encoded></item></channel></rss>