الاختبارات الافتراضية
الاختبار مفعّل افتراضيا في وصفة مطبّعة، بأربعة أسماء اختبار محددة
مسبقا: 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 }
}
]
}ثم افحص الصورة المبنية في اللوحة، وللادعاءات المرتبطة بالعتاد، اختبر على عتاد ممثل. راجع تحققات مخصصة وأنواع التحقق.