ما هو اختبار الدخان؟

⚡ ملخص ذكي

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

  • 🔍 فريف: يقوم اختبار الدخان بإجراء مجموعة أساسية من الفحوصات على كل إصدار جديد للتأكد من عدم وجود أي عائق يمنع إجراء المزيد من الاختبارات.
  • 🕒 التوقيت: قم بتنفيذ المجموعة بمجرد وصول الإصدار إلى بيئة ضمان الجودة أو بيئة الاختبار، قبل بدء أي اختبار وظيفي.
  • 👤 ملكية: يقوم مهندسو ضمان الجودة أو قائد فريق ضمان الجودة باختيار الوظائف الأساسية ويقررون ما إذا كانوا سيقبلون الإصدار أم يرفضونه.
  • 🧭 المسارات الحرجة: حافظ على تغطية واسعة وسطحية تشمل تسجيل الدخول والبحث وإدخال البيانات والدفع وتسجيل الخروج في عملية واحدة.
  • ⏱️ ميزانية وقت التشغيل: حافظ على مدة التشغيل قريبة من 20 إلى 30 حالة ولمدة تتراوح بين 10 إلى 15 دقيقة حتى لا تصبح البوابة نقطة اختناق.
  • ⚙️ الأتمتة: قم بتوصيل المجموعة بخط أنابيب CI/CD بحيث يتم التحقق من كل عملية إيداع وكل عملية نشر دون جهد يدوي.
  • 🚫 التحكم في التقشر: تخلص من الحالات التي تعتمد بشكل كبير على التبعيات وغير المتسقة، لأن البوابة غير الموثوقة تدمر الثقة في حكم البناء.

ما هو اختبار الدخان؟

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

ببساطة، يعني اختبار التحقق الأولي التأكد من عمل الميزات المهمة وعدم وجود أي عوائق جوهرية في النسخة قيد الاختبار. إنه اختبار سريع ومختصر للوظائف الرئيسية، ويساعد في تحديد ما إذا كانت النسخة معيبة، مما يجعل أي اختبارات إضافية مضيعة للوقت والموارد.

المقارنات اختبار الدخان مقابل الصحة العقلية

#1 الأفضل بشكل عاماختبار سيغما
9.8/ 10
★ ★ ★ ★ ★
احصل على عرض تجريبي مجاني
PractiTest
9.5/ 10
★ ★ ★ ★ ★
قم بزيارة : PractiTest
Testiny
9.3/ 10
★ ★ ★ ★ ★
قم بزيارة : Testiny
أفضل من أجلاختبار الأتمتةإدارة الاختبارفرق ضمان الجودة الصغيرة والمتوسطة
ميزة رئيسية✓أنشئ اختبارات آلية في ثوانٍ✓إدارة الاختبارات المركزية✓حالات الاختبار اليدوية والآلية
آلية الربط✓Jenkins, Slack، جيرا✓جيرا، Jenkins, Slack✓Jira، GitHub، GitLab
تجربة مجانيّةالتجريب المجانيشنومكس يوم التجربة المجانيةالتجريب المجاني
احصل على عرض تجريبي مجانيقم بزيارة : PractiTestقم بزيارة : Testiny

لماذا نقوم باختبار الدخان؟

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

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

مثال 1: نافذة التسجيل: قادرة على الانتقال إلى النافذة التالية باستخدام اسم مستخدم وكلمة مرور صالحين عند النقر فوق زر إرسال.

مثال 2: المستخدم غير قادر على تسجيل الخروج من صفحة الويب.

متى نقوم باختبار الدخان؟

لا تتحقق هذه الفوائد إلا إذا تم تفعيل الفحص في الوقت المناسب. يُجرى اختبار التحقق الأولي (Smoke Testing) عند تطوير وظائف جديدة للبرنامج ودمجها مع الإصدار الحالي المنشور في بيئة ضمان الجودة/التجريب. يضمن هذا الاختبار عمل جميع الوظائف الأساسية بشكل صحيح. يوضح الرسم البياني أدناه كيفية وصول الإصدار إلى بيئة ضمان الجودة قبل بدء اختبار التحقق الأولي.

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

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

مثال:- تمت إضافة زر تسجيل جديد في نافذة تسجيل الدخول وتم نشر البناء بالكود الجديد. نقوم بإجراء اختبار الدخان على البناء الجديد.

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

ماذا يحدث إذا لم نقم بإجراء اختبار الدخان؟

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

من سيقوم بإجراء اختبار الدخان؟

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

كيفية إجراء اختبار الدخان؟

عادةً ما يتم إجراء اختبار الدخان يدويًا على الرغم من وجود إمكانية لإنجاز نفس الشيء من خلال التشغيل الآلي. وقد يختلف من منظمة إلى أخرى.

اختبار الدخان اليدوي

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

يبدأ فريق ضمان الجودة اختبارات التحقق السريع باستخدام إصدار جديد من النظام. تُجرى هذه الاختبارات على الإصدار الجديد، وسيتم دمجها مع الإصدارات القديمة لضمان سلامة النظام. قبل إجراء اختبارات التحقق السريع، يجب على فريق ضمان الجودة التأكد من صحة إصدارات النظام.

اختبار الدخان بواسطة الأتمتة

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

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

باستخدام أداة آلية، يسجل مهندس الاختبار جميع الخطوات اليدوية التي يتم تنفيذها في بناء البرنامج.

دورة اختبار الدخان

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

أفضل الممارسات لتصميم حالات اختبار الدخان

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

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

Revمراجعة المجموعة في كل إصدار: إيقاف الحالات المتعلقة بالميزات التي لم تعد مهمة وإضافة سير العمل الجديد ذي الأهمية البالغة.

اختبار الدخان في خطوط أنابيب التكامل المستمر/التسليم المستمر

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

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

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

مزايا اختبار الدخان

فيما يلي بعض المزايا المدرجة لاختبار الدخان.

  • سهل الأداء ويعمل بسرعة
  • يسهل اكتشاف الأخطاء والعيوب الحرجة وتصحيحها في المراحل المبكرة.
  • يحسن جودة النظام
  • يقلل من المخاطر
  • يسهل تقييم التقدم.
  • يوفر جهد الاختبار والوقت
  • يقلل من مخاطر التكامل

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

اختبار الدخان مقابل اختبار السلامة مقابل اختبار الانحدار

يتم تشغيل البرامج الثلاثة جميعها بعد تغيير الكود، ولهذا السبب غالباً ما يحدث خلط بينها. وهي تختلف في نطاقها وعمقها والسؤال الذي يجيب عنه كل منها.

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

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

BASIS اختبار الدخان اختبار العقلانية اختبار الانحدار
مجال واسع وضحل ضيق وعميق واسع وعميق
تمت الإجابة على السؤال هل هذه النسخة مستقرة بما يكفي للاختبار؟ هل هذا الحل المحدد فعال؟ هل تعطل أي شيء كان يعمل سابقاً؟
تسلسل أولاً، في كل عملية بناء بعد اجتياز اختبار الدخان بعد إجراء اختبارات السلامة العقلية
المدة النموذجية شنومكس إلى دقائق شنومكس شنومكس إلى دقائق شنومكس Hours إلى أيام
ملاءمة الأتمتة عالي جدا معتدل، وغالباً ما يكون يدوياً عالي جدا

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

عينة من حالات اختبار الدخان

يوضح الجدول أدناه مجموعة اختبارات قصيرة، صف واحد لكل مسار حرج.

معرف T سيناريوهات الاختبار الوصف خطوة الاختبار نتيجة متوقعة نتيجة فعلية الوضع
1 بيانات اعتماد تسجيل الدخول صالحة اختبر وظيفة تسجيل الدخول لتطبيق الويب للتأكد من السماح للمستخدم المسجل بتسجيل الدخول باستخدام اسم المستخدم وكلمة المرور 1. قم بتشغيل التطبيق
2. انتقل إلى صفحة تسجيل الدخول
3.أدخل اسم مستخدم صالح
4.أدخل كلمة مرور صالحة
5.انقر على زر تسجيل الدخول
يجب أن يكون تسجيل الدخول ناجحا كما هو متوقع تجاوز
2 إضافة وظيفة العنصر القدرة على إضافة عنصر إلى سلة التسوق 1.اختر قائمة الفئات
2. أضف المنتج إلى سلة التسوق
يجب إضافة السلعة إلى سلة التسوق لا تتم إضافة العنصر إلى سلة التسوق فشل
3 وظيفة تسجيل الخروج تحقق من وظيفة تسجيل الخروج 1. حدد زر تسجيل الخروج يجب أن يكون المستخدم قادرًا على تسجيل الخروج. المستخدم غير قادر على تسجيل الخروج فشل

الأسئلة الشائعة

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

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

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

يُساعد ذلك بشكل كبير. أجهزة تحديد المواقع ذاتية الإصلاح في العصر الحديث أدوات اختبار الأتمتة إعادة تحديد عنصر تم نقله أو إعادة تسميته بدلاً من الفشل، مما يقلل من الإنذارات الكاذبة التي تجعل بوابة الدخان غير جديرة بالثقة. Revراجع كل جهاز تحديد موقع تم شفاؤه قبل الوثوق به.

Selenium و Cypress تغطية تدفقات المتصفح، Postman و SoapUI تغطية نقاط نهاية واجهة برمجة التطبيقات، و JUnit, TestNGيمكن تشغيل مجموعة الاختبارات باستخدام PyTest أو Jest. يناسب إطار عمل Robot Framework الفرق التي تعتمد على الكلمات المفتاحية.

تلخيص هذه التدوينة بـ: