إجراء اختبار التحميل لمنصة رائدة في إدارة الحوسبة الطرفية
العميل
شركة أميركية لديها منصة رائدة لإدارة البرمجيات والأجهزة الطرفية أو البعيدة عن الشبكة (مثل: أجهزة الاستشعار، والأدوات الذكية، والآلات، وغيرها). وتساعد منصة العميل هذه الأجهزة على التواصل فيما بينها، والتفاعل مع مراكز البيانات والخدمات السحابية البعيدة، ما يُمكِّن من إدارتها بسهولة عن بُعد، ويضمن حمايتها من التهديدات السيبرانية المحتملة.
الحاجة إلى ضمان أداء المنصة مع زيادة الأجهزة المدارة من 100 إلى 10,000 لكل عميل
سابقًا، كان كل عميل يطلب من المنصة إدارة ما يقرب من 100 جهاز عن بُعد، لكن حاليًا يرغب الكثير من العملاء في زيادة عدد الأجهزة المُدارة ليصل إلى أكثر من 10,000 جهاز. استوجبت هذه الزيادة الكبيرة إجراء اختبار شامل لأداء المنصة، على أن تتم إعادة هيكلتها وتحديثها في حال اكتشاف أي نقاط ضعف في الأداء، وذلك لضمان استمرارية استقرار أداء المنصة، ولتمكين الشركة من التعامل بكفاءة مع الأخطاء في ظل هذه الزيادة الملحوظة في عدد الأجهزة المطلوب إدارتها.
نظرًا للحاجة الملحة لتوسيع فريق العمل، ولعدم توفر الموارد الداخلية الكافية لمواجهة هذا التحدي في وقت قصير، قرر العميل الاستعانة بخبرات خارجية. وقد منح العميل ثقته لساينس سوفت واختارها لهذه المهمة، لخبرتها السابقة في تنفيذ العديد من المشروعات لفريق الشركة، ولكونها المنافس الأمثل لهذه المهمة الحاسمة، فضلًا عن سجلها الحافل بالإنجازات في مجال اختبار أداء البرمجيات، وخبرتها الممتدة لأكثر من 23 عامًا في أتمتة الاختبارات.
إنشاء عمليات اختبار التحميل والتشويش
اختبار التحميل (Load Testing)
أعدت ساينس سوفت بعناية فائقة أداة خاصة لتوليد الأحمال بهدف تقييم أداء المنصة تحت الأعباء الثقيلة. صمم خبراؤنا هذه الأداة لمحاكاة أعباء مهام معالجة البيانات في السيناريوهات التي تشمل أكثر من 10,000 جهاز. ولتعزيز ذلك، حدَّدنا بعناية نمط أعباء التحميل المتوقع لسيناريوهات الاستخدام العادية والقصوى، ما أسهم في توفير رؤى شاملة حول سلوك المنصة في مختلف الظروف.
بالإضافة إلى ما سبق، أنشأ فريقنا اختبارات تحميل آلية متقدمة. كما تأكدنا أن هذه الاختبارات تُغطي كافة سيناريوهات الأعمال، إذ شملت أكثر من 200 نقطة في واجهة برمجة التطبيقات (API) عبر كافة مكونات واجهة الإدارة والواجهة الخلفية للمنصة.
من خلال دمج اختبارات التحميل في مسارات التكامل المستمر (CI)، أصبح تقييم أداء المنصة جزءًا أساسيًا من عمليات تطوير المنصة. ونتيجةً لذلك، يتم تقييم أي تغييرات تطرأ على المنصة تلقائيًا لمعرفة تأثيرها في الأداء، ما يتيح رصد ومعالجة المشكلات المحتملة في عملية التطوير مبكرًا.
في مرحلة الاختبار المُكثَّف، تمكَّن فريقنا من تحديد ووصف المناطق التي لم يتم فحصها سابقًا في المنصة بسبب تأخر الأداء. وقد تعمقنا في دارسة الأسباب الجذرية لهذه المشكلات، واقترحنا مجموعة من الحلول قصيرة المدى، كما وضعنا استراتيجيات فعَّالة للحد من هذه المشكلات على المدى الطويل، بما في ذلك إجراء تعديلات على الكود والبنية البرمجية للمنصة.
نجح الفريق الداخلي لشركة العميل في تنفيذ التعديلات قصيرة المدى الموصى بها على الفور، ما أدى إلى رفع الأداء العام للمنصة وتعزيز موثوقيتها بقدرٍ كبير. أما بالنسبة إلى التعديلات طويلة المدى، فقد تطورت إلى مشروع منفصل لتحديث المنتج البرمجي للعميل، يشارك في تنفيذه حاليًا مهندسو حلول ومطورون من فريق ساينس سوفت.
اختبار التشويش (Fuzz Testing)
صمم فريقنا اختبارات تشويش آلية، ودمجها في عمليات التكامل المستمر (CI). وقد أجرت هذه الاختبارات محاكاة لمدخلات البيانات العشوائية في مختلف عناصر واجهة برمجة التطبيقات (API)، ما شكَّل تحديًا لآليات التحقق من صحة البيانات وتصفيتها في المنصة بطرق جديدة. وكان الهدف من هذه الاختبارات تحديد أي نقاط ضعف قد تؤثر في استقرار المنصة، ما يضمن قدرتها على التعامل بكفاءة حتى مع مدخلات البيانات غير المتوقعة.
التقنيات المستخدمة
استخدمنا أداة Apache JMeter كتقنية أساسية لاختبارات التحميل والتشويش. كما طوَّرنا، باستخدام لغة البرمجة Golang، أداة لتعديل بيانات الإدخال (mutator) مُصمَّمة خصيصًا لهذا المشروع، ما جعل اختبارات التشويش أكثر تعقيدًا وتقدمًا، ومكَّن من إنشاء مجموعات بيانات إدخال عشوائية ومتنوعة، لمعرفة مدى قدرة المنصة على تحمل الأعباء دون أي تعطل.
التعاون
حافظ فريقنا على التواصل بانتظام مع مديري المشروعات والمطورين وفِرق ضمان الجودة من جانب شركة العميل، ما أسهم كثيرًا في تعزيز بيئة تعاونية ضرورية لتحديد المشكلات المُحتملة ومعالجتها بسرعة. وكان فريقنا يعقد اجتماعات يومية لضمان التدفق المستمر للمعلومات والتحديثات المتعلقة بالتقدم المُحرز، كما أتاحت الاجتماعات الميدانية التي كانت تُعقد كل 3 أشهر فرصًا لإجراء مناقشات متعمقة وتحسينات لاستراتيجيات المشروع.
تعزيز موثوقية منصة إدارة الحوسبة الطرفية
في غضون 6 أشهر فقط، أنشأت ساينس سوفت اختبارات تحميل وتشويش دقيقة وشاملة لمنصة العميل. وعلى مدار الأشهر الستة التالية لذلك، نفَّذ فريقنا الاختبارات على نحو متكرر، وأجرى تحليلًا متعمقًا لنتائجها، كما حدَّد نقاط ضعف الأداء، وقدَّم توصيات بالاستراتيجيات اللازمة لمعالجة مشكلات الأداء.
بفضل دمج اختبارات التحميل واختبارات التشويش الآلية في مسارات التكامل المستمر (CI)، تمكَّن العميل من المراقبة المستمرة لموثوقية منصته، وسرعة استجابتها، وقدرتها على التحمل. وقد أدى تحسين أداء المنصة واستقرارها إلى زيادة رضا المستخدمين على نطاق واسع، ما عزَّز من سمعة شركة العميل في تقديم حلول مرنة وموثوقة وفعَّالة.
التقنيات والأدوات
Apache JMeter, Groovy, Golang, Jenkins, Python, Bash scripts, Docker, Kubernetes, Terraform, Terragrunt, Cloudflare, HashiCorp Vault, AWS (EC2, Virtual Private Cloud, Relational Database Service (RDS), S3, CloudWatch, Elastic Container Service for Kubernetes, CloudTrail, Elastic Load Balancing, etc.), Azure (Virtual Machines, Blob Storage, Databases, Virtual Network, etc.).
نتواصل معكم على الفور