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

تتوفّر جميع تسجيلات الفيديو والعروض التقديمية من Google للعام 2013 بشكل علني. ويمكنك مشاهدتها من قائمة تشغيل "GTAC 2013" على YouTube أو تصفّح المحادثات أدناه:

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

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

الروابط: فيديو

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

Ari Shamash (Google)

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

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

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

الروابط: الفيديو، العروض التقديمية من Google

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

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

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

الروابط: الفيديو، العروض التقديمية من Google

كيف تختبر نظام تشغيل للأجهزة الجوّالة؟

ديفيد بيرنز (Mozilla) وMalini Das (Mozilla)

هذه هي المشكلة التي واجهت شركة Mozilla عندما قرّرنا المغامرة في عالم FirefoxOS. من أين يجب البدء، وكيف سيُثبت ذلك مهمة مثيرة للاهتمام؟ يُرجى التعرّف على كيفية حلّ هذه المشكلة وكيفية إنشاء إطار عمل جديد.

الروابط: الفيديو، العروض التقديمية من Google

التشغيل الآلي للأجهزة الجوّالة في مسار التسليم المستمر

إيغور دوروفسكيك (Expedia) وKaustubh Gawande (Expedia)

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

الروابط: الفيديو، العروض التقديمية من Google

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

ديفيد روثليسبرغر (YouView)

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

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

الروابط: الفيديو

Webdriver لمتصفح Chrome

كين كينيا (Google)

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

الروابط: الفيديو، العروض التقديمية من Google

Karma - عدّاءة لاختبار JavaScript

فوجتا جينا (Google)

مقدمة حول Karma - عدّائة الاختبار التي تجعل اختبار تطبيقات JavaScript في المتصفحات الفعلية تجربة سلسة وممتعة.

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

الروابط: الفيديو

قياسات جودة الفيديو المبرمَجة

Pattrik Höglund (Google)

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

الروابط: الفيديو، العروض التقديمية من Google

عند وقوع أمور سيئة على التطبيقات الجيدة...

Minal Mishra (Netflix)

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

الروابط: الفيديو، العروض التقديمية من Google

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

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

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

الروابط: الفيديو، العروض التقديمية من Google

الكلمة الافتتاحية - كيفية اختبار Facebook Facebook على نظام التشغيل Android

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

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

الروابط: الفيديو، العروض التقديمية من Google

الكلمة الافتتاحية - JavaScript القابلة للاختبار - تصميم تطبيقك بحيث يمكن اختباره

مارك تروستلر (Google)

إنّ JavaScript القابلة للاختبار هي عملية. وسواءً كنت تبدأ من قائمة فارغة أو تطبيق قد تم تنفيذه من قبل (أو في أي مكان ما بينه)، باستطاعتك اختبار رمز JavaScript بسهولة وسلاسة وفعّالة هي ميزة ضرورية. ستتم إعادة كتابة الرمز الذي لا يمكن اختباره.

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

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

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

الروابط: الفيديو، العروض التقديمية من Google

اختراق المصفوفة - اختبار Android على نطاق واسع

توماس كنتيش (Google) وستيفان رامساور (Google) وفاليرا زاكاروف (Google)

هَلْ نَحْنُ عَلَى اسْتِعْدَادْ لِتَنَاوُلِ الْقَرْبَة الْحَمْرَا؟

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

"أُحَاوِلْ تَحْرِيرَ الْعَقْلِ يَا نَوِيلْ. لَكِنْ لَا يُمْكِنُنِي عَرْضُ الْبَابْ فَقَطْ. دَهْ الْحَاجَة الْلِّي مَطْلُوبْ سَيْرَتْهَا".

الروابط: الفيديو، العروض التقديمية من Google

التشغيل الآلي لواجهة المستخدم على Android

غوانغ تشو (朱光) (Google) وآدم موماز (Google)

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

الروابط: الفيديو، العروض التقديمية من Google

Appium: التشغيل الآلي للتطبيقات المتوافقة مع الأجهزة الجوّالة

Joannathan Lipps (مختبرات الصلصات)

Appium هو خادم Node.js يُشغّل تطبيقات الجوّال المحلية والهجينة (كل من iOS وAndroid). تحدّد فلسفة Appium أنّه يجب عدم تعديل التطبيقات لكي يتمّ تنفيذها آليًا، وأنّه من المفترض أن تتمكّن من كتابة رمز الاختبار بأي لغة أو إطار عمل. والنتيجة هي خادم Selenium WebDriver الذي يتحدث عن الأجهزة الجوّالة مثل اللغة الأصلية. يعمل Appium على الأجهزة وأجهزة المحاكاة المفتوحة المصدر، وهو مفتوح المصدر تمامًا، ما يجعله وسيلة سهلة ورائعة لبدء استخدام التشغيل المبرمَج لاختبار الأجهزة الجوّالة. في هذا الحديث، سأشرح المبادئ التي تحدّد تصميم Appium، وتحدّث عن Appium في مجال أُطر عمل الأجهزة الجوّالة الأخرى، وأشرح البنية التي تجعل العملية سحرية. أخيرًا، سأتعمّق في الرمز لإجراء اختبار بسيط لتطبيق جديد متوافق مع الأجهزة الجوّالة، وأظهِر Appium الذي يجري هذا الاختبار على أجهزة iPhone وAndroid.

الروابط: الفيديو، العروض التقديمية من Google

إنشاء بنية أساسية قابلة للتوسع لاختبار الجوّال في Google+ للجوّال

إدواردو برافو (Google)

ويُعدّ اختبار التطبيقات المحلية بطريقة مفيدة وثابتة وقابلة للتطور تحديًا. لقد طوّرت +Google حلولاً فعالة لمعالجة هذه المشاكل من خلال توفير البنية الأساسية المناسبة لكل سيناريو معقّد تمثّله الأجهزة الجوّالة. توفّر البنية الأساسية الحالية للاختبار الأدوات المناسبة لكل من تطبيقات iOS وAndroid لمنح فريق التطوير ثقةً في أنّ التغييرات الجديدة لن تؤثّر في العملاء الحاليين.

الروابط: الفيديو، العروض التقديمية من Google

Espresso: اختبار حديث لاختبار واجهة المستخدم على Android

فاليرا زاكاروف (Google)

تعديل [تشرين الأول/أكتوبر 2013]: إسبريسو مفتوح المصدر الآن. يُرجى الاطّلاع على https://code.google.com/p/android-test-kit/.

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

الروابط: الفيديو، العروض التقديمية من Google

اختبار أداء الويب باستخدام WebDriver

مايكل كليوبكوف (Google)

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

سأشرح ذلك باستخدام الجيل الجديد من ChromeDriver (WebDriver لمتصفّح Chromium).

الروابط: الفيديو، العروض التقديمية من Google

الاختبار المستمر لبيانات "خرائط Google"

Yvette Nameth (Google) وBrendan Dhein (شركة Google)

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

الروابط: الفيديو، العروض التقديمية من Google

العثور على "عملاء" يفشلون تلقائيًا في إنشاء نماذج تتضمّن أعطالاً

Calal Ziftci (UCSD) وVivek Ramavajjala (Google)

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

تتوفّر حلول اكتشاف الجبر للتصميمات الصغيرة والمتوسطة الحجم، لكن ليس للإصدارات المدمَجة الكبيرة.

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

الروابط: الفيديو، العروض التقديمية من Google

التحقيق التجريبي لجودة مجموعة منتجات البرامج

كاترينا غوسيفا بوبستوجانوفا (جامعة فيرجينيا الغربية)

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

الروابط: الفيديو، العروض التقديمية من Google

العنوان SanSanzer

كوشيا سيريباني (Google)

AddressSanitizer (ASan) هو أداة للعثور على تجاوز سعة التخزين المؤقت (في حزمة أو ذاكرة التخزين المؤقت أو العناصر العامة) ورصد الأخطاء التي لا يمكن استخدامها بعد برامج C/C+. تبحث ThreadSanitizer (TSan) عن سباقات البيانات في برامج C/C++ وGo. MemorySanitizer (MSan) هي أداة قيد التقدّم ترصد استخدامات الذاكرة التي لم يتم ضبطها (C++ ). تستند هذه الأدوات إلى أداة التجميع (LLVM وGCC)، ما يجعلها سريعة جدًا (مثلاً، يشهد ASan بطءً في الأداء بمقدار مرّتين). سنشارك تجاربنا في إجراء الاختبارات على نطاق واسع باستخدام هذه الأدوات.

الروابط: الفيديو، العروض التقديمية من Google

الكلمة الافتتاحية - تناول المحيط - العثور على XSS على نطاق Google

كلاوديو كريسيون (Google)

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

كنّا بحاجة إلى أدوات فعّالة ذاتية القيادة للتعرّف على DOM XSS في مرحلة مبكرة من مراحل التطوير، ويمكن استخدام هذه الأداة من قِبل مهندسين من خارج فريق الأمان، فكل ما نريده هو منتج يمكنه فحص مجموعة التطبيقات الضخمة والسريعة والمعقدة للغاية وتلك التي لا يمكن رصدها بالطبع. لهذا السبب، صمّمنا جهازًا ضوئيًا لتطبيقات الويب يستهدف DOM XSS وصمَّم استنادًا إلى تقنيات Google العادية. وهو يعمل في App Engine ويستفيد من متصفح Chrome الفعّال وبعض مئات من وحدات المعالجة المركزية كنظام أساسي لفحص الأمان.

وهي أيضًا مواطن لطيف في ترسانة الاختبارات في Google، إذ إنها موجودة في البنية الأساسية للاختبار، بدلاً من أن تكون وسيلة فريق الأمان.

في هذا الحديث، نوضّح أسلوبنا الجديد والتحديات التي واجهناها أثناء توسيع نطاق نظامنا بما يتناسب مع حجم Google وأفكارنا حول نماذج الاكتشاف والزحف في التطبيقات التي تستخدم JavaScript بشكل مكثف.

الروابط: الفيديو، العروض التقديمية من Google