كيف تُولَّد مجموعة بيانات اصطناعية ضخمة للاختبار؟
من ثلاثة قرارات: الشكل (الحقول وأنواعها والصيغة — JSON أو CSV أو SQL أو XML)، والحجم (صفوف تكفي لتفعيل الترقيم والفهارس وحدود الاستيراد)، والتنوع (القيم الحدّية والقيم الفارغة والتكرارات والمحارف الخاصة والصف المشوّه العابر الذي يحتويه أي تصدير حقيقي). والبذرة العشوائية الثابتة تجعل المجموعة قابلة لإعادة الإنتاج، فيمكن إعادة تشغيل الاختبار الفاشل على الصفوف نفسها. وقواعد الصيغ مهمة عند الحجم الكبير: حقول CSV التي تحوي فواصل أو علامات اقتباس أو فواصل أسطر يجب اقتباسها كما يصف RFC 4180، ومستند JSON واحد ضخم يتصرف بشكل مختلف تماماً عن الصفوف نفسها بصيغة JSON Lines.
اقرأ الدليل: ما هو اختبار الأداء؟
كيفية استخدام مولّد مجموعات الأرقام العشرية
- حدّد النطاق والدقة والنمط.
- أبقِ الحالات الحدّية مفعّلة لاختبار التقريب والتحليل.
- اضغط «توليد» (Generate) وصدّر النتيجة.
مزايا مولّد مجموعات الأرقام العشرية
- أرقام عشرية بدقة ثابتة (0–10 منازل) في أي نطاق
- أنماط عادية أو عملة (مجمّعة مع رمز العملة) أو علمية؛ بفاصلة عشرية نقطية أو فاصلة
- 27 حالة حدّية للتقريب والدقة (0.1 + 0.2، و2.675، والتقريب النصفي إلى الزوجي، و2^53 + 1، والأرقام العربية-الهندية، والسداسي العشري، وNaN…)
- القيم تُصدَر كسلاسل نصية حتى يبقى التنسيق بعد التصدير
- قابل للتوليد ببذرة (seed)؛ مع إخراج بصيغة JSON أو CSV أو SQL أو XML أو JSON Lines أو قيمة في كل سطر
مثال على مولّد مجموعات الأرقام العشرية
مبالغ بالعملة مع حالات حدّية
الإدخال:
Range 0–10000 · Decimals: 2 · Style: Currency · Currency: SAR · Edge cases: onالنتيجة:
value,note
0.30000000000000004,0.1 + 0.2 in IEEE-754 double
2.675,Rounds to 2.67 (binary) instead of 2.68 with half-up
SAR 1,234.50,الأسئلة الشائعة حول مولّد مجموعات الأرقام العشرية
ما حالات التقريب الحدّية المشمولة؟
0.1 + 0.2، و2.675 و1.005 (مصائد التقريب الثنائي)، وحالات التقريب النصفي إلى الزوجي (0.5 و1.5 و2.5)، والصفر السالب، و2^53 + 1، ومقادير صغيرة جداً وكبيرة جداً، والفواصل العشرية، والأرقام العربية-الهندية.
لماذا تُصدَر القيم كسلاسل نصية؟
حتى يبقى التنسيق بعد كل تصدير: تُحفظ الأصفار اللاحقة وفواصل الآلاف وبادئات العملات والفاصلة العشرية تماماً كما هي.
هل يمكنني إنتاج مبالغ بالعملة؟
نعم — يضيف نمط العملة التجميع ورمز العملة (SAR 1,234.50)؛ بينما يُصدر النمط العلمي ترميز الأس.
المراجع
- RFC 4180: Common Format and MIME Type for Comma-Separated Values (CSV) Filesقواعد CSV الشائعة: الفاصلة كفاصل، ونهايات الأسطر CRLF، وتحويط الحقول التي تحتوي فواصل أو علامات اقتباس أو أسطر جديدة.
- RFC 8259: The JavaScript Object Notation (JSON) Data Interchange Formatقواعد JSON: الكائنات والمصفوفات والنصوص والأرقام والقيم الثلاث الثابتة، وUTF-8 كترميز للتبادل.
- JSON Linesاتفاقية JSON Lines: قيمة JSON كاملة في كل سطر، بترميز UTF-8 وفواصل "\n" وامتداد .jsonl.
- Personal Data Protection Law (English translation)النظام السعودي لحماية البيانات الشخصية — ولماذا ينبغي أن تستخدم بيئات الاختبار بيانات اصطناعية بدلاً من نسخ سجلات العملاء الحقيقية.