بيانات اختبار الهوية هي شخص مصنوع، مكتوب بالكامل. إنها اسم وعنوان وتاريخ ميلاد ورقم هوية حكومي ورقم هاتف ومجموعة أصغر من الحقول، مجمعة معا كي تجري البرمجيات اختباراتها على سجل يبدو عاديا دون أن يصف إنسانا موجودا بالفعل.
يشرح هذا الدليل من أين تأتي هذه السجلات، وأي المواقف تحتاج إليها فعلا، ولماذا تعد بيانات الإنتاج بديلا سيئا حتى حين تكون متاحة، وما الذي يضمنه الموقع وما لا يضمنه بشأن النتيجة التي ينتجها.
ما هي بيانات اختبار الهوية في جوهرها
انزع المصطلحات الفنية جانبا، فيبقى سجل اختبار الهوية مجموعة متماسكة من الأجوبة على الأسئلة التي يطرحها النموذج. لشخص ما اسم شخصي واسم عائلة، ويسكن في عنوان داخل منطقة معينة، وولد في يوم محدد، ويحمل رقم الهوية الذي يصدره ذلك البلد. والسجل متماسك بمعنى أن أجوبته تتفق مع بعضها.
ما يجعله بيانات اختبار لا بيانات حقيقية هو مصدره. لم ينسخ أي جزء منه عن إنسان، ولا ينتمي أي جزء منه إلى إنسان. له شكل الشخص حتى تستطيع المنظومة معالجته، وليس له مرجع خارج الاختبار نفسه.
هذا التمييز أهم مما يبدو للوهلة الأولى. يمكن أن يكون السجل صحيح التنسيق ومصنوعا بالكامل في الوقت نفسه، وكلتا الخاصيتين هما المقصود.
متى تحتاج الفرق إلى سجلات كهذه؟
تتكرر خمس حالات باستمرار. تبدو مختلفة لكنها تشترك في شرط واحد: أن تغذى البرمجيات بمدخلات معقولة بينما تذهب المخرجات إلى مكان غير ضار.
الاختبار الوظيفي للنماذج. لا يمكن تشغيل قواعد التحقق الخاصة بالطول ومجموعة المحارف والحقول الإلزامية من دون مدخلات تقع على الحدود.
العروض ولقطات الشاشة. النص النائب الذي يتكون من حرف واحد مكرر يجعل المنتج يبدو غير مكتمل أمام العميل أو أمام المستثمر.
التعبئة بالجملة واختبار الحمل. تحتاج قاعدة البيانات إلى آلاف السجلات قبل أن يستطيع أي شخص قياس الأداء بصدق.
ملفات تجهيز الاختبارات الآلية. تنحرف التوكيدات حين ينتج الاختبار نفسه سجلا مختلفا قليلا في كل تشغيل.
تدريبات الترحيل. لا يمكن التدرب على نقل البيانات بين البيئات باستخدام بيانات لا تشبه الشكل الحقيقي.
لا تتحسن أي من هذه الحالات ببيانات أشخاص حقيقيين، بل يصبح بعضها أصعب عند خلط البيانات الحقيقية. وهذه ليست ملاحظة أخلاقية، بل عملية بحتة تتعلق بما يحتاجه الاختبار كي يكون مفيدا.
لماذا تعد بيانات الإنتاج بديلا خاطئا؟
الاندفاع إلى نسخ شريحة من بيئة الإنتاج إلى بيئة أدنى أمر مفهوم. فالبيانات الحقيقية تملك التوزيع الصحيح والحالات الحدية الصحيحة والفوضى الصحيحة. لكنها أيضا أغلى أنواع البيانات خسارة، والبيئات الأدنى هي بالضبط المكان الذي تكون فيه ضوابط الأمن أضعف.
ينتج عن ذلك فشلان. الأول تنظيمي: الاسم مع تاريخ الميلاد أو رقم الهوية أو وسيلة اتصال هو بيانات شخصية، ونقلها إلى بيئة تطوير استخدام جديد لم يوافق عليه أحد. والثاني تشغيلي: تبقى النسخة في النسخ الاحتياطية وفي سجلات الاستعلامات وفي لقطات الشاشة المرفقة بتقارير الأعطال وفي حواسيب كل من استعادها يوما. صارت المؤسسة تملك الآن نسخا أكثر بكثير من السجلات الحساسة نفسها، في أماكن لا يراقبها أحد.
تتناول مقالة قواعد الخصوصية لبيانات الاختبار هذا الموضوع بعمق أكبر، ومنها سبب عدم كون نزع الأسماء من جدول منسوخ مكافئا لجعله مجهول الهوية. والخلاصة القصيرة أن أأمن سجل اختبار هو سجل لم يكن ملكا لأحد قط.
ماذا يحتوي السجل الذي ينتجه الموقع؟
في هذا الموقع، تبني أداة الهوية وبيانات الاختبار المجموعة كاملة دفعة واحدة لا حقلا حقلا. ويحمل السجل عادة قسم شخصي فيه الأسماء وتاريخ الميلاد والجنس، وقسم عنوان فيه الشارع والمدينة والتقسيم الإداري والرمز البريدي، وبيانات الاتصال، والمعرفات الإدارية التي يصدرها البلد المختار فعلا.
هناك خاصيتان تستحقان الفهم قبل الاعتماد على النتيجة. الأولى هي الاتساق الداخلي: العنوان ينتمي إلى البلد الذي اخترته، ورقم الهاتف يحمل بادئة الاتصال الدولية لذلك البلد، وحين يكون لرقم الهوية الوطنية في بلد ما قاعدة معلنة لرقم التحقق فإن الرقم المنتج يحققها. والثانية هي قابلية التكرار: النتيجة تقودها بذرة هوية، والبذرة نفسها مع البلد نفسه تنتج السجل نفسه بالضبط، وهذا ما يجعل السجل المنتج صالحا داخل اختبار آلي لا داخل اختبار يدوي فقط.
وكل سجل ينتج بهذه الطريقة وهمي وموجود للاختبار وحده؛ فلا يجوز استخدامه لانتحال شخصية إنسان حقيقي، وهو ليس وثيقة أصدرتها أي جهة رسمية أو تقبلها.
هل يجب أن تبدو السجلات المنتجة حقيقية؟
تحتاج أن تبدو عادية، وهذا شرط أخف. السجل الذي يبدو غريبا سجل يختبر الشيء الخطأ: إذا كان كل اسم عائلة منتج مقطعا واحدا، أو كان كل اسم شارع عبارة نائبة، فلن يختبر التخطيط يوما ولن تنطلق قواعد التحقق أبدا. ويكسب الموقع قيمته حين يقع الناتج في الشكل نفسه الذي سيستقبله النظام لاحقا، بما في ذلك الأشكال الصعبة: الأسماء الطويلة، والأسماء التي تحمل علامات تشكيل أبجدية، والعناوين المكتوبة بلا مسافات، والأرقام التي تبدأ بصفر.
لكن أن تبدو عادية لا يعني أن تكون صالحة للاستخدام. فحمل رقم هوية صحيح الشكل لا يعني أن الرقم يخص أحدا، ولن ينجح أمام فحص يستشير الجهة المصدرة، لأنه لا يوجد سجل خلفه يمكن استشارته.
لماذا تفشل أزواج الحقول نفسها في فحوص الاتساق؟
تقع الفرق التي تبني سجلات الاختبار يدويا في العيوب نفسها مرارا، وهي عيوب علاقات لا عيوب قيم. فالشارع معقول، والمدينة معقولة، والرمز البريدي معقول، لكن الثلاثة تنتمي إلى بلدان مختلفة.
والسبب أن السجل المكتوب يدويا يجمع حقلا حقلا، ويحكم على كل حقل بمعزل عن غيره. والعشوائية تفعل الشيء نفسه بسرعة: السحوبات المستقلة تنتج أزواجا مستحيلة أكثر بكثير مما يوحي الحدس. ويتجنب الموقع ذلك بأن يحدد البلد والتقسيم الإداري أولا ويستخرج كل ما بعدهما من هذين الاختيارين، ولهذا فإن مسألة اتساق الحقول هي في حقيقتها مسألة تتعلق بترتيب الإنشاء.
للمطورين: مما يتكون سجل الهوية
انمذج السجل كحقول ذات تبعيات لا كصف مسطح من أعمدة مستقلة. الاسم والجنس، وتاريخ الميلاد والعمر، والبلد وبادئة الهاتف، والتقسيم الإداري والرمز البريدي، والبلد وتنسيق رقم الهوية: في كل زوج عضو يقيد العضو الآخر، والمخطط الذي يخفي هذه العلاقة سيسمح بمرور صفوف غير متسقة.
وعادتان على مستوى الحقل تمنعان معظم الضرر. لا تشتق العمر من عدد صحيح مخزن في الوقت الذي يكون فيه تاريخ الميلاد مخزنا أيضا—احتفظ بالتاريخ واحسب العمر، وإلا اختلف الاثنان لحظة مرور سنة. وحين لا يصدر بلد معرفا معينا، عامل الحقل كغائب بشكل مشروع بدلا من ملئه بسلسلة تبدو معقولة، لأن الحقل الفارغ والحقل الخاطئ يفشلان بطريقتين مختلفتين تماما.
ولملفات التجهيز، فضل سجلا ثابتا على سجل عشوائي جديد متى كان التوكيد على السلوك لا على تنوع المدخلات. فالاختبار الذي يؤكد على استجابة محددة يحتاج إلى معرفة ما كان المدخل. واحتفظ بالإنشاء العشوائي للاختبارات التي تبحث عن حالات حدية مجهولة، ومتى وجد اختبار كهذا شيئا فاحفظ ذلك السجل كملف تجهيز كي تبقى الحالة مقفلة. وأيا كان ما يحمله ملف التجهيز، فليقل التعليق فيه بصراحة إن هذه السجلات وهمية، وإنها للاختبار البرمجي فقط، وإنها ليست هوية أي شخص.
الخطوات التالية
اختر نموذجا واحدا في منتجك واملأه بسجل منتج بدلا من النص النائب الذي يقبع فيه على الأرجح. ثم خذ بذرة الهوية نفسها وأنشئ مرة أخرى—فإن اختلف السجل الثاني عن الأول فأنت أمام أداة لا تستطيع دعم التوكيدات الآلية، ونهج ملفات تجهيز الاختبارات يشرح ما ينبغي أن تطلبه بدلا منها.