فحص سلامة العقل
يُعدّ فحصُ صحةِ المعلوماتِ اختبارًا أساسيًا لتقييم مدى صحة ادعاءٍ ما أو نتيجةِ حسابٍ ما. وهو فحصٌ بسيطٌ للتأكد من منطقيةِ المادةِ المُنتَجة (أي أن مُنشئَها فكّرَ بعقلانيةٍ واتزان ). يهدفُ فحصُ صحةِ المعلوماتِ إلى استبعادِ فئاتٍ مُعينةٍ من النتائجِ الخاطئةِ بشكلٍ واضح، وليسَ إلى رصدِ كلِّ خطأٍ مُحتمل. يُمكنُ استخدامُ قاعدةٍ تقريبيةٍ أو حسابٍ سريعٍ لإجراءِ هذا الفحص. تكمنُ ميزةُ إجراءِ فحصِ صحةِ المعلوماتِ الأولي في سرعةِ تقييمِ الوظائفِ الأساسية.
في الحساب، على سبيل المثال، عند الضرب في 9، فإن استخدام قاعدة قابلية القسمة على 9 للتحقق من أن مجموع أرقام النتيجة قابل للقسمة على 9 هو اختبار منطقي - لن يكتشف كل خطأ في الضرب، ولكنه طريقة سريعة وبسيطة لاكتشاف العديد من الأخطاء المحتملة.
في علم الحاسوب ، يُعدّ اختبار التحقق من سلامة النظام اختبارًا سريعًا جدًا لوظائف برنامج حاسوبي أو نظام أو عملية حسابية أو تحليل آخر، للتأكد من أن جزءًا من النظام أو المنهجية يعمل كما هو متوقع تقريبًا. وغالبًا ما يكون هذا الاختبار قبل جولة اختبار أكثر شمولًا.
الاستخدام في مجالات مختلفة
رياضي
يمكن أن يشير اختبار التحقق من صحة النتائج إلى مختلف رتب المقادير وغيرها من الأدوات البسيطة التي تُستخدم للتحقق من صحة العمليات الحسابية . على سبيل المثال:
- إذا حاولنا تربيع العدد 738 وحصلنا على 54464، فإنّ التحقق السريع يُظهر أنّ هذه النتيجة غير صحيحة. لنفترض أنّ 700 < 738، ومع ذلك فإنّ 700² = 7² × 100² = 490000 > 54464. بما أنّ تربيع الأعداد الصحيحة الموجبة يحافظ على متباينتها ، فإنّ النتيجة غير صحيحة، وبالتالي فإنّ النتيجة المحسوبة خاطئة. الإجابة الصحيحة، 738² = 544644 ، أكبر من 54464 بأكثر من عشرة أضعاف.
- في عملية الضرب، 918 × 155 لا يساوي 142135، لأن 918 يقبل القسمة على ثلاثة، بينما 142135 لا يقبلها (مجموع أرقامه 16، وهو ليس من مضاعفات ثلاثة ). كذلك، يجب أن ينتهي ناتج الضرب بنفس رقم حاصل ضرب الرقمين الأخيرين: 8 × 5 = 40، لكن 142135 لا ينتهي بصفر مثل 40، بينما الإجابة الصحيحة تنتهي بصفر: 918 × 155 = 142290. وللتحقق بشكل أسرع، نلاحظ أن حاصل ضرب عدد زوجي في عدد فردي هو عدد زوجي، بينما 142135 عدد فردي.
بدني
- يمكن استخدام التحليل البُعدي للتحقق من صحة المعادلات الفيزيائية: يجب أن يكون طرفا أي معادلة قابلين للقياس أو لهما نفس الأبعاد. قد يكون الشخص الذي حسب قدرة السيارة بـ 700 كيلوجول قد أغفل عاملاً ما، لأن وحدة الجول هي مقياس للطاقة ، وليست القدرة (الطاقة لكل وحدة زمنية).
- عند تحديد الخصائص الفيزيائية ، غالبًا ما تُسهم المقارنة بمواد معروفة أو مشابهة في فهم مدى منطقية النتيجة. على سبيل المثال، تغوص معظم المعادن في الماء، لذا ينبغي أن تكون كثافة معظم المعادن أكبر من كثافة الماء (~1000 كجم/م 3 ).
- غالباً ما توفر تقديرات فيرمي نظرة ثاقبة حول رتبة حجم القيمة المتوقعة.
تطوير البرمجيات
في تطوير البرمجيات، يُقيّم اختبار السلامة (وهو نوع من اختبار البرمجيات يُقدّم "اختبارًا سريعًا وشاملًا وسطحيًا" [ 1 ] ) نتيجة مجموعة فرعية من وظائف التطبيق لتحديد ما إذا كان من الممكن والمعقول المضي قدمًا في اختبار التطبيق بأكمله. [ 2 ] قد يُستخدم مصطلحا اختبار السلامة أحيانًا بشكل متبادل مع اختبار الدخان [ 3 ] ، حيث يشير كلا المصطلحين إلى اختبارات تُحدد ما إذا كان من الممكن والمعقول مواصلة الاختبار. من ناحية أخرى، يُفرّق أحيانًا بين اختبار الدخان، فهو اختبار غير شامل يتحقق من عمل أهم وظائف البرنامج قبل المضي قدمًا في الاختبار، واختبار السلامة الذي يُشير إلى ما إذا كانت وظيفة مُحددة، مثل إصلاح خطأ برمجي مُعين، تعمل كما هو مُتوقع دون اختبار الوظائف الأوسع للبرنامج. بعبارة أخرى، يُحدد اختبار السلامة ما إذا كانت النتيجة المقصودة لتغيير في الكود تعمل بشكل صحيح، بينما يضمن اختبار الدخان عدم وجود أي خلل آخر مهم في العملية. يتجنب اختبار السلامة واختبار الدخان إضاعة الوقت والجهد من خلال تحديد ما إذا كان التطبيق معيبًا للغاية بحيث لا يستحق اختبار ضمان الجودة الأكثر صرامة ، ولكنه يحتاج إلى المزيد من تصحيح الأخطاء من قبل المطورين .
غالباً ما يتم تجميع مجموعات من اختبارات السلامة معاً لإجراء اختبارات الوحدة الآلية للوظائف أو المكتبات أو التطبيقات قبل دمج كود التطوير في فرع اختبار أو فرع التحكم في الإصدار الرئيسي ، [ 4 ] للبناء الآلي ، [ 5 ] أو للتكامل المستمر والنشر المستمر . [ 6 ]
يُستخدم مصطلح " اختبار السلامة" بشكل شائع للإشارة إلى عمليات التحقق التي تُجرى داخل كود البرنامج، عادةً على وسائط الدوال أو قيمها المُعادة، للتأكد من صحة النتائج. وكلما زادت تعقيدات البرنامج، زادت أهمية التحقق من استجابته. ومن الأمثلة البسيطة على ذلك التحقق مما إذا كانت القيمة المُعادة من الدالة تُشير إلى نجاح العملية أو فشلها، وبالتالي إيقاف المعالجة في حالة الفشل. وغالبًا ما تكون هذه القيمة المُعادة نفسها نتيجةً لاختبار السلامة. على سبيل المثال، إذا حاولت الدالة فتح ملف والكتابة إليه وإغلاقه، يُمكن استخدام اختبار السلامة للتأكد من عدم فشلها في أي من هذه العمليات، وهو اختبار سلامة غالبًا ما يتجاهله المبرمجون. [ 7 ]
يمكن استخدام هذه الأنواع من فحوصات السلامة أثناء التطوير لأغراض تصحيح الأخطاء وأيضًا للمساعدة في استكشاف أخطاء وقت تشغيل البرامج وإصلاحها .
تُجرى أيضًا فحوصات سلامة عند تثبيت برامج الإنتاج المستقرة في بيئة حوسبة جديدة للتأكد من استيفاء جميع المتطلبات ، مثل نظام التشغيل المتوافق ومكتبات الربط . وعندما تجتاز بيئة الحوسبة جميع فحوصات السلامة، تُعتبر بيئةً مناسبةً لبرنامج التثبيت للمضي قدمًا بتوقع معقول للنجاح.
يُستخدم برنامج "مرحباً بالعالم!" غالبًا كاختبار مبدئي لبيئة التطوير . فبدلاً من نص برمجي معقد يُشغّل مجموعة من اختبارات الوحدات، إذا فشل هذا البرنامج البسيط في التجميع أو التنفيذ، فهذا يُثبت أن بيئة الدعم تعاني على الأرجح من مشكلة في التكوين تمنع أي كود من التجميع أو التنفيذ. أما إذا تم تنفيذ "مرحباً بالعالم!" بنجاح، فإن أي مشاكل تُواجه مع البرامج الأخرى يُعزى على الأرجح إلى أخطاء في كود ذلك التطبيق وليس في بيئة التطوير.
إن رابطة آلات الحوسبة [ 8 ] ومشاريع البرمجيات مثل أندرويد [ 9 ] وميديا ويكي [ 10 ] وتويتر [ 11 ] تثبط استخدام عبارة " التحقق من سلامة" لصالح مصطلحات أخرى مثل " اختبار الثقة" أو " اختبار التماسك" أو ببساطة "اختبار" ، كجزء من محاولة أوسع لتجنب اللغة التمييزية وزيادة الشمولية .
ترميز الحالة المزاجية
يُستخدم التحقق من سلامة البيانات غالبًا في برمجة Vibe ، لا سيما بين نماذج الذكاء الاصطناعي المختلفة (مع أن استخدام نسختين منفصلتين من النموذج نفسه قد ينجح في بعض الحالات)، [ 12 ] وذلك لضمان تغطية نموذج ذكاء اصطناعي مختلف لأي ثغرات أو التحقق من أي أخطاء محتملة أو منطق معيب باستخدام مصدر خارجي. [ 13 ] ويمكن أيضًا للمصححين البشريين القيام بذلك، كما هو الحال مع التعليمات البرمجية المكتوبة يدويًا.
انظر أيضاً
مراجع
- ↑ فيكو، ماريوس أ.؛ لوت، كريستوفر م. (أكتوبر 2002). "دروس مستفادة من أتمتة اختبارات نظام دعم العمليات" (ملف PDF) . البرمجيات: الممارسة والخبرة . 32 (15): 1485-1506 . doi : 10.1002/spe.491 . S2CID 16820529. مؤرشف من النسخة الأصلية (ملف PDF) في 17 يوليو 2003.
- ↑ سامي، ربيعة؛ مسعود، إرم؛ جابين، شنيلة (2011). “إطار لضمان جودة عملية التحقق من السلامة الصحية”. وفي زين جسني محمد؛ وان محمد، وان ماسيري بت؛ القواسمة، إياس (محرران). هندسة البرمجيات وأنظمة الكمبيوتر . الاتصالات في علوم الكمبيوتر والمعلومات. المجلد. 181. برلين، هايدلبرغ: سبرينغر. ص 143 – 150. دوى : 10.1007 / 978-3-642-22203-0_13 . رقم ISBN 978-3-642-22203-0.
- ↑ مسرد ISTQB® الخاص بنظام مؤهلات اختبار البرمجيات التابع للمجلس الدولي لمؤهلات اختبار البرمجيات®، مؤرشف بتاريخ 28-10-2020 في Wayback Machine. المجلس الدولي لمؤهلات اختبار البرمجيات
- ↑ يورغنسن، نيلز (2001). "وضع كل شيء في صندوق السيارة: تطوير البرمجيات التدريجي في مشروع FreeBSD مفتوح المصدر" (ملف PDF) . مجلة نظم المعلومات . 11 (4): 321. doi : 10.1046/J.1365-2575.2001.00113.X .
- ↑ حسن، أ.ع. وتشانغ، ك. 2006. استخدام أشجار القرار للتنبؤ بنتيجة اعتماد إصدار . في وقائع المؤتمر الدولي الحادي والعشرين لـ IEEE/ACM حول هندسة البرمجيات الآلية (18-22 سبتمبر 2006). هندسة البرمجيات الآلية. جمعية IEEE للحاسبات، واشنطن العاصمة، 189-198.
- ↑ تشاسيديم، هاداس؛ ألموغ، داني؛ سوهاشيسكي، دوف بنيامين؛ جيلينسون، مارك لي؛ بوستون، روبن س.؛ مارك، شلومو (2018). "اختبار الوحدة: مواجهة التكامل المستمر والتسليم المستمر - هل هي تعريفات غامضة؟" (ملف PDF) . مجلة إدارة تكنولوجيا المعلومات . 29 (2): 40-54 .
- ↑ داروين، إيان ف. (يناير 1991). فحص برامج لغة C باستخدام أداة lint (الطبعة الأولى، مع تنقيحات طفيفة ). نيوتن، ماساتشوستس: أورايلي وشركاؤه. ص 19. ISBN 0-937175-30-7تم الاطلاع عليه بتاريخ 7 أكتوبر 2014.
من العادات البرمجية الشائعة تجاهل القيمة المُعادة من دالة fprintf(stderr, ...
- ↑ "للكلمات أهمية" . 2020-11-20 . تم الاطلاع عليه بتاريخ 2023-06-29 .
- ↑ "البرمجة باحترام" . مشروع أندرويد مفتوح المصدر . 16-11-2022 . تم الاطلاع عليه بتاريخ 23-01-2023 .
- ^ "لغة شاملة/en-gb – ميدياويكي" . www.mediawiki.org . تم الاسترجاع بتاريخ 23-01-2023 .
- ↑ "هندسة تويتر" . تويتر . تم الاسترجاع في 23 يناير 2023 .
- ↑ "أفضل ممارسات كود كلود" . www.anthropic.com . تم الاطلاع عليه بتاريخ 10 نوفمبر 2025 .
- ↑ "أفضل برامج الذكاء الاصطناعي المجانية للبرمجة في عام 2025 - ثلاثة منها فقط هي التي وصلت إلى القائمة النهائية" . ZDNET . تاريخ الاسترجاع: 10 نوفمبر 2025 .
- اختبار البرمجيات
- اكتشاف الأخطاء وتصحيحها
