اختبر مثل Google: أفضل الممارسات من عمالقة الصناعة (04.20.24)

يمكننا تعلم الكثير من عمالقة الصناعة من خلال مراقبة أساليبهم وأساليبهم في سير العمل.

كيف يديرون الحفاظ على عملية اختبار البرامج ضمن ملايين أسطر الكود؟

كيف ينظمون سير العمل مع الآلاف من مهندسي ضمان الجودة؟

كيف يتعاملون مع توسع المشروع؟

يمكن أن تساعد خبرة شركات مثل Google أو Spotify في تحسين عمليات الاختبار في الشركات الصغيرة و فرق.

دعونا نلقي نظرة فاحصة على كيفية اختبار العمالقة.

Google: أهمية تغطية الكود

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

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

Spotify شركة سريعة النمو. تأسست في عام 2008 ويعمل بها 150 موظفًا. في عام 2019 ، ارتفع عدد الموظفين إلى 4405 موظفًا. يخدم Spotify اليوم حوالي 300 مليون مستخدم حول العالم ، مما يجعلها أكثر خدمات البث شهرة في العالم.

يمكننا تعلم دروس حول كيفية قيام Spotify بتوسيع نطاق اختباراتها و عمليات التطوير.

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

SpaceX هي شركة مبتكرة معروفة بالنقل الفضائي التجاري ، ونظام إطلاق قابل لإعادة الاستخدام ، و كفاءة عالية.

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

تسمح أساليب DevOps و Agile لمهندسي SpaceX QA بتوفير اختبار الأتمتة الشامل. من خلال دورة التطوير ، يوفر المختبرون اختبارًا مستمرًا للحصول على تعليقات فورية والقضاء على المخاطر الحالية. وبالتالي فهم يعملون بشكل استباقي ، ويختبرون كثيرًا وفي وقت مبكر.

طورت الشركة استراتيجية حول كيفية تنفيذ الاختبار المستمر في عملية التطوير.

  • إعطاء الأولوية للقيمة. مثل Google ، توصي SpaceX باستخدام مقاييس تغطية الشفرة لفهم ما يجب عليك تشغيله تلقائيًا وما لا يجب. فهو يساعد على تحسين الاختبار المستمر وتعزيز الأنشطة التي تم اتخاذها بالفعل.
  • المفتاح هو الاختبار التلقائي الشامل. اجعل تحليل التأثير جزءًا من التكامل المستمر. يسمح للشركات بتحليل كيفية تأثير إضافة وظائف جديدة أو تغيير التعليمات البرمجية على نظام شامل أو بعض أجزاء نظامه.
  • يجب أن يتمتع الفريق ببيئة اختبار مستقرة وسهلة النسخ. يمكن أن تساعد أداة مثل Virtual Machine Snapshot في حفظ حالة البيانات أو العودة إلى الاختبار أو استئناف العمل.
  • استخدام الذكاء الاصطناعي وتعلم الآلة لتحليل تقارير الاختبار. AI تعمل الأدوات المستندة إلى تسريع النشر وتحسين عملية الاختبار.
  • إنشاء بنية تكامل مستمرة قوية. الميزة الرئيسية لنظام CI هي الفترات القصيرة بين إنشاء الكود واختباراته . يجب أن يشارك الاختبار المستمر في عملية التطوير وأن يشمل الأنواع الضرورية من الاختبارات.
  • Sum Up

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


    فيديو يوتيوب: اختبر مثل Google: أفضل الممارسات من عمالقة الصناعة

    04, 2024