حافلة تكامل لبنك SOYUZ (AO): تصميم واختبار تلقائي



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

ما هي منصة التكامل ولماذا هو مطلوب؟

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

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

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

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

  1. استبدال التكامل الحالي من خلال منصة تكامل ؛
  2. دمج النظم المصرفية الجديدة ؛
  3. أتمتة تبادل البيانات بينهما.

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

  • إجراء تدقيق ؛
  • العثور على موظفي العملاء الذين يفهمون الحالة المستهدفة لعمليات الأعمال (وليس فقط الحالية) ؛
  • لصياغة متطلبات العمل لأنظمة تكنولوجيا المعلومات وتوفير خارطة طريق للانتقال إلى الحالة المستهدفة لعمليات الأعمال.

تطبيق


للتنفيذ ، اختاروا منصة التكامل المعياري Red Hat JBoss Fuse.


جبوس فيوز العمارة

المزيد عن الأدوات الأساسية الموجودة خارج الصندوق:

يوفر Apache Camel ، المبني على قوالب دمج الشركات (EIP) ، توجيه الرسائل ، ويحتوي على عدد كبير من المحولات الجاهزة للعمل مع الأنظمة الخارجية: قواعد البيانات والملفات ووسطاء الرسائل وخدمة الدليل والبريد وما إلى ذلك.

Apache ActiveMQ ، الذي ينظم تبادل الرسائل ، ويضمن أيضًا نقلها وتخزينها حتى يلتقطها المشترك.

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


عملية التكامل

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

مثال


خذ عملية إصدار القروض في البنك. يملأ عميل في بنك الإنترنت طلبًا ، ويرسل البيانات من النموذج وينتظر النتيجة. ما يحدث داخل هذا: من خلال بقية api المقدمة إلى بنك الإنترنت ، الحافلة تقبل الطلب مع البيانات الرئيسية. علاوة على ذلك ، يطلب من خلال واجهة الصابون في نظام MDM معلومات إضافية حول العميل ، ويجمع المعلومات التي تم تلقيها في مجموعة عامة وينقلها من خلال قائمة انتظار مخصصة لـ ActiveMQ إلى نظام RTDM لصياغة عرض في إطار منتجات القروض الحالية. ثم يتم إرجاع النتيجة من RTDM في المقابل ، وتقوم الحافلة بإرسال العرض للعميل مرة أخرى إلى بنك الإنترنت.

تجريب


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

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

لقد صنعنا مجموعتين من البرامج النصية التي تم تشغيلها أثناء كل بناء (CI / CD). وفقًا للالتزام ، تم بدء التجميع ونشره على المنصة. بعد إجراء النشر ، تم تشغيل برنامج نصي قصير (اختبار الدخان) ، والذي أخبرنا أنه لم يتم كسر تفاعلات التكامل.

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

نتيجة لذلك ، كان من الممكن تحقيق التشغيل الآلي للاختبار بنسبة 100 ٪ على المحاكيات. عند تحديث أحد الأنظمة الخارجية ، تولى الناقل مهمة الحفاظ على قابلية التشغيل للعملية ؛ وبناءً عليه ، تم إجراء تغييرات عليه مباشرة. هذا سمح لك باختبار أي تغييرات بسرعة.

بدلا من الاستنتاج


بعد مرور جميع المراحل ، قام فريقنا ببناء عمليات سريعة وشفافة مع المقاولين والعملاء ، وتمت مواصلة عمليات التطوير والاختبار والتنفيذ والدعم. ونتيجة لذلك ، تم أتمتة 12 عملية تجارية ، والتي جمعت في جوهرها عمل الأنظمة الرئيسية للبنك: ABS ، MDM ، معالجة ، RTDM ، إلخ. في مثل هذه المشروعات ، نحاول دائمًا فقط مع الاختبارات الآلية ، عملياً دون إشراك اختبار وظيفي. هذا يقلل من التكلفة النهائية لتطوير المشروع والتكامل ، ويقلل من الوقت إلى السوق ومستويات العامل البشري.

ألكساندر ساديكوف ، نائب رئيس قسم الاختبار ، مركز حلول البرمجيات ، أنظمة جيت جت

بافيل إيفانوف ، قائد فريق التطوير ، مركز حلول البرمجيات ، Jet Infosystems

Source: https://habr.com/ru/post/ar479316/


All Articles