البدء في الاختبار وتصحيح الأخطاء ومعالجة الاستثناءات
- 7 دقائق
يحتاج كل مطور برامج إلى إكمال مستوى ما من الاختبار وتصحيح الأخطاء عند تطوير التعليمات البرمجية الخاصة به، وغالبا ما يكون التعامل مع الاستثناءات مطلوبا. ولكن كيف ترتبط هذه المهام الثلاث ومتى ينبغي تنفيذها؟
الاختبار وتصحيح الأخطاء ومعالجة الاستثناء
يرتبط تصحيح أخطاء التعليمات البرمجية بوضوح بكل من تطوير التعليمات البرمجية واختبارها. بعد كل شيء، يمكنك إجراء تصحيحات على منطق التعليمات البرمجية أثناء تطوير التطبيق الخاص بك، ويمكنك أيضا تشغيل التعليمات البرمجية الخاصة بك بشكل دوري للتحقق من صحة بناء جملة التعليمات البرمجية والمنطق. ولكن هل تحديث منطق التعليمات البرمجية أثناء عملية التطوير هو حقا ما المقصود بتصحيح الأخطاء؟ ويتحقق من أن التعليمات البرمجية الخاصة بك تبني وتشغل حقا ما المقصود بالاختبار؟ كلا ليس حقيقي.
كيف ترتبط معالجة الاستثناء بتطوير التعليمات البرمجية واختبارها؟ في الواقع، ماذا يعني "معالجة الاستثناء" وهل يتوقع من المطور القيام بذلك؟ في تطوير C#، يشار إلى الأخطاء التي تحدث أثناء وقت تشغيل التطبيق (مقابل أخطاء البناء التي تحدث أثناء عملية الإنشاء) على أنها استثناءات، و"معالجة الاستثناء" هي العملية التي يستخدمها المطور لإدارة استثناءات وقت التشغيل هذه داخل التعليمات البرمجية الخاصة به.
قد تتساءل عن كيفية ارتباط معالجة الاستثناء بتطوير التعليمات البرمجية واختبارها. في الواقع، ماذا يعني "معالجة الاستثناء" وهل يتوقع من المطور القيام بذلك؟ في تطوير C#، يشار إلى الأخطاء التي تحدث أثناء تشغيل التطبيق على أنها استثناءات. يشير مصطلح "معالجة الاستثناء" إلى العملية التي يستخدمها المطور لإدارة استثناءات وقت التشغيل هذه داخل التعليمات البرمجية الخاصة به. يشار إلى الأخطاء التي تحدث أثناء عملية الإنشاء على أنها أخطاء، ولا تعد جزءا من عملية معالجة الاستثناء.
تصف الأقسام التالية دور المطور في الاختبار وتصحيح الأخطاء ومعالجة الاستثناءات.
اختبار البرامج ومسؤوليات المطور
يمكن أن تتضمن عملية تطوير البرامج الكثير من الاختبارات. في الواقع، اختبار البرمجيات لديها تخصصها الخاص، ومختبري البرمجيات تلعب دورا هاما في تطوير التطبيقات الكبيرة. هناك حتى نهج لعملية تطوير البرمجيات التي تستند إلى الاختبار، مثل التطوير القائم على الاختبار.
يمكن تنظيم فئات اختبار البرامج ضمن أنواع الاختبار، أو نهج الاختبار، أو مزيج من كليهما. إحدى الطرق لتصنيف أنواع الاختبار هي تقسيم الاختبار إلى اختبار وظيفيوغير وظيفي . تتضمن الفئات الوظيفية وغير الوظيفية فئات فرعية للاختبار. على سبيل المثال، يمكن تقسيم الاختبار الوظيفي وغير الوظيفي إلى الفئات الفرعية التالية:
- الاختبار الوظيفي - اختبار الوحدة - اختبار التكامل - اختبار النظام - اختبار القبول
- اختبار غير وظيفي - اختبار الأمان - اختبار الأداء - اختبار قابلية الاستخدام - اختبار التوافق
على الرغم من أن معظم المطورين ربما لا يعتبرون أنفسهم مختبرين، فمن المتوقع وجود مستوى من الاختبار قبل أن يسلم المطور عملهم. عندما يتم تعيين دور رسمي للمطورين في عملية الاختبار، غالبا ما يكون على مستوى اختبار الوحدة.
إشعار
نظرا لأن اختبار البرامج هو موضوع كبير، وبما أنه غالبا ما يتم تنفيذه من خلال دور وظيفي منفصل، فلن تتم مناقشة الأساليب الرسمية لاختبار البرامج في هذه الوحدة.
تصحيح أخطاء التعليمات البرمجية ومسؤوليات المطور
تصحيح أخطاء التعليمات البرمجية هي عملية يستخدمها المطورون لعزل مشكلة وتحديد طريقة واحدة أو أكثر لإصلاحها. قد تكون المشكلة مرتبطة إما بمنطق التعليمات البرمجية أو استثناء. وفي كلتا الحالتين، يمكنك العمل على تصحيح أخطاء التعليمات البرمجية الخاصة بك عندما لا تعمل بالطريقة التي تريدها. بشكل عام، يتم حجز مصطلح تصحيح الأخطاء لمشكلات وقت التشغيل التي ليس من السهل عزلها. لذلك، لا يعتبر إصلاح مشكلات بناء الجملة مثل ";" مفقود في نهاية عبارة التعليمات البرمجية عادة تصحيح الأخطاء.
خذ بعين الاعتبار نموذج التعليمات البرمجية التالي:
string[] students = new string[] {"Sophia", "Nicolas", "Zahirah", "Jeong"};
int studentCount = students.Length;
Console.WriteLine("The final name is: " + students[studentCount]);
يهدف نموذج التعليمات البرمجية إلى إنجاز ما يلي:
- قم بتعريف صفيف سلسلة باسم
students.studentsيحتوي الصفيف على أسماء الطلاب. - قم بتعريف عدد صحيح يسمى
studentCount. تستخدم التعليمات البرمجيةLengthأسلوب الصفيف لتعيين قيمة إلىstudentCount. - طباعة اسم الطالب النهائي إلى وحدة التحكم. تستخدم
studentCountالتعليمات البرمجية للوصول إلى الاسم النهائي فيstudentsالصفيف، وتستخدمConsole.WriteLine()الأسلوب لطباعة المعلومات إلى وحدة التحكم.
للوهلة الأولى، كل شيء يبدو على ما يرام. ومع ذلك، تنشئ هذه التعليمة البرمجية استثناء عند محاولة طباعة اسم الطالب إلى وحدة التحكم. نسي المطور أن الصفائف تستند إلى الصفر. يجب الوصول إلى الاسم النهائي في الصفيف باستخدام students[studentCount - 1].
تصحيح أخطاء التعليمات البرمجية هو بالتأكيد مسؤولية المطور. في نموذج التعليمات البرمجية هذا، ربما تكون قد تعرفت على المشكلة على الفور. ومع ذلك، في سيناريوهات الترميز الأكثر تعقيدا، لا يكون العثور على مشكلة أمرا سهلا دائما. لا تقلق، هناك أدوات ونهج يمكنك استخدامها لتعقب المشكلات التي يصعب العثور عليها.
معالجة الاستثناءات ومسؤوليات المطور
كما قرأت سابقا، يشار إلى الأخطاء التي تحدث أثناء وقت تشغيل التطبيق على أنها استثناءات. إذا كان أحد التطبيقات ينشئ استثناء، ولم تتم إدارة هذا الاستثناء في التعليمات البرمجية، يمكن أن يؤدي إلى إيقاف تشغيل التطبيق.
التعامل مع الاستثناءات هو بالتأكيد مسؤولية المطور. يوفر C# طريقة لك "لتجربة" التعليمات البرمجية التي تعرف أنها قد تنشئ استثناء، وطريقة لك ل "التقاط" أي استثناءات تحدث.
خلاصة
فيما يلي بعض الأشياء المهمة التي يجب تذكرها من هذه الوحدة:
- الاختبار وتصحيح الأخطاء ومعالجة الاستثناءات كلها مهام مهمة لمطوري البرامج.
- يمكن تصنيف الاختبار إلى اختبار وظيفي وغير وظيفي، ومن المتوقع أن يقوم المطورون بإجراء مستوى معين من الاختبار.
- تصحيح أخطاء التعليمات البرمجية هو عملية عزل المشكلات وتحديد طرق إصلاحها، وهي مسؤولية المطور.
- معالجة الاستثناءات هي عملية إدارة الأخطاء التي تحدث أثناء وقت التشغيل، والمطورين مسؤولون عن معالجة الاستثناءات باستخدام عبارات "try" و"catch" في التعليمات البرمجية الخاصة بهم.