GTAC 2013: العروض التقديمية في اليوم الأول

ملاحظات افتتاحية

توني فويلم (Google)

الكلمة الافتتاحية - التطور من ضمان الجودة إلى اختبار الهندسة

آري شماش (Google)

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

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

سيركز هذا الحديث على طبيعة هندسة الاختبار، وكيف تطورت من عملية ضمان الجودة، وكيف نفذت الصناعة ككل هندسة الاختبار (مع أمثلة محددة على كيفية تنفيذها في Google).

اختبار الأنظمة على نطاق واسع @Twitter

جيمس والدوب (Twitter)

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

كيف تختبر نظام تشغيل للجوال؟

David Burns (Mozilla) وMalini Das (Mozilla)

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

أتمتة الجوّال في مسار التسليم المستمر

Egor دوروفسكيخ (Expedia) وKaustubh Gawande (Expedia)

بدأت شركة Expedia الاستثمار في تطبيقات ويب الجوّال وتطبيقات iOS/Android في بدايات عام 2012. وفي الوقت نفسه، بدأ مهندسو الاختبار في تطوير حلول التشغيل التلقائي للاختبار لإنشاء الجودة وقابلية الاختبار للمنتجات من البداية. في هذا الحديث، سنشارك خبرتنا وتعلّمنا استخدام الأدوات مفتوحة المصدر لإنشاء اختبار تلقائي في بيئة التطوير السريع والتسليم المستمر في Expedia. سنتحدث عن اختبار الهرم وسنناقش المزيد من التفاصيل حول أدوات مفتوحة المصدر التي استفدت منها بشكل كبير. ومن بين الأدوات مفتوحة المصدر التي نستخدمها أدوات BDD مثل خيار، وأداة التشغيل التلقائي على الويب Selenium-WebDriver، وأداة التشغيل التلقائي لنظام التشغيل iOS، وأدوات التشغيل التلقائي في Android، وهي Robotium وCalabash، ونظام التكامل المستمر Jenkins. بالإضافة إلى ذلك، سنشارك بعض مبادئ التسليم المرنة التي نسعى جاهدين إلى اعتمادها، مثل TDD وبرمجة البرمجة وتصميم الألعاب وأجهزة إشعاع الاختبار. أخيرًا، سنشارك بعض الفوائد التي حققناها من استثمارنا في منهج Agile واختبار التشغيل التلقائي، وكيف سيصل ذلك إلى أهداف التسليم المستمر.

اختبار تلقائي لأجهزة الاستقبال الرقمية مع GStreamer وOpenCV

David Röthlisberger (YouView)

سننشئ نظامًا للتعرف على التقاط الفيديو في 3 دقائق، باستخدام أدوات سطر الأوامر في OpenStream وOpenCV. (GStreamer هو إطار عمل لمعالجة الوسائط مفتوح المصدر، وOpenCV —"Open Computer Vision" هو مكتبة مفتوحة المصدر لمعالجة الصور.)

ومن الأمثلة الرائدة لهذا النظام http://stb-tester.com، وهي أداة مفتوحة المصدر تم تطويرها في موقع YouView لأتمتة اختبار واجهة المستخدم لأجهزة الاستقبال الرقمية. سنوضّح أداة stb-tester، والمرونة التي يوفّرها الأساسات الأساسية لـ GStreamer، وبعض الإمكانيات التي يتم توفيرها، والتحديات التي قد تواجهك.

Webdriver لـ Chrome

كين كانيا (Google)

من بدايته كمتصفح يعمل بنظام التشغيل Windows فقط، تم توسيع Chrome ليشمل أنظمة التشغيل Mac وLinux وChromeOS ومؤخرًا Android وiOS. لقد كان اختبار تطبيقات الويب على مستوى المستخدم عبر هذه الأنظمة الأساسية أمرًا صعبًا واحتاج إلى أساليب مبرمَجة متنوعة. سيوضح هذا الحديث العمل الذي يضطلع به فريق Chrome لجعل WebDriver متاحًا لمتصفح Chrome على جميع الأنظمة الأساسية. وسيشمل هذا نظرة فنية على النهج الأساسي ولكن مع التركيز على كيفية استخدام مطوّري البرامج لمتصفّح ChromeDriver الجديد لكتابة اختبارات لمنصات Chrome المختلفة. كما ستتم تغطية الحالة الحالية للمشروع وخارطة الطريق للمستقبل.

Karma - Run Run for JavaScript

Vojta Jina (Google)

مقدمة إلى Karma - تشغيل ألعاب الركض لجعل اختبار تطبيقات جافا سكريبت في متصفحات حقيقية تجربة ممتعة وممتعة.

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

قياسات تلقائية لجودة الفيديو

Patrik Höglund (Google)

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

عندما تحدث أشياء سيئة في التطبيقات الجيدة...

Minal Mishra (Netflix)

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

اختبار لألعاب الفيديو والألعاب التعليمية للاختبارات

تاو شيه (جامعة ولاية كارولاينا الشمالية)

يقدم هذا الحديث Pex4Fun (http://www.pexforfun.com/ )، الذي يستغل الإنشاء التلقائي للاختبارات لدعم وضع العلامات التلقائي في نظام برمجة عبر الإنترنت يمكن أن يصل إلى مئات الآلاف من المستخدمين. وتوفّر اللعبة تجربة ألعاب تركّز على البرمجة خارج الصف الدراسي، وتدرّب المستخدمين على تعلّم مهارات البرمجة وهندسة البرامج المختلفة، بما في ذلك مهارات الاختبار، مثل كتابة اختبارات الوحدات المُعلَّمة. تقدّم لعبة Pex4Fun مساهمة كبيرة في حلّ المشاكل المعروفة في عملية وضع الدرجات، بالإضافة إلى تقديم تجربة تعليمية ممتعة بناءً على الألعاب التفاعلية. حظيت لعبة Pex4Fun بشعبية كبيرة في المجتمع، فمنذ طرحها للجمهور في حزيران (يونيو) 2010، بلغ عدد النقرات على الزر "Ask Pex!" (مما يشير إلى محاولات المستخدمين لحل الألعاب في Pex4Fun) ما يزيد على مليون نقرة منذ أوائل عام 2013.

الكلمة الختامية - كيف يختبر Facebook Facebook على Android

سيمون ستيوارت (Facebook)

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