DragonCrawl: A Generative, Intent-Based Framework for Scalable Mobile End-to-End Testing
إن DragonCrawl هو إطار عمل لاختبار تطبيقات الهاتف المحمول يعتمد على الذكاء الاصطناعي والنية (intent-based)، ويستفيد من القدرات متعددة الوسائط لنموذج GPT-4o لتحقيق معدلات نجاح عالية، وتقليل وقت تهيئة الاختبارات بشكل جذري، والقضاء على أعباء الصيانة من خلال التحقق من تدفقات مستخدم محددة في خطوط أنابيب التكامل المستمر والتسليم المستمر (CI/CD)، وبذلك يتغلب على قيود القابلية للتوسع والهشاشة التي تعيب اختبارات الطرف إلى الطرف التقليدية.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل أنك تبني مدينة ضخمة ومتغيرة باستمرار مصنوعة من الزجاج والضوء. في كل يوم، يضيف المهندسون المعماريون أبراجًا جديدة، ويغير الرسامون ألوان النوافذ، ويستبدل المهندسون الأبواب. هذه المدينة هي تطبيق هاتف محمول، والسكان الذين يعيشون فيها هم ملايين المستخدمين. لضمان عدم انهيار المدينة، يتعين عليك السير في كل شارع، وفتح كل باب، وفحص كل نافذة للتأكد من أنها لا تزال تعمل. هذا ما يسمى بـ "الاختبار" (Testing). ولكن تكمن المشكلة هنا في أن المدينة تتغير بسرعة كبيرة لدرجة أنه بحلول الوقت الذي تنتهي فيه من فحص شارع واحد، يكون المهندسون قد أعادوا بناءه بالفعل. إذا حاولت كتابة قائمة مراجعة صارمة وآلية لكل باب على حدة، فإن اللحظة التي يغير فيها رسام لون مقبض الباب، ستتعطل قائمة المراجعة الخاصة بك، وسيتعين عليك إعادة كتابتها من الصفر. هذا هو كابوس اختبار التطبيقات التقليدي: إنه بطيء، وهش، ويتطلب جيوشًا من الأشخاص لإصلاح قوائم المراجلة المكسورة باستمرار.
هنا يأتي مفهوم "المحقق بالذكاء الاصطناعي". بدلاً من روبوت يعرف بالضبط أين يجب أن يكون مقبض الباب، تخيل محققًا يفهم ماهية مقبض الباب وما هي وظيفته. إذا تحرك مقبض الباب، لا يصاب المحقق بالذعر؛ بل يبحث ببساطة عن الشيء الذي يفتح الباب ويواصل السير. هذه الورقة البحثية، التي كتبها مهندسون في شركة أوبر (Uber)، تقدم نظامًا جديدًا يسمى DragonCrawl. إنه يستخدم ذكاءً اصطناعيًا فائق الذكاء (نموذج لغوي كبير) ليعمل كمحقق. وبدلاً من حفظ خريطة جامدة، يقرأ DragonCrawl التطبيق كما يقرأه البشر: ينظر إلى الشاشة، ويفهم الهدف (مثل "حجز رحلة")، ويستنتج الخطوة التالية من تلقاء نفسه. تُظهر الورقة أن هذا النهج أسرع وأرخص وأقل عرضة للتعطل عندما يتغير التطبيق، مما يسمح للشركة باختبار آلاف السيناريوهات المختلفة تلقائيًا في كل مرة يقومون فيها بتحديث تطبيقاتهم.
الطريقة القديمة مقابل الطريقة الجديدة
قبل DragonCrawl، جربت أوبر طريقة تسمى DragonCrawl V1. فكر في هذا الأمر كطالب يحاول حل متاهة عن طريق حفظ صورة واحدة للمسار. إذا بدت المتاهة مطابقة تمامًا للصورة، يمكن للطالب السير فيها. ولكن إذا تحركت الجدران ولو قليلاً، أو إذا رأى الطالب نفس الممر مرتين في أجزاء مختلفة من المتاهة، فإنه يصاب بالارتباك ويسير في دوائر. نجح هذا النظام في المهام البسيطة، لكنه فشل فشلاً ذريعًا عندما أصبحت المهام معقدة. كان الأمر أشبه بمحاولة التنقل في مدينة من خلال النظر فقط إلى خريطة ثابتة؛ وبمجرد أن تكبر المدينة، تصبح الخريطة عديمة الفائدة.
النسخة الجديدة، DragonCrawl V2، هي تغيير جذري لقواعد اللعبة. فبدلاً من الخريطة الثابتة، تستخدم "عقلاً توليديًا". تخيل مرشدًا سياحيًا لم يزر مدينتك من قبل ولكنه يعرف كيف تعمل المدن. تقول له: "أريد الوصول إلى المطار"، فينظر المرشد إلى الشارع الحالي، وعلامات المرور، والأشخاص من حوله ليقرر: "حسنًا، سأنعطف يسارًا هنا". إذا تغيرت لافتات الشوارع، لا يتوقف المرشد؛ بل ينظر ببسا فقط إلى اللافتات الجديدة ويواصل طريقه. هكذا يعمل DragonCrawl V2. فهو لا يكتفي بمطابقة الصور فحسب، بل يستنتج ما يجب فعله بعد ذلك بناءً على الهدف وما يراه في اللحظة الحالية.
كيف يعمل الأمر في الواقع
يعتمد النظام على بعض الحيل الذكية التي تجعله يبدو بشريًا تقريبًا:
- العقل القائم على النية (Intent-Based Brain): بدلاً من نص برمجي يقول "اضغط على الزر أ، ثم اضغط على الزر ب"، يكتب المهندسون جملة بسيطة: "احجز رحلة من وسط المدينة إلى المطار". يقرأ الذكاء الاصطناعي هذا الهدف ثم ينظر إلى الشاشة. يسأل نفسه: "أرى خريطة ومربعًا مكتوب عليه 'إلى أين؟'. للوصوم إلى هدفي، يجب أن أنقر على المربع". يفعل ذلك خطوة بخطوة، متذكرًا كل ما قام به حتى الآن، حتى لا يضيع في حلقة مفرغة.
- المحقق البصري (Visual Detective): عندما يعتقد الذكاء الاصطناعي أنه أنهى المهمة، فإنه لا يكتفي بمجرد التحقق من وجود كلمة معينة. بدلاً من ذلك، يأخذ "لقطة شاشة" للشاشة ويسأل ذكاءً اصطناعيًا فائق الذكاء (GPT-4o): "هل تبدو هذه الصورة كعملية حجز رحلة ناجحة؟". ينظر الذكاء الاصطناعي إلى الصورة، ويرى الإيصال أو رسالة التأكيد، ويقول: "نعم، لقد وصلنا!". هذا النوع من الاختبار أصعب في الكسر لأنه لا يهتم إذا تحرك الزر أو إذا تغير النص من "تأكيد" إلى "موافق".
- المسافر عبر الزمن (استدعاء الأدوات - Tool Calling): أحيانًا، لاختبار ميزة ما، تحتاج إلى إعداد موقف وهمي. على سبيل المثال، لاختبار ما إذا كان السائق سيتم قبوله، تحتاج إلى التظاهر بأنه رفع هويته للتو. في الماضي، كان هذا كابوسًا. يستطيع DragonCrawl الآن التحدث مباشرة إلى "الكواليس" الخاصة بالتطبيق. يمكنه أن يقول: "مهلاً، تظاهر بأن هذا السائق قد تمت الموافقة عليه للتو"، ويقوم النظام فورًا بتغيير الحالة لمواصلة الاختبار. إنه يشبه المخرج الذي يصرخ "قطع!" ويغير المشهد للممثلين فورًا.
النتائج: أسرع، أذكى، وأرخص
الأرقام الواردة في الورقة مثيرة للإعجاب حقًا. قبل هذا النظام الجديد، كان إنشاء اختبار لميزة واحدة يستغرق من المهندسين حوالي 96 إلى 120 ساعة (أي أسابيع من العمل!). مع DragonCrawl V2، يمكنهم إعداد اختبار في أقل من 4 ساعات. هذا تسارع هائل في السرعة.
ولأن إعداده أسرع بكثير، تمكن الفريق من زيادة اختباراتهم من 48 اختبارًا فقط إلى 1,013 اختبارًا. إنهم يشغلون هذه الاختبارات تلقائيًا في كل مرة يتم فيها تغيير الكود. النظام موثوق للغاية: حيث ينجح بنسبة 91.6% على أجهزة iPhone و 92.2% على أجهزة Android. هذه قفزة كبيرة من النظام القديم، الذي كان ينجح بنسبة 80% تقريبًا في الاختبارات البسيطة ويفشل تمامًا في الاختبارات المعقدة.
كما تسلط الورقة الضوء على فائدة مفاجئة: التكلفة. على الرغم من أن استخدام ذكاء اصطناعي فائق الذكاء يكلف مالاً مقابل كل سؤال يجيب عليه، إلا أن النظام يوفر للشركة ثروة بالفعل. ومن خلال أتمتة العمل الذي كان يستغرق من البشر أسابيع، يقدرون توفير 27 عامًا من جهد المطورين. هذا يشبه امتلاك 27 شخصًا إضافيًا يعملون لمدة عام كامل، فقط من خلال ترك العمل الشاق للذكاء الاصطناعي.
لماذا يهم هذا الجميع
قد تتساءل: "لماذا يجب أن أهتم إذا كانت شركة ما تختبر تطبيقها بشكل أفضل؟". حسنًا، فكر في آخر مرة حاولت فيها استخدام تطبيق استمر في الانهيار أو لم يسمح لك بشراء شيء ما. يحدث ذلك عادةً لأن التطبيق تغير، ولم تكتشف الاختبارات ذلك الخطأ. يساعد DragonCrawl في منع حد ذلك. فهو يضمن أنه عندما تفتح التطبيق، تعمل الأزرار، وتتم عمليات الدفع، وتتم حجز الرحلة، بغض النظر عن اللغة التي تتحدثها أو المدينة التي أنت فيها.
تشير الورقة أيضًا إلى تحول في طبيعة عمل الأشخاص. فبدلاً من كونهم مجرد "ناقرين" (clickers) يتبعون نصًا برمجيًا، أصبح المختبرون الآن "قادة أوركسترا" يعلمون الذكاء الاصطناعي كيف يفكر. يقضون وقتًا أقل في إصلاح الاختبارات المكسورة ووقتًا أكثر في بناء ميزات جديدة. إنه يحول الاختبار من مهمة مملة ومتكررة إلى وظيفة إبداعية واستراتيجية.
الحدود والمستقبل
بالطبع، الورقة صريحة بشأن ما لا يستطيع DragonCrawl فعله حتى الآن. فهو يعتمد على خدمة ذكاء اصطناعي خارجية، مما يعني أنه إذا غيرت تلك الخدمة قواعدها أو توقفت، سيتوقف الاختبار. كما أنه يكلف مالاً لتشغيله، لذا قد لا تتمكن الشركات الأصغر من تحمل تكلفته في الوقت الحالي. ورغم أنه بارع في اتباع المسار، إلا أنه ليس مثاليًا؛ فقد يسلك أحيانًا مسارًا مختلفًا قليلاً عن المقصود، رغم أن النظام مصمم لالتقاط هذه الأخطاء.
لكن الرسالة الأساسية واضحة: الطريقة القديمة لاختبار التطبيقات — كتابة نصوص برمجية جامدة وهشة — قد وصلت إلى طريق مسدود. التطبيقات معقدة للغاية وتتغير بسرعة كبيرة. يوضح DragonCrawl أنه من خلال استخدام الذكاء الاصطناعي لفهم النية بدلاً من مجرد البكسلات، يمكننا بناء مستقبل تُختبر فيه التطبيقات بشكل أكثر شمولاً، وبسرعة أكبر، وبأقل قدر من الصداع. إنه ليس مجرد أداة أفضل؛ إنه طريقة تفكير جديدة حول كيفية التأكد من أن عالمنا الرقمي يعمل بشكل صحيح.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.