الوحدات
1. مقدمة للذكاء الاصطناعي في اختبار البرمجيات وضمان الجودة: الأدوار والحدود ومخاطر التزييف والتحقق من الصحة 2. سيناريو الاختبار وإنشاء حالة الاختبار: من المتطلبات إلى التحكم الشامل 3. الاختبار الاستكشافي وتوليد أفكار الاختبار: صيد الأخطاء الإبداعي باستخدام الذكاء الاصطناعي 4. أتمتة اختبار واجهة المستخدم: إنشاء كود السيلينيوم والكاتب المسرحي والسرو باستخدام الذكاء الاصطناعي 5. أتمتة اختبار واجهة برمجة التطبيقات: العقد والمخطط والتحقق الشامل من خلال الذكاء الاصطناعي 6. إنشاء اختبار الوحدة وقابلية الاختبار: اختبار قوي باستخدام الذكاء الاصطناعي 7. كتابة تقارير الأخطاء وتحديد الأولويات: سجلات واضحة وقابلة للتكرار باستخدام الذكاء الاصطناعي 8. تحليل تغطية الاختبار والاختبار القائم على المخاطر: الهدف الصحيح باستخدام الذكاء الاصطناعي 9. اختبار الانحدار، وصيانة الاختبار، ومكافحة الاختبارات الهشة 10. مخاطر الثقة الزائفة وجودة الاختبار واختبار الطفرات: اختبارات الاختبار 11. سير العمل الشامل، وتكامل CI/CD، والأخلاقيات والأمن: استخدام الذكاء الاصطناعي بشكل مسؤول
وحدة 11 / 11

سير العمل الشامل، وتكامل CI/CD، والأخلاقيات والأمن: استخدام الذكاء الاصطناعي بشكل مسؤول

المكاسب:

  • القدرة على تصميم دور الذكاء الاصطناعي ونقاط الموافقة البشرية في تدفق ضمان الجودة الشامل من الفكرة إلى الإصدار في سياق CI/CD
  • في CI/CD، عدم السماح للذكاء الاصطناعي "باجتياز" الاختبار تلقائيًا، ولكن تطبيق حدود لحماية البيانات والمفاتيح السرية
  • القدرة على إجراء اختبارات الأمان داخل السلطة ولأغراض دفاعية، واعتماد مبادئ الإفصاح المسؤول والشفافية الأخلاقية.

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

تدفق ضمان الجودة الشامل المدعوم بالذكاء الاصطناعي

دور الذكاء الاصطناعي في رحلة الميزة من الفكرة إلى الإصدار:

1. تحليل المتطلبات. يشير الذكاء الاصطناعي إلى أوجه الغموض في المتطلبات ومعايير القبول المفقودة ("لا توضح هذه القاعدة عدد الأحرف الأدنى لكلمة المرور").

2. تصميم الاختبار. تعد مسودات السيناريو والحالة (الوحدة 2)، وحالات الحافة (الوحدة 3) من بين معايير القبول.

3. الأتمتة. مسودات كود اختبار الوحدة (6) وواجهة برمجة التطبيقات (5) وواجهة المستخدم (4)؛ تم تأكيد كل منها عن طريق الطفرة (10).

4. تكامل CI/CD. يتم تشغيل الاختبارات تلقائيًا مع كل عملية دمج للتعليمات البرمجية. يقوم الذكاء الاصطناعي بصياغة تكوين خط الأنابيب (YAML)، ويلخص سجلات الاختبارات الفاشلة، ويقترح السبب الجذري المحتمل.

5. قرار الافراج. يتم جمع نتائج تحليل المخاطر (8) والانحدار (9) — لكن الخبير يقرر ما إذا كان يمكن أن يكون ناجحًا.

6. مراقبة الإنتاج وردود الفعل. الأخطاء في الحياة تصبح اختبارات مستقبلية؛ يقترح الذكاء الاصطناعي حالة انحدار من عيب في التصنيع.

نصيحة: قم بإعداد الذكاء الاصطناعي كطبقة في CI/CD تعمل على "تسريع المسودات التي يراجعها الإنسان" بدلاً من "كتابة الاختبارات واتخاذ القرارات". لا ينبغي أن تدخل أي اختبارات تم إنشاؤها تلقائيًا إلى المسار دون مراجعة بشرية لها والموافقة عليها.

الذكاء الاصطناعي في CI/CD: حيث نعم، حيث لا

المرحلة

تناسب الذكاء الاصطناعي

الإنسان ضروري

مسودة كود الاختبار

نعم

مراجعة + طفرة

مسودة خط أنابيب YAML

نعم

المصادقة + التحقق من المفتاح السري

فشل ملخص السجل

نعم

تأكيد السبب الجذري

تشخيص اختبار هش

نعم

قرار الحل الدائم

"هل يمكن أن يكون هناك نسخة؟"

لا

حكم الخبراء والمسؤولية

"اجتياز" الاختبار تلقائيًا

أبدا

تنبيه: لا تمنح الذكاء الاصطناعي مطلقًا تفويضًا مثل "إصلاحه لاجتياز اختبار الفشل" في CI/CD. وهذا يتعارض مع غرض الاختبار ويغطي الأخطاء تلقائيًا. يستطيع الذكاء الاصطناعي تفسير الخطأ واقتراح التصحيح؛ لكن "طلاء الاختبار باللون الأخضر" يجب أن يكون قرارًا واعيًا وعقلانيًا من جانب الشخص.

الخصوصية والبيانات والأمن: حدود غير قابلة للتغيير

الخصوصية. في بيئة الاختبار، تكون بيانات العميل الفعلية ونسخ قاعدة بيانات الإنتاج ومفاتيح API ومعلومات النظام الداخلي حساسة. لا تعطيها لأدوات الذكاء الاصطناعي العامة. تخضع البيانات الشخصية لقوانين KVKK واللوائح المماثلة؛ سجلات القناع ولقطات الشاشة. استخدم بيانات الاختبار الاصطناعية (الخيالية) حيثما أمكن ذلك.

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

الأخلاق والشفافية. لا تقدم الاختبارات التي ينتجها الذكاء الاصطناعي على أنها عملك الخاص؛ إن الإشارة إلى أنك تستخدم الذكاء الاصطناعي داخل الفريق يعد بمثابة شفافية. أنت مسؤول عن عدم دقة المخرجات التي ينتجها الذكاء الاصطناعي - إن عبارة "كتبها الذكاء الاصطناعي" ليست عذرًا.

موجه ضعيف / موجه قوي

ضعيف: "إعداد خط أنابيب اختبار لـ CI."
Strong: "قم بصياغة YAML لسير عمل CI لإجراءات GitHub: تشغيل اختبارات الوحدة + API على كل PR، وإنشاء تقرير التغطية، وتشغيل اختبار الطفرات (Stryker) أسبوعيًا. لا تقم بتضمين أسرار في التعليمات البرمجية؛ استخدم مرجع الأسرار فقط. قم بحظر الدمج إذا كانت الاختبارات باللون الأحمر. هذه مسودة؛ سأقوم بمراجعة وتحرير إدارة المفاتيح السرية وخطوات التحقق من الصحة. لا تقم بإضافة خطوة "إصلاح" أو "ترحيل" للاختبار الآلي."

موجه قوي؛ فهو يفرض حدودًا على السرية والمراجعة البشرية و"عدم وجود اختبار آلي".

أربعة قوالب قابلة للنسخ

1) خطة الاختبار الشاملة:

دورك: قائد أول لضمان الجودة. قم بصياغة خطة اختبار شاملة من الفكرة إلى الإصدار للميزة التالية: [الميزة + معايير القبول]. المراحل: تحليل المتطلبات (عدم اليقين)، تصميم الاختبار، طبقات الأتمتة (الوحدة/واجهة برمجة التطبيقات/واجهة المستخدم)، تكامل CI/CD، معايير قرار الإصدار، تتبع الإنتاج. حدد دور نقاط الموافقة الخاصة بالذكاء الاصطناعي والإنسان في كل مرحلة على حدة.

2) مخطط خط أنابيب CI/CD:

مسودة CI YAML لـ [GitHub Actions/GitLab CI/Azure Pipelines]: - اختبار الوحدة + API + النطاق في العلاقات العامة - منع الدمج في الاختبار الأحمر - القيم السرية فقط مع الأسرار؛ التضمين في الكود، هذه مسودة؛ سأقوم بمراجعة خطوات الإدارة والموافقة الرئيسية. إضافة خطوة اختبار التصحيح التلقائي/اجتياز.

3) فشل تحليل سجل الاختبار:

في نسخة CI المطبوعة هذه، تكون الاختبارات باللون الأحمر. فحص السجل. قم بتجميع حالات الفشل، وتمييز السبب الجذري المحتمل وأيها قد يكون الفشل الحقيقي والذي قد يكون مشكلة اختبار/بيئة هشة. إذا كانت هناك بيانات شخصية، قم بإخفائها. القرار والتصحيح سيكون لي. السجل: [لصق]

4) الفحص المسبق للأمن/الخصوصية:

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

ثلاث حالات صغيرة

الحالة 1 - سرعة التدفق من النهاية إلى النهاية. تعامل أحد الفرق مع ميزة "تجديد الاشتراك" الجديدة من خلال التدفق الشامل المدعوم بالذكاء الاصطناعي: تم الإبلاغ عن حالات عدم اليقين في المتطلبات مقدمًا، وصياغة اختبارات ثلاثية الطبقات والتحقق من صحة الطفرات، وربطها بـ CI. خفضت هذه الميزة دورة الاختبار، التي كانت تستغرق 5 أيام في العملية التقليدية، إلى يومين؛ ولكن تم الحفاظ على الموافقة البشرية في كل مرحلة، وتم إغلاق حالة عدم اليقين بشأن المتطلبات (ماذا يحدث إذا فشل التحديث) قبل البث المباشر.

الحالة 2 - العودة من تسرب المفتاح. قام أحد المطورين بإنشاء الذكاء الاصطناعي CI YAML، وقام الذكاء الاصطناعي بتضمين مفتاح واجهة برمجة التطبيقات ذو المظهر الحقيقي في YAML كمثال. وقد استحوذت خطوة "الفحص المسبق للأمان/الخصوصية" على ذلك؛ تم تحويل المفتاح إلى مرجع أسرار. بدون خطوة التدقيق، قد يتسرب المفتاح إلى التحكم في الإصدار (سجل git).

الحالة 3 - حدود السلطة. أراد أحد أعضاء الفريق تطبيق اختبار IDOR الذي تعلمه على النظام المباشر لشريك العمل من منطلق "كنت أشعر بالفضول". توقف قائد ضمان الجودة: من غير القانوني إجراء اختبار أمني على نظام آخر دون الحصول على إذن كتابي ونطاق محدد. تم إجراء الاختبار فقط في بيئة اختبار منتجاتهم الخاصة، وبموجب السلطة؛ تم إخطار الجهة المسؤولة المفتوحة للفريق المعني.

الأخطاء الشائعة

  • جعل الذكاء الاصطناعي يتخذ قرارات الإصدار. طرح السؤال "هل يمكن إطلاق سراحه؟" إلى الذكاء الاصطناعي ووضع الإجابة مكان التوقيع.
  • "اجتياز" الاختبار الآلي. في CI، جعل الذكاء الاصطناعي يرسم الاختبار باللون الأخضر؛ تغطية الأخطاء.
  • إعطاء البيانات السرية/المفتاح للمركبة. مشاركة بيانات الإنتاج أو البيانات الشخصية أو مفاتيح واجهة برمجة التطبيقات (API) دون إشراف.
  • اختبار أمني غير مصرح به. اختبار المهاجم على نظام آخر دون نطاق وإذن.
  • إدخال الاختبارات في خط الأنابيب دون مراجعة. تشغيل رسم الذكاء الاصطناعي تلقائيًا دون موافقة الإنسان.
  • إلقاء اللوم على الذكاء الاصطناعي. الدفاع عن الإخراج غير الصحيح بالقول "لقد كتبه الذكاء الاصطناعي".

في ملخص

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

مهمة التطبيق

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

قائمة مرجعية

  • [ ] أعزو قرارات الإطلاق والاختبار إلى موافقة الإنسان؛ ولم أسلّمها إلى منظمة العفو الدولية.
  • [ ] في CI/CD، لم أعط إذنًا للذكاء الاصطناعي "لاجتياز/تصحيح" الاختبار تلقائيًا.
  • [ ] قمت بفحص وإخفاء البيانات السرية والبيانات الشخصية والمفاتيح قبل إرسالها إلى السيارة.
  • [ ] لقد فكرت فقط في اختبار الأمان على المنتج الخاص بي، ضمن التفويض والنطاق الكتابيين.
  • [ ] لقد عالجت نقاط الضعف الموجودة في مبدأ الإفصاح المسؤول.
  • [ ] ذكرت بكل شفافية أنني استخدمت الذكاء الاصطناعي وأحمل نفسي مسؤولية دقة المخرجات.

امتحان الوحدة

1. كيف يتم تعريف "التمرير الخاطئ" بشكل أكثر دقة في سياق ضمان الجودة؟

  • أ) على الرغم من أن الاختبار يتحول إلى اللون الأخضر، إلا أنه لا يؤكد فعليًا أي سلوك؛ ✔ لا يتحول إلى اللون الأحمر حتى في حالة تلف الكود
  • ب) يجري الاختبار ببطء شديد وتنتهي مهلته.
  • ج) يكشف الاختبار عن خطأ حقيقي ويتحول إلى اللون الأحمر
  • د) يتم تشغيل الاختبار فقط في بيئة الإنتاج

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

2. ما هو الموضع الأكثر دقة للذكاء الاصطناعي في عملية الاختبار وضمان الجودة؟

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

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

3. استنادًا إلى حقيقة أن الأخطاء تحدث غالبًا عند قيم العتبة، ما هي تقنية تصميم الاختبار التي سيتم اختبارها لعمر 17 و18 و19 بشكل منفصل للحد العمري 18 عامًا؟

  • أ) اختبار انتقال الدولة
  • ب) جدول القرار
  • ج) تحليل القيمة الحدودية✔
  • د) الاختبارات الاستكشافية

Explanation: تحليل قيمة الحدود يعتمد على ملاحظة أن الأخطاء تحدث بشكل متكرر عند الحدود ويختبر قيم الحدود (أسفل الحد مباشرة وفوقه مباشرة وفوقه مباشرة) بشكل منفصل. إنها تقنية قوية تكمل فصول التكافؤ.

4. ما هو النهج الذي ينبغي تفضيله في اختيار العناصر لتقليل الهشاشة في كود أتمتة اختبار واجهة المستخدم المنتج باستخدام الذكاء الاصطناعي؟

  • أ) استخدام أطول مسار XPath ممكن
  • ب) تحديد العنصر وفقًا لموقع البكسل الخاص به على الشاشة
  • ج) استخدام المحددات بناءً على أسماء فئات CSS
  • د) استخدام السمات المستقرة (data-testid) المضافة للاختبار ✔

Explanation: مسارات XPath الطويلة وأسماء فئات CSS تعتمد بشكل كبير على بنية الصفحة وتصميمها؛ ينكسر عند أدنى تغيير في الواجهة. السمات الثابتة المضافة خصيصًا للاختبار (مثل data-testid) لا تتأثر بتغييرات التصميم وتجعل الاختبارات قوية.

5. لماذا لا يكفي أن يقوم اختبار واجهة برمجة التطبيقات (API) فقط بالتحقق من رمز حالة HTTP (على سبيل المثال 200)؟

  • أ) لأن بيانات الجسم التي تحتوي على رمز الحالة الصحيح قد تكون تالفة ولن يتمكن فحص الحالة وحده من اكتشاف ذلك (الثقة الزائفة) ✔
  • ب) لأن رموز الحالة غير موثوقة على الإطلاق في اختبارات API
  • ج) لأن التحقق من رمز الحالة يبطئ الاختبار كثيرًا
  • د) لأنه لا يتم إرجاع رمز الحالة مطلقًا في اختبارات واجهة برمجة التطبيقات (API).

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

6. لماذا من المهم إخبار الذكاء الاصطناعي "بحساب القيمة المتوقعة يدويًا وفقًا لقاعدة القبول، وعدم الرجوع إلى الإخراج الحالي للوظيفة" عند طباعة اختبارات الوحدة؟

  • أ) لأن الحساب اليدوي يؤدي إلى إجراء الاختبارات بشكل أسرع
  • ب) لأنه بخلاف ذلك يقبل الاختبار السلوك الحالي (ربما الذي يكون به خطأ) للكود على أنه "صحيح" ويؤكد الخطأ ✔
  • ج) لأن الذكاء الاصطناعي لا يستطيع حساب الأعداد العشرية على الإطلاق
  • د) لأن قواعد القبول لا تستخدم أبدًا في الاختبارات

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

7. أي مما يلي هو السمة الأكثر تميزًا لتقرير الأخطاء الجيد؟

  • أ) أن تكون طويلة وفنية قدر الإمكان
  • ب) كتبها الذكاء الاصطناعي
  • ج) يحتوي على خطوات إعادة إنتاج حتمية يمكن للمطور اتباعها بشكل مستقل وينتج الخطأ ✔
  • د) إنها مجرد لقطة شاشة

توضيح: القيمة الحقيقية لتقرير الخطأ هي أن المطور يمكنه إعادة إنتاج الخطأ دون مساعدتك. تضمن خطوات الاستنساخ الحتمية والقابلة للتتبع من الصفر ذلك؛ إذا كانت هذه الخطوات مفقودة، فغالبًا ما يتم إغلاق التقرير بالحالة "تعذر الإنتاج".

8. ما هو التعبير الأدق للعلاقة بين الخطورة والأولوية في الخطأ الإملائي لاسم الشركة في الصفحة الرئيسية؟

  • أ) يجب أن يكون للكثافة والأولوية نفس القيمة دائمًا
  • ب) إن خطورة هذا الخطأ وأولويته منخفضة بالتأكيد
  • ج) الخطورة والأولوية هما نفس المفهوم، تسمية واحدة كافية
  • د) قد تكون الكثافة التقنية منخفضة ولكن أولوية العمل (السمعة) قد تكون عالية؛ يتم تقييم الاثنين بشكل مختلف✔

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

9. ما هو التفسير الأكثر دقة لمجموعة اختبار بتغطية خطية تبلغ 90%؟

  • أ) يوضح أن الخطوط قد تم تنفيذها ولكن لا يثبت أنها تعمل بشكل صحيح؛ ✔تغطية عالية قد تعطي ثقة زائفة
  • ب) يثبت بشكل قاطع أن 90% من البرامج خالية من الأخطاء
  • ج) إنه مقياس نهائي لجودة الاختبار الممتازة.
  • د) يشير إلى أنه ليست هناك حاجة لكتابة أي اختبارات إضافية بعد الآن

Explanation: تشير تغطية الصفوف إلى أنه تم تنفيذ الصفوف فقط؛ ولا يثبت أنه يعطي نتائج صحيحة. حتى مع الاختبارات غير المؤكدة، يمكن تحقيق تغطية بنسبة 90%. النطاق عبارة عن خريطة "لم يتم البحث مطلقًا في أي مكان"، وليس ضمانًا "تم اختبار كل شيء"؛ يتم قياس الحماية الفعلية عن طريق اختبار الطفرة.

10. في الاختبار المبني على المخاطر، كيف يتم حساب خطورة الميزة لتوجيه جهد الاختبار المحدود؟

  • أ) فقط من خلال عدد أسطر التعليمات البرمجية
  • ب) بضرب احتمال الفشل والتأثير الذي سيحدث عند تعطله✔
  • ج) فقط بالترتيب الذي تم تطوير الميزة به
  • د) إعطاء الأولوية فقط للميزة الأسهل في كتابة الاختبارات لها

الشرح: في الاختبار المبني على المخاطر، يتم تقييم المخاطر على النحو التالي: الاحتمالية = الاحتمالية (احتمالية الانهيار) × التأثير (الضرر في حالة الكسر). تستحق النطاقات ذات الاحتمالية العالية والتأثير العالي (الدفع والمصادقة) الاختبار الأكثر كثافة، بينما تتلقى النطاقات المنخفضة × المنخفضة اختبارات خفيفة.

11. ما هو الخطر الرئيسي المتمثل في إضافة إعادة المحاولة إلى اختبار ينجح أحيانًا ويفشل أحيانًا (هش/متقلب) على الرغم من عدم تغيير الكود؟

  • أ) تقصير وقت إجراء الاختبار
  • ب) تقلل نسبة التغطية
  • ج) التستر على خطأ التزامن الحقيقي أو السبب الجذري وقمع الأعراض ✔
  • د) تغيير اسم الاختبار

توضيح: إعادة المحاولة هي أداة تشخيصية وليست علاجية. غالبًا ما يأتي التردد من حالة عرقية فعلية أو إدمان؛ يؤدي "نجاح" الاختبار من خلال إعادة المحاولة إلى تغطية هذا الخطأ الحقيقي ويمكن أن يسبب مشكلات خطيرة في البث المباشر. يجب العثور على السبب الجذري أولا.

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

  • أ) عن طريق قياس سرعة تشغيل الاختبارات
  • ب) من خلال حساب عدد أسطر التعليمات البرمجية التي تمت كتابتها
  • ج) عن طريق إجراء الاختبارات بترتيبات مختلفة
  • د) عن طريق إنشاء فواصل صغيرة في الكود عمدًا وقياس ما إذا كانت الاختبارات قد التقطتها أم لا ✔

الوصف: ينتج عن اختبار الطفرات تشوهات متعمدة صغيرة (طفرات) في كود المصدر؛ يجب أن تلتقط مجموعة الاختبار الجيدة هذه التشوهات وتتحول إلى اللون الأحمر. تشير الطفرات التي لم يتم اكتشافها (البقاء على قيد الحياة) إلى أن الاختبارات لا تحافظ على هذا السلوك. تعد درجة الطفرة مقياسًا أكثر صدقًا للجودة من النسبة المئوية للتغطية.

13. ما هو الحد الرئيسي الذي يجب اتباعه عند إجراء اختبارات الأمان (مثل اختبارات التفويض/IDOR)؟

  • أ) يجب أن يتم ذلك فقط على المنتج الخاص به، ضمن تصريح كتابي ونطاق محدد، لأغراض دفاعية ✔
  • ب) يمكن تطبيقه بحرية على أي نظام اهتمام
  • ج) يمكن تجربتها على الأنظمة الحية لشركاء الأعمال دون إذن
  • د) يجب نشر أي نقاط ضعف يتم اكتشافها علنًا على الفور.

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

14. ما هي السلطة التي لا ينبغي أبدًا منحها للذكاء الاصطناعي في مسار CI/CD؟

  • أ) تلخيص سجلات الاختبار الفاشلة
  • ب) صلاحية "اجتياز" الاختبار الفاشل (الأحمر) تلقائيًا أو طلاءه باللون الأخضر ✔
  • ج) اقتراح مسودة كود الاختبار
  • د) صياغة ملف YAML لخط الأنابيب

الوصف: يمكن للذكاء الاصطناعي إنتاج مخطط تفصيلي لرمز الاختبار، وخط أنابيب YAML، وملخص السجل في CI/CD؛ ومع ذلك، لا ينبغي أبدًا منح القدرة على "اجتياز/إصلاح" الاختبار الفاشل تلقائيًا. وهذا يتعارض مع غرض الاختبار ويغطي الأخطاء تلقائيًا. يجب أن يكون طلاء الاختبار باللون الأخضر قرارًا واعيًا ومعقولًا للشخص.