🏆 💪 أكثر الكتب تحميلاً في اختبار التكامل:
Hands-on Application Development using Spring Boot PDF
قراءة و تحميل كتاب Hands-on Application Development using Spring Boot PDF مجانا
Metasploit Penetration Testing Cookbook, Second Edition PDF
قراءة و تحميل كتاب Metasploit Penetration Testing Cookbook, Second Edition PDF مجانا
The Basics of Hacking and Penetration Testing PDF
قراءة و تحميل كتاب The Basics of Hacking and Penetration Testing PDF مجانا
مقدمة منسّقة للقسم:
اختبار التكامل هو المرحلة في اختبار البرامج التي يتم فيها دمج الوحدات البرمجية واختبارها كوحدة واحدة متكاملة. يتم إجراء اختبار التكامل لتقييم مدى امتثال نظام أو مكون برمجي لمتطلبات وظيفية محددة، وغالبا ما تكون هذه المتطلبات مدونة في وثيقة الخصائص والمتطلبات. يُنفذ هذا الاختبار بعد تنفيذ اختبار الوحدات البرمجية وقبل تنفيذ اختبار النظام. يأخذ اختبار التكامل وحدات الإدخال الخاصة به التي تم اختبارها بالوحدة، ويجمعها في مجموعات أكبر، ويطبق الاختبارات المحددة في خطة اختبار التكامل على تلك المجاميع، ويقدم كمخرجاته النظام المتكامل جاهزًا لاختبار النظام.
طريقة تنفيذ الاختبار
يوجد عدة طُرق لتنفيذ اختبار التكامل، أشهر هذه الطرق هي:
Big Bang Approach: وفيها تُختبر جميع الوحدات البرمجية والمكونات دفعة واحدة بعد ربطها ببعضها البعض.
Top Down Approach:وفيها تُختبر الوحدات البرمجية من الأعلى إلى الأسفل بحيث تكون الوحدات المتكاملة في الأعلى.
Bottom Up Approach: وفيها تُختبر الوحدات من الأسفل إلى الأعلى، ويتم البدء باختبار الوحدات غير المدمجة مع أخرى.
Sandwich Approach: وهي طريقة تجمع بين طريقة Top Down وطريقة Bottom Up.
في برمجة الكمبيوتر ، يعد اختبار الوحدة طريقة اختبار برمجية يتم من خلالها اختبار الوحدات الفردية من التعليمات البرمجية المصدر - مجموعات من وحدة أو أكثر من وحدات برامج الكمبيوتر جنبًا إلى جنب مع بيانات التحكم المرتبطة بها ، وإجراءات الاستخدام ، وإجراءات التشغيل - لتحديد ما إذا كانت مناسبة للاستخدام .
قبل اختبار الوحدة ، كانت أدوات اختبار الالتقاط وإعادة التشغيل هي القاعدة. في عام 1997 ، قام كينت بيك وإريك جاما بتطوير وإصدار JUnit ، وهو إطار اختبار وحدة أصبح شائعًا لدى مطوري Java. [2] تبنت Google الاختبار الآلي في الفترة من 2005 إلى 2006 تقريبًا.
عادةً ما تكون اختبارات الوحدة عبارة عن اختبارات آلية يكتبها ويديرها مطورو البرامج للتأكد من أن قسمًا من التطبيق (يُعرف باسم "الوحدة") يلبي تصميمه ويتصرف على النحو المنشود. [4] في البرمجة الإجرائية ، يمكن أن تكون الوحدة وحدة كاملة ، ولكنها أكثر شيوعًا هي وظيفة أو إجراء فردي. في البرمجة الموجهة للكائنات ، غالبًا ما تكون الوحدة واجهة كاملة ، مثل فئة أو طريقة فردية. [5] من خلال كتابة الاختبارات أولاً لأصغر الوحدات القابلة للاختبار ، ثم السلوكيات المركبة بينها ، يمكن للمرء أن يبني اختبارات شاملة للتطبيقات المعقدة.
لعزل المشكلات التي قد تنشأ ، يجب اختبار كل حالة اختبار بشكل مستقل. يمكن استخدام بدائل مثل بذرة الطريقة ، والأشياء الوهمية ، [6] والمزيفة ، وأدوات الاختبار للمساعدة في اختبار وحدة في عزلة.
أثناء التطوير ، يجوز لمطور البرامج ترميز المعايير ، أو النتائج المعروفة بأنها جيدة ، في الاختبار للتحقق من صحة الوحدة. أثناء تنفيذ حالة الاختبار ، تقوم أطر العمل بتسجيل الاختبارات التي تفشل في أي معيار والإبلاغ عنها في ملخص. لهذا ، فإن النهج الأكثر استخدامًا هو الاختبار - الوظيفة - القيمة المتوقعة.
يمكن تسريع كتابة اختبارات الوحدة وصيانتها باستخدام اختبارات ذات معلمات. يسمح ذلك بتنفيذ اختبار واحد عدة مرات بمجموعات إدخال مختلفة ، وبالتالي تقليل تكرار رمز الاختبار. على عكس اختبارات الوحدة التقليدية ، والتي عادةً ما تكون طرقًا مغلقة واختبار الظروف الثابتة ، تأخذ الاختبارات ذات المعلمات أي مجموعة من المعلمات. يتم دعم الاختبارات ذات المعلمات بواسطة TestNG و JUnit ونظيرتها .Net ، XUnit. يمكن توفير المعلمات المناسبة لاختبارات الوحدة يدويًا أو في بعض الحالات يتم إنشاؤها تلقائيًا بواسطة إطار عمل الاختبار. في السنوات الأخيرة ، تمت إضافة دعم لكتابة اختبارات (وحدة) أكثر قوة ، والاستفادة من مفهوم النظريات ، وحالات الاختبار التي تنفذ نفس الخطوات ، ولكن باستخدام بيانات الاختبار التي تم إنشاؤها في وقت التشغيل ، على عكس الاختبارات العادية ذات المعلمات التي تستخدم نفس خطوات التنفيذ مع مجموعات الإدخال المحددة مسبقًا.
مزايا
الهدف من اختبار الوحدة هو عزل كل جزء من البرنامج وإظهار صحة الأجزاء الفردية. [1] يوفر اختبار الوحدة عقدًا صارمًا ومكتوبًا يجب أن تفي به قطعة الكود. نتيجة لذلك ، فإنه يوفر العديد من الفوائد.
يكشف اختبار الوحدة عن مشاكل في وقت مبكر من دورة التطوير. يتضمن ذلك كل من الأخطاء في تنفيذ المبرمج والعيوب أو الأجزاء المفقودة من مواصفات الوحدة. تجبر عملية كتابة مجموعة شاملة من الاختبارات المؤلف على التفكير في المدخلات والمخرجات وظروف الخطأ ، وبالتالي تحديد سلوك الوحدة المطلوب بشكل أكثر وضوحًا. تكلفة العثور على الخطأ قبل بدء الترميز أو عند كتابة الكود لأول مرة أقل بكثير من تكلفة اكتشاف الخطأ وتحديده وتصحيحه لاحقًا. قد تتسبب الأخطاء الموجودة في التعليمات البرمجية التي تم إصدارها أيضًا في حدوث مشكلات مكلفة للمستخدمين النهائيين للبرنامج. [10] [11] [12] قد يكون من المستحيل أو من الصعب اختبار الوحدة إذا تمت كتابتها بشكل سيئ ، وبالتالي يمكن أن يجبر اختبار الوحدة المطورين على هيكلة الوظائف والكائنات بطرق أفضل.
في التطوير القائم على الاختبار (TDD) ، والذي يستخدم بشكل متكرر في كل من البرمجة المتطرفة و scrum ، يتم إنشاء اختبارات الوحدة قبل كتابة الكود نفسه. عندما تجتاز الاختبارات ، يعتبر هذا الرمز مكتملاً. يتم تشغيل نفس اختبارات الوحدة مقابل هذه الوظيفة بشكل متكرر حيث يتم تطوير قاعدة التعليمات البرمجية الأكبر إما عند تغيير الكود أو عبر عملية آلية مع الإنشاء. إذا فشلت اختبارات الوحدة ، فسيتم اعتبارها خطأً سواء في الكود الذي تم تغييره أو في الاختبارات نفسها. تسمح اختبارات الوحدة بعد ذلك بتتبع موقع الخطأ أو الفشل بسهولة. نظرًا لأن اختبارات الوحدة تنبه فريق التطوير بالمشكلة قبل تسليم الكود إلى المختبرين أو العملاء ، يتم اكتشاف المشكلات المحتملة في وقت مبكر من عملية التطوير.
يسمح اختبار الوحدة للمبرمج بإعادة بناء الكود أو ترقية مكتبات النظام في وقت لاحق ، والتأكد من أن الوحدة لا تزال تعمل بشكل صحيح (على سبيل المثال ، في اختبار الانحدار). يتمثل الإجراء في كتابة حالات الاختبار لجميع الوظائف والطرق بحيث يمكن التعرف عليها بسرعة كلما تسبب التغيير في حدوث خطأ. تكشف اختبارات الوحدة عن التغييرات التي قد تفسد عقد التصميم.
قد يقلل اختبار الوحدة من عدم اليقين في الوحدات نفسها ويمكن استخدامه في نهج أسلوب الاختبار التصاعدي. من خلال اختبار أجزاء البرنامج أولاً ثم اختبار مجموع أجزائه ، يصبح اختبار التكامل أسهل بكثير. [بحاجة لمصدر]
يوفر اختبار الوحدة نوعًا من التوثيق الحي للنظام. يمكن للمطورين الذين يتطلعون إلى معرفة الوظائف التي توفرها الوحدة ، وكيفية استخدامها ، إلقاء نظرة على اختبارات الوحدة لاكتساب فهم أساسي لواجهة الوحدة (API). [بحاجة لمصدر]
تجسد حالات اختبار الوحدة الخصائص التي تعتبر حاسمة لنجاح الوحدة.
📚 عرض جميع كتب اختبار التكامل:
Modern C++ Programming with Test-Driven Development PDF
قراءة و تحميل كتاب Modern C++ Programming with Test-Driven Development PDF مجانا
Basic Security Testing With Kali Linux 1 PDF
قراءة و تحميل كتاب Basic Security Testing With Kali Linux 1 PDF مجانا
Ethical Hacking and Penetration Testing Guide PDF
قراءة و تحميل كتاب Ethical Hacking and Penetration Testing Guide PDF مجانا
Hands-on Application Development using Spring Boot PDF
قراءة و تحميل كتاب Hands-on Application Development using Spring Boot PDF مجانا
Test-Driven iOS Development with Swift 4th Edition PDF
قراءة و تحميل كتاب Test-Driven iOS Development with Swift 4th Edition PDF مجانا
Test-Driven iOS Development with Swift 4th Edition PDF
قراءة و تحميل كتاب Test-Driven iOS Development with Swift 4th Edition PDF مجانا
مناقشات واقتراحات حول صفحة اختبار التكامل: