اختبار الدخان (البرمجيات)

في برمجة الحاسوب واختبار البرمجيات ، يُعدّ اختبار التحقق الأولي (المعروف أيضًا باختبار الثقة ، واختبار السلامة ، [ 1 ] واختبار التحقق من الإصدار ( BVT ) [ 2 ] [ 3 ] [ 4 ] واختبار قبول الإصدار ) اختبارًا أوليًا أو اختبار سلامة للكشف عن الأعطال البسيطة التي قد تكون خطيرة بما يكفي، على سبيل المثال، لرفض إصدار برمجي مُحتمل. تُشكّل اختبارات التحقق الأولي مجموعة فرعية من حالات الاختبار التي تُغطي أهم وظائف مُكوّن أو نظام، وتُستخدم للمساعدة في تقييم ما إذا كانت الوظائف الرئيسية للبرنامج تعمل بشكل صحيح. [ 1 ] [ 2 ] عند استخدامه لتحديد ما إذا كان ينبغي إخضاع برنامج حاسوبي لاختبارات إضافية أكثر دقة، يُمكن تسمية اختبار التحقق الأولي باختبار ما قبل الإصدار [ 5 ] أو اختبار القبول . [ 1 ] بدلاً من ذلك، هو مجموعة من الاختبارات التي تُجرى على كل إصدار جديد من المنتج للتحقق من إمكانية اختبار الإصدار قبل إصداره لفريق الاختبار. [ 6 ] في نموذج DevOps ، يُعد استخدام خطوة اختبار التحقق من البناء أحد السمات المميزة لمرحلة نضج التكامل المستمر . [ 7 ]

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

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

Frequent reintegration with smoke testing is among industry best practices.[9] Ideally, every commit to a source code repository should trigger a Continuous Integration build, to identify regressions as soon as possible. If builds take too long, you might batch up several commits into one build, or very large systems might be rebuilt once a day. Overall, rebuild and retest as often as you can.

Smoke testing is also done by testers before accepting a build for further testing. Microsoft claims that after code reviews, "smoke testing is the most cost-effective method for identifying and fixing defects in software".[10]

One can perform smoke tests either manually or using an automated tool. In the case of automated tools, the process that generates the build will often initiate the testing.

Smoke tests can be functional tests or unit tests. Functional tests exercise the complete program with various inputs. Unit tests exercise individual functions, subroutines, or object methods. Functional tests may comprise a scripted series of program inputs, possibly even with an automated mechanism for controlling mouse movements. Unit tests can be implemented either as separate functions within the code itself, or else as a driver layer that links to the code without altering the code being tested.

Etymology

In Lessons Learned in Software Testing, Cem Kaner, James Bach, and Brett Pettichord provided the origin of the term: "The phrase smoke test comes from electronic hardware testing. You plug in a new board and turn on the power. If you see smoke coming from the board, turn off the power. You don't have to do any more testing."[3]

See also

References

  1. 123ISTQB® Glossary for the International Software Testing Qualification Board® software testing qualification scheme, ISTQB Glossary International Software Testing Qualification Board.
  2. 12Dustin, Rashka, Paul. "Automated Software Testing -Introduction, Management, and Performance". Addison-Wesley 1999, p. 43-44. ISBN 0-201-43287-0.
  3. 123Kaner, Cem; Bach, James; Pettichord, Bret (2002). Lessons Learned in Software Testing. Wiley Computer Publishing. p. 95. ISBN 0-471-08112-4.
  4. "كيفية: تكوين وتشغيل اختبارات التحقق من البناء (BVTs)" . مكتبة MSDN لـ Visual Studio 2005. تم الاطلاع عليه بتاريخ 20 نوفمبر 2010 .
  5. ٢٠١٣-٠٣-٢٠ مصطلحات ISTQB لاختبار البرامج، الإصدار ٢.٢ فريق عمل المصطلحات، المجلس الدولي لمؤهلات اختبار البرمجيات، إريك فان فينندال (الإنجليزية)، إرنست فون دورينغ (النرويجية) "اختبار الاستيعاب: حالة خاصة من اختبار الدخان لتحديد ما إذا كان المكون أو النظام جاهزًا لاختبارات تفصيلية ومتقدمة. يُجرى اختبار الاستيعاب عادةً في بداية مرحلة تنفيذ الاختبار. انظر أيضًا اختبار الدخان."
  6. ^ صموئيل ميناكر. شيتال جوتيجولي (14 ديسمبر 2014). إدارة تطوير البرمجيات . صامويل ميناكر، شيتال جوتيجولي. ص. 40. جي كي: JH61NP21TXJ. 
  7. مجلة باور شيل ، ديف أوبس، البنية التحتية كبرنامج، و باور شيل دي إس سي: مقدمة، بقلم رافيكانث سي، 5 يناير 2016
  8. سيم كانر، جيمس باخ، بريت بيتيكورد، دروس مستفادة في اختبار البرمجيات: منهج قائم على السياق . وايلي، 2001
  9. ماكونيل، ستيف. "التطوير السريع". مطبعة مايكروسوفت، ص 405
  10. "إرشادات لاختبار الدخان" . مكتبة MSDN لبرنامج Visual Studio 2005. 26 يونيو 2007. تم الاطلاع عليه بتاريخ 20 نوفمبر 2010 .
  • تعريف مجلة PC Mag