टेस्टिंग के लिए बड़ा सिंथेटिक डेटासेट कैसे बनाया जाता है?
तीन फ़ैसलों से: आकार (फ़ील्ड, उनके टाइप और फ़ॉर्मेट — JSON, CSV, SQL, XML), आयतन (पेजिनेशन, इंडेक्स और इम्पोर्ट सीमाओं को परखने लायक पंक्तियाँ) और विविधता (बाउंड्री वैल्यू, नल, डुप्लिकेट, विशेष कैरेक्टर और वह इक्का-दुक्का विकृत पंक्ति जो असली एक्सपोर्ट में होती है)। स्थिर रैंडम सीड सेट को दोहराने योग्य बनाता है, ताकि फ़ेल टेस्ट उन्हीं पंक्तियों पर फिर चले। बड़े आयतन पर फ़ॉर्मेट के नियम मायने रखते हैं: कॉमा, कोट या लाइन-ब्रेक वाले CSV फ़ील्ड RFC 4180 के अनुसार कोट होने चाहिए, और एक विशाल JSON दस्तावेज़ उन्हीं पंक्तियों के JSON Lines रूप से बहुत अलग व्यवहार करता है।
गाइड पढ़ें: परफ़ॉर्मेंस टेस्टिंग क्या है?
स्पेशल कैरेक्टर डेटासेट जनरेटर कैसे इस्तेमाल करें
- जो श्रेणियाँ चाहिए उन्हें एक-एक पंक्ति में लिखें (या "all")।
- तय करें कि बहुत लंबी स्ट्रिंग शामिल करनी हैं या नहीं।
- Generate दबाएँ और value कॉलम अपने इनपुट में कॉपी करें।
स्पेशल कैरेक्टर डेटासेट जनरेटर की खूबियाँ
- 18 श्रेणियों में 170 से ज़्यादा चुनी हुई स्ट्रिंग: SQL, HTML/XSS, JSON, path, कंट्रोल कैरेक्टर, RTL/bidi, zero-width, homoglyph, emoji, लंबी, whitespace, संख्यात्मक, format string, template injection, shell, LDAP/NoSQL, XML/XXE और Unicode की विचित्रताएँ
- हर स्ट्रिंग के साथ एक नोट, जो बताता है कि वह क्या जाँचती है
- display कॉलम, जिसमें अदृश्य कैरेक्टर \uXXXX के रूप में दिखते हैं
- वैकल्पिक बहुत लंबी स्ट्रिंग, 65,536 कैरेक्टर तक
- श्रेणी फ़िल्टर और अनजान श्रेणी नामों पर चेतावनी
- JSON, CSV, SQL, XML, JSON Lines या तालिका आउटपुट
स्पेशल कैरेक्टर डेटासेट जनरेटर का उदाहरण
SQL और RTL केस
इनपुट:
Categories: sql, rtlआउटपुट:
category,value,note
sql,' OR '1'='1,Classic tautology
sql,"'; DROP TABLE users; --",Stacked query
rtl,invoice\u202Efdp.exe,RLO file-name spoof (shows as invoiceexe.pdf)स्पेशल कैरेक्टर डेटासेट जनरेटर के बारे में अक्सर पूछे जाने वाले सवाल
naughty string क्या होती है?
ऐसा इनपुट जो सॉफ़्टवेयर को तोड़ने में माहिर होता है: SQL और HTML मेटाकैरेक्टर, JSON escape, path traversal, कंट्रोल कैरेक्टर, bidi override, zero-width कैरेक्टर, homoglyph, emoji अनुक्रम, बहुत लंबी स्ट्रिंग और भी बहुत कुछ।
मैं इस संग्रह का इस्तेमाल कैसे करूँ?
value कॉलम को फ़ॉर्म फ़ील्ड, API payload या फ़ाइल नामों में कॉपी करें और जाँचें कि एप्लिकेशन हर एक को सही तरह escape करता है, ठुकराता है या स्टोर करता है; note कॉलम बताता है कि किस ख़तरे की उम्मीद है।
display कॉलम क्या दिखाता है?
वही स्ट्रिंग, जिसमें अदृश्य कैरेक्टर \uXXXX के रूप में लिखे होते हैं, ताकि आप प्रीव्यू में NUL बाइट, bidi कंट्रोल और zero-width कैरेक्टर देख सकें।
क्या मैं श्रेणी से फ़िल्टर कर सकता हूँ?
हाँ — जो श्रेणियाँ चाहिए उन्हें लिखें (sql, html, json, path, control, rtl, zero-width, homoglyph, emoji, long, whitespace, numeric, format, template, command, ldap, xml, unicode) या "all" लिखें।
संदर्भ
- RFC 4180: Common Format and MIME Type for Comma-Separated Values (CSV) FilesCSV के आम नियम: कॉमा सेपरेटर, CRLF लाइन एंड, और कॉमा, कोट या लाइन ब्रेक वाले फ़ील्ड की क्वोटिंग।
- RFC 8259: The JavaScript Object Notation (JSON) Data Interchange FormatJSON का व्याकरण: ऑब्जेक्ट, ऐरे, स्ट्रिंग, नंबर, तीन लिटरल और इंटरचेंज एन्कोडिंग के रूप में UTF-8।
- JSON LinesJSON Lines परिपाटी: हर लाइन पर एक पूरा JSON वैल्यू, UTF-8, "\n" सेपरेटर, .jsonl एक्सटेंशन।
- Personal Data Protection Law (English translation)व्यक्तिगत डेटा पर सऊदी कानून — टेस्ट वातावरण में असली ग्राहक रिकॉर्ड की प्रतियों के बजाय सिंथेटिक डेटा क्यों इस्तेमाल करना चाहिए।