Skip to Content
Testingالاختبارات الافتراضية

الاختبارات الافتراضية

الاختبار مفعّل افتراضيا في وصفة مطبّعة، بأربعة أسماء اختبار محددة مسبقا: boot، وlogin، وpackages، وnetwork. هذه فحوص ضيف صغيرة، وليست مجموعة قبول كاملة. يمكن لوصفة تعطيل الاختبار أو استبدال القائمة، وبعض أنواع المخرج تستخدم عقدا أضيق.

ما تثبته الافتراضيات فعلا

اختبارالفحص المنفّذلا يثبت
bootيخرج uptime بنجاح عبر وكيل ضيف QEMUكل مسار محمل إقلاع، أو إقلاع عتاد، أو غياب تحذيرات النواة
loginيمكن لـ whoami العمل عبر قناة وكيل الضيف الجذركلمة مرور تفاعلية، أو مفتاح SSH، أو PAM، أو محيي سطح مكتب، أو دخول مستخدم نهائي
packagesينجح أحد dpkg --list، أو rpm -qa، أو pacman -Qأن كل حزمة طلبها الموجز مثبتة
networkيحل DNS example.com وينجح اتصال TCP إلى المنفذ 443 بعد إعادة محاولات محدودةصحة الإنترنت عامة، أو محتوى HTTP، أو كل واجهة، أو تصميم معزول عن الشبكة

يزيل مسار CIS لـ Ubuntu 24.04 فحص الشبكة العام ويستخدم تحقق الميزة المقيد بالجاهزية بدلا منه. يمكن لوصفة بلا مسار إنترنت متوقع تحويل فحص شبكة عام فاشل إلى تحذير.

فحوص الميزات والقدرات

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

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

قراءة النتيجة

استخدم صفوف التحقق والأدلة، لا الشارة الإجمالية فقط:

  • passed يعني أن الفحص القابل للتنفيذ أعاد نتيجته المتوقعة.
  • failed يعني أن الفحص جرى وناقض التوقّع.
  • error يعني أن الحزام لم يستطع إنتاج حكم.
  • skipped يعني أن الفحص لم يجرِ، مثلا لأن VM هدفه كان غائبا.

الأخطاء والتخطي ليست نجاحات. صورة مكتملة وتشغيل اختبار ناجح حالتان منفصلتان؛ الشهادة بوابة ثالثة.

عرّف معايير قبول أقوى

لحمل عمل حقيقي، أضف تحققات ذات صلة بالموجز. مثلا:

{ "description": "Nginx serves the local health endpoint", "assertions": [ { "type": "service_running", "description": "Nginx is active", "params": { "service": "nginx" } }, { "type": "http_responds", "description": "Health endpoint returns 200", "params": { "url": "http://localhost/health", "status": 200 } } ] }

ثم افحص الصورة المبنية في اللوحة، وللادعاءات المرتبطة بالعتاد، اختبر على عتاد ممثل. راجع تحققات مخصصة وأنواع التحقق.