فحص البرمجيات

معلومات عامة| صنف فرعي من | 
اختباراختبار المنتج عدل القيمة على Wikidata |
| جزء من | 
هندسة البرمجياتإدارة الجودةالتحقق والتثبت من البرمجيات عدل القيمة على Wikidata |
| له هدف | 
ضمان جودة البرمجيات عدل القيمة على Wikidata |
| ممثلة بـ | 
قابلية الفحصsoftware testing tactics (en) ترجمتغطية الكود عدل القيمة على Wikidata |
| يستعمل | 
برمجيات عدل القيمة على Wikidata |

تعديل - تعديل مصدري - تعديل ويكي بياناتحول القالب

|  |
| --- |
| جزء من سلسلة مقالات حول |
| عملية تطوير البرمجيات |
|  |
| نشاطات رئيسة
* التطوير
* التحليل
* التصميم
* البناء
* الفحص
* تتبع الأخطاء
* النشر
* صيانة البرمجيات
 |
| نماذج العمل
* هندسة البرمجيات
* أجايل
* تصميم الغرفة النظيفة
* تطوير متكرر وتصاعدي
* صناعة النماذج الأولية
	+ النموذج اللولبي
	+ نموذج V
	+ نموذج الشلال
 |
| منهجيات التطوير وأُطُره
* تطوير البرمجيات المُتكيِّف  (ASD)
* ديف أوبس (DevOps)
* التوصيل المنضبط وفق أجايل  (DAD)
* طريقة تطوير النظم الديناميكية (DSDM)
* تطوير مقاد
	+ بالميزات  (FDD)
	+ بالنموذج  (MDD)
* التطوير المتكرر والتصاعدي (IID)
* كانبان (Kanban)
* تطوير برمجيات مرن
* إطار عمل حلول مايكروسوفت  (MSF)
* تطوير التطبيقات السريع (RAD)
* إطار عمل أجايل المُتدرِّج  (SAFe)
* سكرم (Scrum)
* سيمات (SEMAT)
* عملية البرمجة
	+ الفردية (PSP)
	+ الجماعية  (TSP)
* عملية التطوير المُوحَّدة (UP)
	+ لراشيونال (RUP)
* المفتوحة  (OpenUP)
* البرمجة القصوى (XP)
 |
| اختصاصات داعمة
* إدارة التهيئة
* التوثيق
* ضمان الجودة
* إدارة المشروع
* تصميم تجربة المستخدم
 |
| تطبيقات بالممارسة
* تطوير مقاد
	+ بالاختبار (TDD)
	+ باختبار القبول  (ATDD)
	+ بالسلوك (BDD)
* الإدماج المُستمِر (CI)
* تسليم مستمر (CD)
* تصميم مقاد بالنطاق (DDD)
* برمجة زوجية (PP)
* بالأمثلة (SBE)
* اجتماع وقوفاً
 |
| أدوات
* المُحوِّل
* المُنقِّح
* مُنمِّط
* باني واجهة المستخدم الرسومية
* أداة نمذجة
* بيئة التطوير المُتكامِلة (IDE)
* أتمتة بناء البرمجيات
* أتمتة إصدارات التطبيق
* البنية التحتية بصيغة نص برمجي
* الاختبار
 |
| منظَّمات ومعايير
* أدلة معرفية
	+ لإدارة المشاريع (BABOK)
	+ تحليل الأعمال (PMBOK)
	+ لهندسة البرمجيات  (SWEBOK)
* تكامل نموذج نضوج المقدرة (CMMI)
* جمعية معايير معهد مهندسي الكهرباء والإلكترونيات
* أيزو 9000 (ISO 9001)
* اللجنة التقنية المشتركة الأولى  (JTC 1)
* مكتبة البنية التحتية لتقانة المعلومات (ITIL)
* المجلس الهندسي للمتطلبات الدولية  (IREB)
 |
| شعار بوابة بوابة برمجيات |
| * ع
* ن
* ت
 |

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

جودة البرمجيات
--------------

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

الحاجة لعملية فحص البرمجيات
---------------------------

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

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

خطوات عملية فحص البرمجية
------------------------

تمر عملية فحص البرمجية بعدد من الخطوات المنهجية التي تهدف إلى تحقيق أفضل النتائج بغض النظر عن منظومة البرمجة المتبعة لتطوير تلك البرمجية
سواءً كانت المنظومة التقليدية أو البرمجة منظومة الأجايل (البرمجة المرنة)، وتلك الخطوات تتلخص في:

* التخطيط والمراقبة والتحكم.
* التحليل.
* التصميم.
* التحضير.
* التنفيذ.
* تقييم معيار الإنهاء وإصدار التقارير.
* نشاطات إنهاء الفحص.

### التخطيط والمراقبة والتحكم

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

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

أما عملية المراقبة فتقوم على جمع البيانات عن معايير معينة خلال عملية الاختبار ليتم الحكم من خلالها على عدة أمور والقيام باتخاذ إجراءات معينة إذا استدعى الأمر ذلك وهو ما يسمى «التحكم».

### التحليل

يتم ضمن هذه الخطوة تحليل متطلبات البرمجية تبعا للاحتياجات والوظائف المطلوبة منها.

### التصميم

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

### التحضير

يتم ضمن هذه الخطوة تحضير ما يلزم للبدء بتنفيذ عملية الفحص من:

* بيئة الفحص أو البرمجية المطلوبة.
* البيانات اللازمة للفحص.
* الفحوص التي سيتم تشغيلها أوتوماتيكيا والفحوص اليدوية وتعريف أسبقية البدء فيها.

وغيرها من الأمور المطلوبة للبدء بعملية الفحص.

### التنفيذ

يتم ضمن هذه الخطوة تنفيذ الاختبارات المحدد ترتيبها في الخطوة السابقة على بيئة الفحص - تشغيل الاختبارات تلقائيا.

### تقييم معيار الإنهاء وإصدار التقارير

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

### نشاطات إنهاء الفحص

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

طرق الفحص
---------

### طريقة الصندوق الأسود

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

### طريقة الصندوق الأبيض أو الصندوق الشفاف

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

### التقييم الكامل للشيفرة

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

### طريقة الصندوق الرمادي

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

مستويات الفحص
-------------

* اختبار الوحدة
* اختبار التكامل
* اختبار النظام
* اختبار قبول

انظر أيضا
---------

* اختبار قابلية الاستخدام

المراجع
-------

1. ↑  ISTQB® Related Books - ISTQB® International Software Testing Qualifications Board نسخة محفوظة 16 أكتوبر 2017 على موقع واي باك مشين.

| * ع
* ن
* ت
هندسة البرمجيات |
| --- |
| مجالات | 
* برمجة
* متطلبات البرمجيات
* نشر البرمجيات
* تصميم البرمجيات
* صيانة البرمجيات
* فحص البرمجيات
* تحليل النظم
* أساليب رسمية

 |
| مفاهيم | 
* نمذجة البيانات
* هيكلية الشركات
* مواصفة وظيفية
* لغة نمذجة
* Orthogonality
* نمط برمجة
* برمجية
* معمارية برمجيات
* منهجية تطوير برمجيات
* عملية تطوير البرمجيات
* جودة البرمجيات
* ضمان الجودة (برمجيات)
* برمجيات علم الآثار
* التحليل الإنشائي
* مهندس برمجيات
* كود قديم

 |
| توجهات | 
* تطوير البرمجيات أجايل
* Aspect-oriented
* برمجة كائنية التوجه
* أنطولوجية (علم المعلومات)
* البنية الخدمية
* دورة حياة تطوير البرمجيات

 |
| النماذج | 

|  |  |
| --- | --- |
| تطوير  | 
* تطوير البرمجيات أجايل
* EUP
* Executable UML
* نموذج بناء تدريجي  ‏
* تطوير متكرر ومتزايد
* العملية الموحدة لراشيونال IBM
* سكرم
* نمذجة البرمجيات
* النموذج اللولبي
* V-Model
* نموذج الشلال
* برمجة قصوى

 |
| أخرى  | 
* أيزو/آي إي سي 15504
* تكامل نموذج نضوج المقدرة
* نماذج بيانات
* طريقة الكيانات والعلاقات
* Function model
* نموذج المعلومات
* Metamodeling
* Object model
* Systems model
* View model

 |
| لغات  | 
* IDEF
* لغة النمذجة الموحدة
* SysML

 |

 |
| مهندسو برمجيات | 
* كينت بيك
* Grady Booch
* فريد بروكس
* باري بوهم
* وورد كانينغهام
* توم ديماركو
* مارتن فاولر
* ماري جان هارولد
* توني هور
* واتس همفري
* مايكل جاكسون (عالم حاسوب)
* إيفار جاكوبسون
* Stephen J. Mellor
* برتراند ماير
* David Parnas
* جورج ونستون رويس
* جيمس رامبوغ
* نيكلاوس ويرث
* إدوارد يوردون
* Victor Basili

 |
| مجالات مشابهة | 
* علم الحاسوب
* هندسة حاسبات
* إدارة المشاريع
* هندسة أنظمة

 |
| 
* تصنيف:هندسة البرمجيات
* كومنز

 |

* أيقونة بوابةبوابة برمجة الحاسوب
* أيقونة بوابةبوابة برمجيات
* أيقونة بوابةبوابة تقانة
* أيقونة بوابةبوابة علم الحاسوب

|  |  |
| --- | --- |
| مشاريع شقيقة | في كومنز صور وملفات عن: فحص البرمجيات |



|  |  |
| --- | --- |
| ضبط استنادي: وطنية عدلها في ويكي بيانات | 
* قاعدة البيانات الوطنية التشيكية (NLCR AUT)

 |