GH GambleHub

कर्नेल परीक्षण रणनीति

1) सिद्धांत

पिरामिड-ट्रॉफी संतुलन। आधार - त्वरित मॉड्यूलर और अनुबंध परीक्षण; उपर्युक्त घटक और एकीकरण; शीर्ष पर न्यूनतम लेकिन मूल्यवान ई 2 ई परत है।

शिफ्ट-लेफ्ट। पहले हम दोष (लिंटर, स्थिर विश्लेषण, संपत्ति-आधारित), सस्ता पकड़ ते हैं।

डिजाइन द्वारा निर्धारक। हम समय, नेटवर्क, यादृच्छिक और बाहरी निर्भरता का प्रबंधन करते हैं।

गुणवत्ता अर्थशास्त्र कोई भी परीक्षण "बीमा" है: लक्ष्य कुल लागत (दोष + परीक्षण रखरखाव) को कम करना है।

जोखिम अभिविन्यास। कवरेज व्यावसायिक आक्रमणकारियों और प्रोटोकॉल (अनुबंध, मूर्तिकला, स्थिरता) पर केंद्रित है।

2) परीक्षण के स्तर और जिम्मेदारी के क्षेत

2. 1 इकाई (मॉड्यूलर)

I/O के बिना शुद्ध तर्क जाँचें।

हम केवल सीमाओं (पोर्ट/एडाप्टर) को गीला करते हैं, हम डेटा के लिए कारखानों का उपयोग करते हैं।

फास्ट (≤50 -100 एमएस/टेस्ट), समानांतर।

2. 2 अनुबंध (आपूर्तिकर्ता ↔ उपभोक्ता)

सेवाओं के बीच एपीआई संविदाओं (एचटीटीपी/जीआरपीसी/घटना) को ठीक करें।

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

एकीकरण e2e की नाजुकता को कम करें।

2. 3 घटक (मॉड्यूल के ऊपर, वास्तविक भंडारण के साथ)

हम एक कंटेनर (टेस्टकंटेनर) में वास्तविक डेटाबेस/कैश के साथ सेवा का हिस्सा लॉन्च करते हैं।

हम स्कीमा माइग्रेशन, इंडेक्स, लेनदेन, ताले को मान्य करते हैं।

2. 4 एकीकरण/सिस्टम (सेवाओं के बीच अंत-से-अंत पथ)

हम एक अलग वातावरण में सेवाओं का एक सेट उठाते हैं।

हम एंड-टू-एंड इनवेरिएंट्स की जांच करते हैं: लेन-देन, रेट्राई, आइडेम्पोटेंसी, त्रुटि हैंडलिंग।

2. 5 E2E (न्यूनतम "मूल्यवान" परत)

वास्तविक प्रोटोकॉल और पर्यावरण "बिक्री की तरह", लेकिन एक सीमित परिदृश्य सेट: भुगतान पुष्टि - पोस्टिंग; पंजीकरण → सत्यापन → प्रविष्टि।

हम रिलीज और प्रतिगमन के लिए उच्च जोखिम वाली सुविधाओं का उपयोग करते

3) परीक्षण योग्य वास्तुकला

पोर्ट्स/एडाप्टर्स (हेक्सागोनल)। बिजनेस कर्नेल को HTTP/SQL के बारे में पता नहीं है; निर्भरता को इंटरफेस के माध्यम से लागू किया जाता है।

समय का इंजेक्शन/यादृच्छिक। 'घड़ी', 'यादृच्छिक' - निर्भरता; परीक्षणों में हम ठीक करते हैं।

कॉन्फ़िगर करने योग्य I/O अमूर्त। कतारें, डीबी, केएमएस - परीक्षण कार्यान्वयन के साथ इंटरफेस के माध्यम से।

कार्यात्मक अपरिवर्तनीय। हम स्पष्ट रूप से पोस्टकंडिशन तैयार करते हैं और भविष्यवाणी करते हैं - वे परीक्षण और निगरानी करना आसान हैं।

4) परीक्षणों के लिए डेटा

स्थिर JSON जुड़ नार के बजाय कारखाने/बिल्डर्स: कम नाजुकता।

परीक्षण से पहले पहचाने गए बीज और हुक डीबी रीसेट (माइग्रेशन → ट्रंकेट → बीज)।

केस कैटलॉग: "मानदंड", "किनारों", "त्रुटियां", "अराजकता"।

वास्तविक पीडी के बजाय सिंथेटिक्स: जनरेटर, मास्किंग, गोपनीयता प्रोफाइल।

5) प्रतियोगिता और पहचान

दौड़ परीक्षण: प्रतिस्पर्धी प्रविष्टियाँ/भंडार/ताले।

पहचान कुंजियों की जाँच (उदाहरण के लिए, '(ऑपरेशन, external_id)'): बार-बार कॉल करने से स्थिति नहीं बदलती.

रेट्राई और टाइमआउट: हम अस्थायी त्रुटियों के मामले में शुद्धता की गारंटी देते हैं।

स्यूडोकोड (पहचान):

dedupe_key = hash(op + external_id)
if exists(executions, dedupe_key): return previous_result else:
reserve(dedupe_key)
result = do_operation()
store(executions, dedupe_key, result)
return result

6) समय, समय, समय क्षेत्र

सभी संग्रहीत समय यूटीसी हैं; परीक्षणों में हम ' Clock' का उपयोग करते हैं।

हम डीएसटी मामलों (डुप्लिकेट/घड़ीमिस), "स्थानीय दिन" खिड़कियों का परीक्षण करते हैं।

हम एक मोनोटोनिक घड़ी के साथ टाइमआउट की जाँच करते हैं; एनटीपी जिटर का अनुकरण करें।

7) लचीलापन और अराजकता

फॉल्ट-इंजेक्शन: नेटवर्क त्रुटियां, 5xx, देरी, आंशिक गिरावट (कैश अनुपलब्ध)।

पूर्व-प्रोड वातावरण में अराजकता परीक्षण: नोड्स को डिस्कनेक्ट करना, ओवरलोडिंग कतारें, बीजीपी/एनीकास्ट (अनुकरण) को तोड़ ना।

फॉलबैक नीतियां और यूएक्स गिरावट: परीक्षणों को सही "सुंदर गिरावट" की पुष्टि करनी चाहिए।

8) प्रदर्शन

महत्वपूर्ण एल्गोरिदम के लिए माइक्रो बेंचमार्क (सीपीयू/एलोक निर्धारण के साथ)।

लोड प्रोफाइल: मेमोरी लीक के लिए बेसलाइन (p50/p95), तनाव (पीक), विस्तारित (सोक)।

Regress गेट्स: बिल्ड विफल रहता है यदि p95 विलंबता बेसलाइन> X% से भी बदतर है।

9) सुरक्षा और अनुपालन

SAST/Lint: कमजोरियों/एंटीपैटर्न की खोज करें।

DAST/IAST: स्टैंड पर बुनियादी परिदृश्य (XSS/SQLi/SSRF नमूने)।

सीक्रेट-स्कैन: कोड और कलाकृतियों में कोई कुंजी/पासवर्ड नहीं।

गोपनीयता परीक्षण: लॉग/ट्रेस में पीडी की कमी, "सहमति प्रबंधन" के अनुपालन, अपलोड के लिए गुमनामी प्रोफाइल।

10) गुणवत्ता और एसएलओ मैट्रिक्स

टेस्ट पास दर और परतदार सूचकांक।

कवरेज-लक्षित:
  • क्रिटिकल कर्नेल मॉड्यूल के लिए 90-100%,
  • परिधि के लिए 70-80% (अपरिवर्तनों पर ध्यान केंद्रित करने के साथ)।
  • रिलीज़ जोखिम स्कोर: समग्रता: महत्वपूर्ण फ़ाइलों × गिरते बेंचमार्क × नई परतदार में परिवर्तन।
  • गलत बजट: प्रयोगों और रिलीज़ आवृत्ति के साथ प्रोड-एसएलओ (अपटाइम/त्रुटियों) का एक संयोजन।

11) सीआई/सीडी और गेट्स

स्टेज मैट्रिक्स:

1. लिंट/प्रारूप/टाइपचेक

2. इकाई + संपत्ति आधारित

3. संविदा प्रदाता/उपभोक्ता

4. घटक (Testconteners)

5. एकीकरण + पर्फ धुआं

6. सुरक्षा (SAST/रहस्य)

7. बिल्ड/पैकेज + SBOM

8. प्री-प्रोड + e2e + अराजकता के धुएं में तैनात करें

गेट्स: गिरते अनुबंध, बढ़ ती विलंबता, नई महत्वपूर्ण कमजोरियों पर रोक।

कैश और शार्डिंग: समानतावाद और वृद्धिशील रन (संशोधित मॉड्यूल के लिए) के कारण पाइपलाइन में तेजी लाएं।

12) परतदार परीक्षण: पता लगाना और उपचार

ऑटोरुन + कोरम (रन के 2/3)।

फ्लाकी पैटर्न डिटेक्टर: समय/यादृच्छिक/निहित अपेक्षाओं पर निर्भरता।

SLA के साथ संगरोध: परीक्षण रिलीज को अवरुद्ध नहीं करता है, लेकिन N दिनों में सही/फिर से लिखा जाना चाहिए।

महत्वपूर्ण मार्ग के "कोर" में फ्लक्स के लिए शून्य सहिष्णुता।

13) संपत्ति-आधारित, उत्परिवर्तन और चरण परीक्षण

संपत्ति-आधारित: हम गुण (कम्यूटेटिविटी, आइडेम्पोटेंसी, मोनोटोनी), सीमा डेटा जनरेटर तैयार करते हैं।

उत्परिवर्तन परीक्षण: हम परीक्षणों की "ताकत" को मापते हैं (क्या वे परिचय उत्परिवर्तन को मारते हैं)

फजिंग: प्रोटोकॉल/पार्सर/प्रारूप (JSON, Protobuf, CSV), विशेष रूप से सुरक्षा सीमाओं पर।

उदाहरण गुण (स्यूडोकोड):

prop "serialize/deserialize roundtrip":
forAll(randomModel()):
decode(encode(model)) == model

14) परीक्षणों के साथ अवलोकन और संबंध

टेस्ट ट्रेस (लॉग में ट्रेस-आईडी): प्री-प्रोड में दोहराना सुविधाजनक है।

एक प्रदर्शन रन के दौरान मैट्रिक्स के स्नैपशॉट एक कलाकृति के रूप में संग्रहीत किए जाते हैं।

लॉग कंट्रोल: कोई संवेदनशील क्षेत्र नहीं, SLO के भीतर लॉग आका

15) प्रलेखन और प्रक्रियाएं

टेस्ट हैंडबुक: कौन सा परीक्षण कहां करें, कारखाने कैसे लिखें, अनुबंध कैसे अद्यतन करें।

रनबुक: रीप्ले घटना, त्वरित निदान, रोलबैक जारी करें।

अपरिवर्तनीय सूची: सिस्टम गारंटी की सूची और प्रासंगिक परीक्षणों/अलर्ट के संदर्भ।

16) आर्किटेक्ट चेकलिस्ट

1. कर्नेल आक्रमणकारियों और महत्वपूर्ण रास्तों का वर्णन किया गया है?
2. क्या परीक्षण स्तरों और उनके एसएलओ (समय, स्थिरता) का कोई मैट्रिक्स है?
3. आपूर्तिकर्ता और उपभोक्ता पर सीआई में संविदाओं को सत्यापित और मान्य किया जाता है?
4. परीक्षणों में नियंत्रित समय/यादृच्छिक/नेटवर्क ( Clock, दोष-इंजेक्टर)?
5. कॉन्फ़िगर किए गए टेस्टकंटेनर/पृथक डाटाबेस, माइग्रेशन जांच रहे हैं?
6. क्या प्रदर्शन बेसलाइन और रिग्रेशन गेट हैं?
7. क्या SAST/सीक्रेट-स्कैन और प्राइवेसी लॉग चेक सक्षम हैं?
8. परतदार दर्ज किया जा रहा है और क्या सुधार के लिए एसएलए है?
9. क्या परीक्षण और प्रोड-एसएलओ और गलत बजट पारदर्शी के बीच संबंध है?
10. क्या रनबुक और अपरिवर्तनीय कैटलॉग प्रलेखित हैं?

निष्कर्ष

कर्नेल परीक्षण रणनीति उपकरण की सूची नहीं है, बल्कि एक वास्तुशिल्प क्षमता है: परीक्षण योग्य डिजाइन, सख्त स्तर पदानुक्रम, प्रबंधित डेटा, गलती सहिष्णुता और सीडी में निर्मित मैट्रिक्स। वर्णित प्रथाओं के बाद, टीम तेज और विश्वसनीय प्रतिक्रिया प्राप्त करती है, और रिलीज पूर्वानुमानित और सुरक्षित हो

Contact

हमसे संपर्क करें

किसी भी प्रश्न या सहायता के लिए हमसे संपर्क करें।हम हमेशा मदद के लिए तैयार हैं!

Telegram
@Gamble_GC
इंटीग्रेशन शुरू करें

Email — अनिवार्य है। Telegram या WhatsApp — वैकल्पिक हैं।

आपका नाम वैकल्पिक
Email वैकल्पिक
विषय वैकल्पिक
संदेश वैकल्पिक
Telegram वैकल्पिक
@
अगर आप Telegram डालते हैं — तो हम Email के साथ-साथ वहीं भी जवाब देंगे।
WhatsApp वैकल्पिक
फॉर्मैट: देश कोड और नंबर (उदा. +91XXXXXXXXXX)।

बटन दबाकर आप अपने डेटा की प्रोसेसिंग के लिए सहमति देते हैं।