❞ كتاب Test-Driven iOS Development with Swift 4th Edition ❝  ⏤ دومينيك هاوزر

❞ كتاب Test-Driven iOS Development with Swift 4th Edition ❝ ⏤ دومينيك هاوزر



يعد التطوير القائم على الاختبار (TDD) طريقة مثبتة للعثور على أخطاء البرامج مبكرًا. تؤدي كتابة الاختبارات قبل الكود إلى تحسين بنية تطبيقاتك وقابليتها للصيانة. بالاقتران مع بناء الجملة المحسّن لـ Swift 3 ، لا يوجد عذر أو كتابة تعليمات برمجية سيئة.

سيساعدك هذا الكتاب على فهم عملية TDD وكيف تؤثر على تطبيقاتك المكتوبة بلغة Swift. من خلال التطبيق العملي الواقعي ، ستبدأ في رؤية كيفية تنفيذ TDD في السياق. ستبدأ بنظرة عامة على سير عمل TDD ثم تعمق في مفاهيم اختبار الوحدة ودورات الكود. ستقوم أيضًا بتخطيط وهيكلة تطبيق iOS الذي تم اختباره ، وكتابة اختبارات لدفع تطوير وحدات التحكم في العرض والفئات المساعدة. بعد ذلك ، ستتعلم كيفية كتابة اختبارات لرمز الشبكة ، وما هو CI وكيفية إعداده باستخدام خادم Xcode.

أخيرًا ، سيرشدك الكتاب خلال الخطوات التالية لتصبح خبيرًا في الاختبار من خلال مناقشة اختبارات التكامل والتنمية المدفوعة بالسلوك (BDD) وأطر اختبار المصدر المفتوح واختبارات واجهة المستخدم المقدمة في Xcode 8.
لعزل المشكلات التي قد تنشأ ، يجب اختبار كل حالة اختبار بشكل مستقل. يمكن استخدام بدائل مثل بذرة الطريقة ، والأشياء الوهمية ، والمزيفة ، وأدوات الاختبار للمساعدة في اختبار وحدة في عزلة.

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


يعمل Dominik Hauser على تطوير تطبيقات iOS لأكثر من 13 عامًا حتى الآن. يعمل حاليًا في شركة صغيرة في غرب ألمانيا. في أوقات فراغه ، يكتب دومينيك منشورات في المدونة ، ويرسم نصائح Xcode ، ويتحدث في المؤتمرات ويكتب الكتب.

أحد اهتماماته الرئيسية هو التطوير القائم على الاختبار. كتب أحد الكتب الأولى حول تطوير نظام iOS القائم على الاختبار باستخدام Swift.

عندما لا يكون دومينيك خلف الكمبيوتر ، فإنه يقضي الوقت مع أطفاله أو يمارس ألعاب الخفة. نحاول حاليًا إبقاء خمس كرات في الهواء لمدة دقيقة على الأقل.
❰ له مجموعة من المؤلفات أبرزها ❞ Test-Driven iOS Development with Swift 3 2nd Revised edition ❝ ❞ Test-Driven iOS Development with Swift 4th Edition ❝ ❞ Test-Driven iOS Development with Swift 4th Edition ❝ ❞ Test-Driven iOS Development with Swift ❝ ❞ Test-Driven iOS Development with Swift 4 - Third Edition ❝ الناشرين : ❞ باكت للنشر ❝ ❱
من اختبار او فحص البرمجيات - مكتبة كتب تقنية المعلومات.

نبذة عن الكتاب:
Test-Driven iOS Development with Swift 4th Edition

2021م - 1444هـ


يعد التطوير القائم على الاختبار (TDD) طريقة مثبتة للعثور على أخطاء البرامج مبكرًا. تؤدي كتابة الاختبارات قبل الكود إلى تحسين بنية تطبيقاتك وقابليتها للصيانة. بالاقتران مع بناء الجملة المحسّن لـ Swift 3 ، لا يوجد عذر أو كتابة تعليمات برمجية سيئة.

سيساعدك هذا الكتاب على فهم عملية TDD وكيف تؤثر على تطبيقاتك المكتوبة بلغة Swift. من خلال التطبيق العملي الواقعي ، ستبدأ في رؤية كيفية تنفيذ TDD في السياق. ستبدأ بنظرة عامة على سير عمل TDD ثم تعمق في مفاهيم اختبار الوحدة ودورات الكود. ستقوم أيضًا بتخطيط وهيكلة تطبيق iOS الذي تم اختباره ، وكتابة اختبارات لدفع تطوير وحدات التحكم في العرض والفئات المساعدة. بعد ذلك ، ستتعلم كيفية كتابة اختبارات لرمز الشبكة ، وما هو CI وكيفية إعداده باستخدام خادم Xcode.

أخيرًا ، سيرشدك الكتاب خلال الخطوات التالية لتصبح خبيرًا في الاختبار من خلال مناقشة اختبارات التكامل والتنمية المدفوعة بالسلوك (BDD) وأطر اختبار المصدر المفتوح واختبارات واجهة المستخدم المقدمة في Xcode 8.
لعزل المشكلات التي قد تنشأ ، يجب اختبار كل حالة اختبار بشكل مستقل. يمكن استخدام بدائل مثل بذرة الطريقة ، والأشياء الوهمية ، والمزيفة ، وأدوات الاختبار للمساعدة في اختبار وحدة في عزلة.

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

تعليقات القرّاء:

وصف منسّق للكتاب :

 

في برمجة الكمبيوتر ، يعد اختبار الوحدة طريقة اختبار برمجية يتم من خلالها اختبار الوحدات الفردية من التعليمات البرمجية المصدر - مجموعات من وحدة أو أكثر من وحدات برامج الكمبيوتر جنبًا إلى جنب مع بيانات التحكم المرتبطة بها ، وإجراءات الاستخدام ، وإجراءات التشغيل - لتحديد ما إذا كانت مناسبة للاستخدام .
قبل اختبار الوحدة ، كانت أدوات اختبار الالتقاط وإعادة التشغيل هي القاعدة. في عام 1997 ، قام كينت بيك وإريك جاما بتطوير وإصدار JUnit ، وهو إطار اختبار وحدة أصبح شائعًا لدى مطوري Java. [2] تبنت Google الاختبار الآلي في الفترة من 2005 إلى 2006 تقريبًا.


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

لعزل المشكلات التي قد تنشأ ، يجب اختبار كل حالة اختبار بشكل مستقل. يمكن استخدام بدائل مثل بذرة الطريقة ، والأشياء الوهمية ، [6] والمزيفة ، وأدوات الاختبار للمساعدة في اختبار وحدة في عزلة.

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

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

 

مزايا


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

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

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

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

قد يقلل اختبار الوحدة من عدم اليقين في الوحدات نفسها ويمكن استخدامه في نهج أسلوب الاختبار التصاعدي. من خلال اختبار أجزاء البرنامج أولاً ثم اختبار مجموع أجزائه ، يصبح اختبار التكامل أسهل بكثير. [بحاجة لمصدر]

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

تجسد حالات اختبار الوحدة الخصائص التي تعتبر حاسمة لنجاح الوحدة.



سنة النشر : 2021م / 1442هـ .
عداد القراءة: عدد قراءة Test-Driven iOS Development with Swift 4th Edition

اذا اعجبك الكتاب فضلاً اضغط على أعجبني
و يمكنك تحميله من هنا:


شكرًا لمساهمتكم

شكراً لمساهمتكم معنا في الإرتقاء بمستوى المكتبة ، يمكنكم االتبليغ عن اخطاء او سوء اختيار للكتب وتصنيفها ومحتواها ، أو كتاب يُمنع نشره ، او محمي بحقوق طبع ونشر ، فضلاً قم بالتبليغ عن الكتاب المُخالف:

المؤلف:
دومينيك هاوزر - Dr. Dominik Hauser

كتب دومينيك هاوزر نبذه قصيره عن المؤلف يعمل Dominik Hauser على تطوير تطبيقات iOS لأكثر من 13 عامًا حتى الآن. يعمل حاليًا في شركة صغيرة في غرب ألمانيا. في أوقات فراغه ، يكتب دومينيك منشورات في المدونة ، ويرسم نصائح Xcode ، ويتحدث في المؤتمرات ويكتب الكتب. أحد اهتماماته الرئيسية هو التطوير القائم على الاختبار. كتب أحد الكتب الأولى حول تطوير نظام iOS القائم على الاختبار باستخدام Swift. عندما لا يكون دومينيك خلف الكمبيوتر ، فإنه يقضي الوقت مع أطفاله أو يمارس ألعاب الخفة. نحاول حاليًا إبقاء خمس كرات في الهواء لمدة دقيقة على الأقل.❰ له مجموعة من المؤلفات أبرزها ❞ Test-Driven iOS Development with Swift 3 2nd Revised edition ❝ ❞ Test-Driven iOS Development with Swift 4th Edition ❝ ❞ Test-Driven iOS Development with Swift 4th Edition ❝ ❞ Test-Driven iOS Development with Swift ❝ ❞ Test-Driven iOS Development with Swift 4 - Third Edition ❝ الناشرين : ❞ باكت للنشر ❝ ❱. المزيد..

كتب دومينيك هاوزر
الناشر:
باكت للنشر
كتب باكت للنشر Packt هي شركة نشر تأسست عام 2003م ومقرها في برمنغهام ، المملكة المتحدة ، ولها مكاتب في مومباي ، الهند. تنشر Packt بشكل أساسي الكتب المطبوعة والإلكترونية ومقاطع الفيديو المتعلقة بتكنولوجيا المعلومات ، بما في ذلك البرمجة وتصميم الويب وتحليل البيانات والأجهزة. إلى جانب أنشطة النشر التقليدية ، تدعم Packt وتعزز المشاريع والمفاهيم مفتوحة المصدر. في مارس 2011 ، بعد حملة "صدق في المصدر المفتوح" ، أعلنت Packt أن تبرعاتها لمشاريع مفتوحة المصدر قد تجاوزت 300 ألف دولار. ❰ ناشرين لمجموعة من المؤلفات أبرزها ❞ Kali Linux - An Ethical Hacker's Cookbook ❝ ❞ Flutter Projects ❝ ❞ Test-Driven iOS Development with Swift 3 2nd Revised edition ❝ ❞ Practical Hardware Pentesting ❝ ❞ Building Games with Flutter ❝ ❞ Managing State in Flutter Pragmatically ❝ ❞ SwiftUI Cookbook (1nd Edition) ❝ ❞ Mastering Kali Linux for Advanced Penetration Testing 2nd Edition ❝ ❞ Test-Driven iOS Development with Swift 4th Edition ❝ ومن أبرز المؤلفين : ❞ بول تيل ❝ ❞ دومينيك هاوزر ❝ ❞ فيجاي كومار فيلو ❝ ❞ أحمد سحر، كريغ كلايتون ❝ ❞ سيمون أليساندريا ❝ ❞ جيوردانو سكالزو ❝ ❞ وليد أرشد ❝ ❞ بايو إيرينل ❝ ❞ كريستوفر دوفي ❝ ❞ أبهيناف سينغ، مونيكا أغاروال ❝ ❞ هيمانشو شارما ❝ ❞ توني هسيانغ تشيه هسو ❝ ❞ أليساندرو مولينا ❝ ❞ سوجوي أشاريا ❝ ❞ ميتش سوني ❝ ❞ جين مارسيل بيلمونت ❝ ❞ غلين جي سينغ ❝ ❞ نيخيل باثانيا ❝ ❞ حازم صالح ❝ ❞ نيبون جسوال ❝ ❞ جين جورجس فالي ❝ ❞ هوفمان جون ❝ ❞ جيرارد يوهانسن ❝ ❞ جوناثان هيلموس ❝ ❞ كارل جيلبرت ❝ ❞ أيوبامي أديوولي ❝ ❞ أنطونيو غوميز رودريغيز، فيليب معوض، Bruno Demion (Milamber) ❝ ❞ بو ويفر ❝ ❞ بيري لي ❝ ❞ سوني وير ❝ ❞ مايكل ماكفي ❝ ❞ ريبيكا أوكوروجي ❝ ❞ جوزيف مونيز ❝ ❞ زيد صبيح ❝ ❞ لي ألين ❝ ❞ بيتر واهر ❝ ❞ إيان أندرسون ❝ ❞ جياكومو فينيري ❝ ❞ أندرو مينتير ❝ ❞ أميت كابور ❝ ❱.المزيد.. كتب باكت للنشر