القائمة

أرقام بطاقات الاختبار حسب الشبكة: البادئات والأطوال

أرقام بطاقات الاختبار حسب الشبكة تحتاج بادئة وطولا صحيحين لكل شبكة. تعرف على الخطط المنشورة وكيف تبني مصفوفة اختبار للكشف.

تاريخ النشر

  • بيانات اختبار
  • المدفوعات
  • الشبكات

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

تعرض المقاطع التالية الخطط المنشورة لكل عائلة، وتشرح كيف تختار بادئة، وتنتهي بمصفوفة اختبار عملية لوظيفة كشف الشبكة.

من أين تأتي الاختلافات بين الشبكات؟

الخطة الأصلية التي نظمت ترقيم البطاقات قسمت الأرقام إلى قطاعات صناعية، ثم توزعت النطاقات داخلها على البرامج والشبكات بمرور العقود. والنتيجة أن كل شبكة تملك مجموعة من البادئات المحجوزة، وطولا معتادا، وعرفا خاصا في الطباعة ورمز الأمان.

وهذا يعني أن معرفة رقم واحد لا تغني عن معرفة النطاقات. فالمطلوب ليس حفظ قيم بعينها، بل حفظ الشكل العام لكل عائلة: أي منطقة من المساحة الرقمية تنتمي إليها، وكم رقما تتوقع أن تراه، وهل رمزها في الأمام أم في الخلف.

لماذا قد تختار بادئة بعينها؟

بادئة الاختبار ليست مسألة ذوق. فأنت تختار بادئة لأنك تريد اختبار قدرة معينة في نظامك.

إن كان هدفك اختبار منطق كشف الشبكة، فاختر بادئة من كل مجموعة حدودية: أول نطاق في المجموعة، وآخر نطاق فيها، وقيمة خارج المجموعة لكن ملاصقة، لأن العيوب تسكن في المقارنات الحدية. وإن كان هدفك اختبار التعامل مع الأطوال، فاختر عائلة بطول مختلف عن الشائع. وإن كان هدفك اختبار حقل رمز الأمان، فاختر عائلة يكون رمزها من أربعة أرقام، لأن هذا هو الخطأ الذي لا يظهر في الاختبار المعتاد.

الخطط المنشورة لكل شبكة

الجدول التالي يلخص الخصائص التي تفرق بين العائلات. الأرقام المذكورة هي بدايات النطاقات المعلنة، وقد تكون البادئة الفعلية أطول من الرقم الأول.

الشبكة بداية النطاق الطول المعتاد رمز الأمان
Visa 4 ستة عشر رقما ثلاثة أرقام على الظهر
Mastercard 51 إلى 55 ونطاق 2221 إلى 2720 ستة عشر رقما ثلاثة أرقام على الظهر
شبكة تصدر بطاقات من خمسة عشر رقما 34 و 37 خمسة عشر رقما أربعة أرقام على الوجه
Discover 6011 و 65 ونطاقات فرعية داخل نطاق 622126 إلى 622925 ستة عشر رقما ثلاثة أرقام على الظهر
JCB 3528 إلى 3589 ستة عشر رقما ثلاثة أرقام على الظهر
Diners 300 إلى 305 و 36 و 38 إلى 39 أربعة عشر رقما ثلاثة أرقام على الظهر
UnionPay 62 ستة عشر رقما ثلاثة أرقام على الظهر
Maestro 50 ونطاق 56 إلى 69 متغير ثلاثة أرقام على الظهر

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

وإذا احتجت مجموعات كبيرة تحترم هذه الخطط بلا حساب يدوي، فـأداة إنشاء رقم البطاقة تتيح اختيار الشبكة صراحة وإنشاء دفعة كاملة بنفس الخصائص، مع تاريخ انتهاء متسق يصلح للنماذج التي تقارن رقما بتاريخ.

موضع رمز الأمان وطوله

من السهل أن تبنى الواجهة على افتراض أن الرمز ثلاثة أرقام. وهذا الافتراض صحيح في معظم البطاقات وخطأ بما يكفي ليسبب شكاوى.

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

والنهج المتوازن أن يبدأ الحقل بثلاثة محارف، وأن يتوسع إلى أربعة عندما يكتشف النظام عائلة تستخدم الطول الأطول، مع حد أعلى يعرف الرفض. وهذا هو الربط العملي بين هذه المقالة ودليل رمز الأمان، لأن سلوك الحقل يتبع نتيجة كشف الشبكة لا العكس.

هل تعني مطابقة البادئة أن البطاقة حقيقية؟

لا. وهذا هو الالتباس نفسه الذي يظهر في كل موضع يفحص الشكل. فمطابقة البادئة تعني أن الرقم يقع في نطاق محجوز لشبكة، لا أكثر.

ويمكن لأي شخص أن يبني سلسلة تبدأ ببادئة صحيحة، وتحتوي أي أرقام في الوسط، وتنتهي برقم ختامي يجعل مجموع التحقق صحيحا، لتحصل على قيمة تبدو تماما كبطاقة تلك الشبكة. وكل قيمة تنشئها أدوات هذا الموقع تقع في هذه الفئة بالضبط: معقولة البنية، ولم تصدر قط ولا تخص أي حساب.

والدرس العملي أن كشف الشبكة وظيفة عرضية. فإن كنت تستخدمه لاختيار أيقونة على الزر فأنت تستخدمه استخداما صحيحا. وإن كنت تستخدمه لاستنتاج أن البطاقة موثوقة، أو لتقليل فحوص مكافحة الاحتيال، فقد بنيت قرارا على شيء لا يحمله الرقم.

مصفوفة اختبار الكشف

أفضل صيغة لاختبار وظيفة كشف الشبكة جدول صغير بأربعة أعمدة. العمود الأول اسم الحالة، والثاني البادئة المستخدمة، والثالث النتيجة المتوقعة من دالة الكشف، والرابع ما ينبغي أن تفعله الواجهة بناء على تلك النتيجة.

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

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

أخطاء شائعة في دوال الكشف

معظم الأخطاء في هذه الدوال ليست في المنطق بل في القيم الحدية.

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

الخطوات التالية

ابن مصفوفة من صف واحد لكل عائلة تعتزم دعمها، ولاحظ ما يفعله نظامك بكل صف عدا التحقق من اسم الشبكة. الأهم أن تعرف الطول الذي يسمح به وموضع رمز الأمان الذي يعرضه، لأن هذين هما ما تشعر به على أي شاشة دفع. ثم أضف صفا لشبكة غير مدعومة، وتأكد أن الرسالة التي تظهر تساعد المستخدم بدل أن توقف مساره.

تابع القراءة

أدلة منشئ أرقام بطاقات ائتمان وهمية (بطاقات اختبار)