ما هو اختبار الوحدة البرمجية Unit testing - منتديات أحاسيس الليل

 ننتظر تسجيلك هـنـا

{ إعلانات احاسيس الليل ) ~
 
   

فـعـآلـيـآت آلـمـنـتـدى


الإهداءات


العودة   منتديات أحاسيس الليل > |[ :: المنتديات التقنيه :: ]| > تطوير المواقع والمنتديات والمدونات

تطوير المواقع والمنتديات والمدونات •₪• تطوير آلموآقع وآلمنتديآت وآلمدونآت •₪•

إضافة رد
 
أدوات الموضوع انواع عرض الموضوع
#1  
قديم 24-Mar-2024, 09:24 AM
رَوح غير متواجد حالياً
Saudi Arabia     Female
لوني المفضل White
 رقم العضوية : 602
 تاريخ التسجيل : Mar 2024
 فترة الأقامة : 217 يوم
 أخر زيارة : 27-Jun-2024 (05:02 AM)
 العمر : 34
 الإقامة : أحآسيس الليل
 المشاركات : 774 [ + ]
 التقييم : 7475
 معدل التقييم : رَوح has a reputation beyond reputeرَوح has a reputation beyond reputeرَوح has a reputation beyond reputeرَوح has a reputation beyond reputeرَوح has a reputation beyond reputeرَوح has a reputation beyond reputeرَوح has a reputation beyond reputeرَوح has a reputation beyond reputeرَوح has a reputation beyond reputeرَوح has a reputation beyond reputeرَوح has a reputation beyond repute
بيانات اضافيه [ + ]

اوسمتي

افتراضي ما هو اختبار الوحدة البرمجية Unit testing



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

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

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

كيف يعمل اختبار الوحدة
للقيام بذلك، هناك حاجة إلى الـ (mocks) وهي عبارة عن إنشاء نسخة مزيفة من خدمة خارجية أو داخلية يمكن أن تمثل الخدمة الحقيقية، وهناك حاجة إلى الـ (mocks) لإجراء اختبار على الوظائف، بدون إنشاء دوال وهمية لا يمكن اختبارها، والاختبار يعمل على أساس كائنات وهمية. تعمل الكائنات الوهمية على ملء الأجزاء المفقودة من البرنامج. على سبيل المثال، قد تكون هناك دالة تحتاج إلى متغيرات أو كائنات لم يتم إنشاؤها بعد، ولاختبار هذه الدالة، تم إنشاء كائنات وهمية، في مثل هذه الظروف، تملأ الكائنات الوهمية الأجزاء المفقودة، ومن تقنيات ضمن اختبار الوحدة:

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

اختبار الصندوق الأسود:
هو نوع من الاختبار يكون فيه المختبِر لا يدرك الدالة الداخلية للنظام، والهيكل الداخلي للوظيفة المراد اختبارها غير معروف.

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

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

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


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

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

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

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

تغطية البيان.
تغطية القرار.
تغطية الفرع.
تغطية الحالة.
تغطية آلة الحالة المحدودة.
أدوات اختبار الوحدة
هناك العديد من برامج اختبار الوحدة المؤتمتة المتاحة للمساعدة في اختبار الوحدة. سنقدم بعض الأمثلة أدناه:

1- Junit: هي أداة اختبار مجانية تستخدم في لغة برمجة (Java)، توفر تأكيدات لتحديد طريقة الاختبار، تختبر هذه الأداة البيانات أولاً ثم تُدرج في جزء الكود.


2- NUnit: تستخدم على نطاق واسع إطار عمل اختبار الوحدة لجميع لغات (.net)، وهي أداة مفتوحة المصدر تسمح لكتابة البرامج النصية يدويًا، وتدعم الاختبارات التي تعتمد على البيانات والتي يمكن إجراؤها بالتوازي.

3- JMockit: أداة اختبار وحدة مفتوحة المصدر، هي أداة تغطية الكود مع مقاييس الخط والمسار، تسمح بالكائنات المزيفة. توفر هذه الأداة تغطية الخط وتغطية المسار وتغطية البيانات.


4- EMMA: عبارة عن مجموعة أدوات مفتوحة المصدر لتحليل الكود المكتوب بلغة جافا والإبلاغ عنه، أنواع تغطية الدعم هذه مثل الطريقة والكتلة الأساسية، وهي مستندة إلى لغة (Java) لذا فهو بدون اعتماد على مكتبة خارجية ويمكنه الوصول إلى الكود المصدري.


5- PHPUnit: هي أداة اختبار وحدة لمبرمج (PHP)، يأخذ أجزاء صغيرة من الكود الذي يسمى الوحدات ويختبر كل منها على حدة، تتيح هذه الأداة أيضًا للمطورين استخدام طرق التأكيد المحددة مسبقًا للتأكيد على أن النظام يتصرف بطريقة معينة.

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




رد مع اقتباس
قديم 24-Mar-2024, 03:03 PM   #2


الصورة الرمزية مسگ
مسگ متواجد حالياً

بيانات اضافيه [ + ]
 رقم العضوية : 1
 تاريخ التسجيل :  Apr 2021
 أخر زيارة : اليوم (05:41 PM)
 المشاركات : 18,376 [ + ]
 التقييم :  133906
 الجنس ~
Female
 SMS ~
لوني المفضل : White

اوسمتي

افتراضي رد: ما هو اختبار الوحدة البرمجية Unit testing



ربي يسلم يمناااك ل اختيارك ..


 
 توقيع : مسگ




الوقت أغلى من المال والقيل والقال
أستغل وقتك والحمقى لا تُلقي لهُم بال


رد مع اقتباس
قديم 24-Mar-2024, 04:27 PM   #3


الصورة الرمزية احساس عاشق
احساس عاشق متواجد حالياً

بيانات اضافيه [ + ]
 رقم العضوية : 9
 تاريخ التسجيل :  May 2021
 أخر زيارة : اليوم (01:19 PM)
 المشاركات : 325,955 [ + ]
 التقييم :  184079
 الدولهـ
Saudi Arabia
 الجنس ~
Male
 MMS ~
MMS ~
 SMS ~
مِّآهِّوٍّ مِّهِّمِّ أعَّيِّشِّ / فٍّيِّ ِّضِّيِّـقٍّ وٍّبٍّعَّـآدٍّ
بٍّسَّ آلِّمِّهِّمِّ أعَّيِّشِّ / مِّآ هِّنِّتٍّ نِّفٍّسَّـيِّ !!
لوني المفضل : Cyan

اوسمتي

افتراضي رد: ما هو اختبار الوحدة البرمجية Unit testing



سّلّمّتّ اّلّاّنّاّمّلّ اّلّتّيّ خّطّتّ هّذاّ اّلّجّمّاّلّ
وّنّسّجّتّ مّنّ اّلّاّحّرّفّ بّدّيّعّ اّلّلّوّحّاّتّ
دّاّمّ عّطّاّئّكّ اّلّعّذبّ
وّدّمّتّ نّجّمّ لّاّمّعّ
وّدّيّ وّتّقّدّيّرّيّ وّاّحّتّرّاّمّيّ
كّاّاّنّ هّنّاّاّاّ
اّحّسّاّسّ عّاّشّقّ


 
 توقيع : احساس عاشق









رد مع اقتباس
قديم 24-Mar-2024, 06:38 PM   #4


الصورة الرمزية الراقية ♔
الراقية ♔ غير متواجد حالياً

بيانات اضافيه [ + ]
 رقم العضوية : 567
 تاريخ التسجيل :  Dec 2023
 العمر : 44
 أخر زيارة : 30-Aug-2024 (04:13 PM)
 المشاركات : 5,049 [ + ]
 التقييم :  104827
 الدولهـ
Saudi Arabia
 الجنس ~
Female
 MMS ~
MMS ~
لوني المفضل : Beige

اوسمتي

افتراضي رد: ما هو اختبار الوحدة البرمجية Unit testing



الله يعطيك العافية


 
 توقيع : الراقية ♔



رد مع اقتباس
قديم 25-Mar-2024, 01:16 AM   #5


الصورة الرمزية ملك الأحساس
ملك الأحساس غير متواجد حالياً

بيانات اضافيه [ + ]
 رقم العضوية : 391
 تاريخ التسجيل :  Nov 2022
 أخر زيارة : 23-Oct-2024 (01:19 AM)
 المشاركات : 244,226 [ + ]
 التقييم :  39774
 الدولهـ
Saudi Arabia
 الجنس ~
Male
لوني المفضل : Antiquewhite

اوسمتي

افتراضي رد: ما هو اختبار الوحدة البرمجية Unit testing



سلمت يمينك
ع جمال طرحك المميز


 
 توقيع : ملك الأحساس



رد مع اقتباس
قديم 25-Mar-2024, 01:55 AM   #6


الصورة الرمزية نَبض
نَبض متواجد حالياً

بيانات اضافيه [ + ]
 رقم العضوية : 346
 تاريخ التسجيل :  Aug 2022
 أخر زيارة : اليوم (03:50 AM)
 المشاركات : 303,268 [ + ]
 التقييم :  195215
 الدولهـ
Saudi Arabia
 الجنس ~
Female
لوني المفضل : White

اوسمتي

افتراضي رد: ما هو اختبار الوحدة البرمجية Unit testing



::

اختيار موفق
بوركت


 
 توقيع : نَبض



رد مع اقتباس
قديم 26-Mar-2024, 04:50 PM   #7


الصورة الرمزية غَيْم..!
غَيْم..! متواجد حالياً

بيانات اضافيه [ + ]
 رقم العضوية : 4
 تاريخ التسجيل :  May 2021
 أخر زيارة : اليوم (04:47 PM)
 المشاركات : 820,662 [ + ]
 التقييم :  452940
 الدولهـ
Saudi Arabia
 MMS ~
MMS ~
لوني المفضل : White

اوسمتي

افتراضي رد: ما هو اختبار الوحدة البرمجية Unit testing



سلمت الايادي على جمال الطرح
ل روحك السعادة ..


 
 توقيع : غَيْم..!



رد مع اقتباس
قديم 27-Mar-2024, 11:22 AM   #8


الصورة الرمزية AL-PRINCE
AL-PRINCE غير متواجد حالياً

بيانات اضافيه [ + ]
 رقم العضوية : 506
 تاريخ التسجيل :  May 2024
 أخر زيارة : 09-May-2024 (09:22 PM)
 المشاركات : 8,164 [ + ]
 التقييم :  60533
لوني المفضل : Cadetblue

اوسمتي

افتراضي رد: ما هو اختبار الوحدة البرمجية Unit testing



.
.
.
.
أَسْعَدَ اللهُ أَوََقَاتُكُمْ بِكُلُّ خَيْرٍ..
دَائِمَا تَبْهَرُونَا بَمَوٍآضيعكم
الَّتِي تَفُوٍح مِنْهَا عِطْرَ الْإِبْدَاعِ وَالتَّمَيُّزِ ،
لَكَم الشُّكْرُ مِنْ كُلُّ قَلْبِيٍّ .


 

رد مع اقتباس
قديم 29-Mar-2024, 12:28 AM   #9


الصورة الرمزية حـُـلم
حـُـلم متواجد حالياً

بيانات اضافيه [ + ]
 رقم العضوية : 124
 تاريخ التسجيل :  Aug 2021
 أخر زيارة : اليوم (06:43 PM)
 المشاركات : 302,856 [ + ]
 التقييم :  149066
لوني المفضل : Cadetblue

اوسمتي

افتراضي رد: ما هو اختبار الوحدة البرمجية Unit testing





تسلم الايادي
الله يعطيك الف عافيه
في انتظار جديدك بكل شوق


 
 توقيع : حـُـلم



رد مع اقتباس
قديم 08-Apr-2024, 06:45 PM   #10


الصورة الرمزية الموج..!
الموج..! متواجد حالياً

بيانات اضافيه [ + ]
 رقم العضوية : 109
 تاريخ التسجيل :  Aug 2021
 أخر زيارة : 24-Oct-2024 (09:18 AM)
 المشاركات : 51,163 [ + ]
 التقييم :  34800
 الجنس ~
Male
لوني المفضل : Antiquewhite

اوسمتي

افتراضي رد: ما هو اختبار الوحدة البرمجية Unit testing



يعطيك العافيه ع النقل..
سلمت يمينك..


 
 توقيع : الموج..!





رد مع اقتباس
إضافة رد

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

الانتقال السريع


الساعة الآن 07:41 PM


Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. TranZ By Almuhajir
HêĽм √ 3.2 OPS BY: ! ωαнαм ! © 2010
new notificatio by 9adq_ala7sas
جميع ما يطرح في منتديات أحاسيس الليل لا يعبر عن رأي الموقع وإنما يعبر عن رأي الكاتب
وإننــے أبرأ نفســے أنا صاحبة الموقع أمامـ الله سبحانه وتعالــے من أــے تعارف بين الشاب والفتاة من خلال أحاسيس الليل
vEhdaa 1.1 by rKo ©2009