تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
فحص الدوال و الإجراءات تمهيداً للنشر
#1
كاتب الموضوع : نجيب المجيدي

لو سئلتك: كم مرة تحتاج للتوقف عن البرمجة و محاولة تقمص شخصية المستخدم لتجريب احتمالات الإدخال التي قد يدخلها لإجراء معين في برنامجك , ومن ثم تتتبع المخرجات وملاحظة كيف يتصرف هذا الإجراء مع المدخلات المختلفة وهل يعيد القيم المتوقعة أم لا , و سأجيب نيابة عنك: بالتأكيد في كل مرة تقوم فيها بتطوير صنف جديد أو دالة معينة ستحتاج إلى اختبارها قبل الركون إليها تماماً وهذا هو موضوعنا اليوم حيث أن مايكروسوفت توفر لك عدة خيارات لاختبار برامجك و وتطبيقاتك سواءً تلك المصممة للوب أو لسطح المكتب وذلك ضمن بيئة التطوير الجديدة Visual Studio Team System 2008 واليوم سنذهب في جولة للتعرف على كيفية الاستفادة من هذه الإمكانات في تطبيقاتنا ...

للتعرف على قوالب الاختبار التي نستطيع استخدامها , افتح Visual Studio Team System 2008 وقم بإنشاء مشروع جديد ثم من شريط القوائم اختر القائمة Test واختر "new test" ستظهر لك نافذة إضافة اختبار جديد وفيها عدة أنواع قياسية أهمها:


DatabaseUnitTest لاختبار كائنات قواعد البيانات من إجراءات و دوال وغيرها
GenericTest برنامج موجود مسبقاً يتم تحويره ليعمل تحت بيئة اختبارية في إطار بيئة عمل .NET
لمزيد من التفاصيل حول كيفية إنشاء GenericTest راجع مكتبات MSDN على الرابط التالي:
ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.en/dv_vsetlt01/html/5d1706bf-e08d-442a-8f0f-50ce2f661ca7.htm

WebTest لاختبار تطبيقات الوب
UnitTest لاختبار دالة أو إجراء معين, وكذلك UnitTestWizard لنفس الغرض ولكن باستخدام المعالج , وبالتأكيد تستطيع تعديله فيما بعد يدوياً ( سنأتي لذلك لاحقاً ).
OrderedTest لتنفيذ عدة اختبارات معاً بالترتيب الذي تقوم بتحديده.

عند اختيارك لأحد الأنواع السابقة يتم إنشاء مشروع جديد يحتوي على وحدة الاختبار



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

كود :
Public Function Max(ByVal fNumber As Int32, ByVal sNumber As Int32) As Int32
Dim maxNumber As Integer
If fNumber > sNumber Then
maxNumber = fNumber
Else
maxNumber = sNumber
End If

Return maxNumber

End Function
باستخدام UnitTestWizard سنقوم بإنشاء وحدة اختبار لهذه الدالة باتباع الخطوات التالية:
1- من قائمة test اختر New Test , ثم UnitTestWizard
ستظهر نتفذة تطالبك بكتابة اسم المشروع الجديد الذي سينشأ للاختبار, اختر إنشاء بعد كتابة الاسم المناسب.
2- في النافذة التالية Create Unit Test قم باختيار الدالة التي تريد اختبارها كما تشاهد في الصورة.


3- سيتم إنشاء وحدة اختبار قم بتعديلها لتصبح كالتالي:


كود :
'''<summary>
'''A test for Max
'''</summary>
<TestMethod()> _
Public Sub MaxTest()
Dim target As Form1 = New Form1 ' TODO: Initialize to an appropriate value
Dim fNumber As Integer = 10 ' TODO: Initialize to an appropriate value
Dim sNumber As Integer = 20 ' TODO: Initialize to an appropriate value
Dim expected As Integer = 20 ' TODO: Initialize to an appropriate value
Dim actual As Integer
actual = target.Max(fNumber, sNumber)
Assert.AreEqual(expected, actual)
End Sub
حيث fNumber و sNumber هما متغيران سيتم تمريرهما إلى الدالة و expected نسند إليه القيمة التي نتوقع من الدالة إعادتها , بينما actual سيحتوي على القيمة الفعلية المعادة من الدالة , أظن الفكرة واضحة الآن , ففي السطر التالي سنقوم باختبار تساوي المتغيرين expected و actual فإذا تساويا بعد تنفيذ الدالة فهذا يعني نجاح الاختبار و إذا لم يتساويا فهذا يدل على وجود خطأ في الدالة

بقي الإشارة إلى أنك تستطيع تغيرر AreEqual للطريقة المناسبة مثل isNull أو isTrue أو AreNotEqual بحسب الحاجة , والآن لتشغيل الاختبار قم بالضغط على Ctrl + R + T أو من نافذة Test View اختر الاختبار المطلوب بالزر الأيمن ثم تشغيل , ستظهر النتيجة في نافذة Test Results كما في الصورة
}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  فحص الدوال و الإجراءات تمهيداً للنشر RaggiTech 0 1,755 27-10-12, 04:16 PM
آخر رد: RaggiTech

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم