كيفية بدء تشغيل وحدة اختبار الكود القديم والجديد؟

StackOverflow https://stackoverflow.com/questions/1137167

  •  16-09-2019
  •  | 
  •  

سؤال

أعترف بأنني ليس لدي خبرة تقريبا في التغلب. فعلت محاولة مع DUNIT منذ فترة لكنها تخليت لأن هناك الكثير من التبعيات بين الطبقات في طلبي. إنه كبير (حوالي 1.5 مليون خطوط المصدر) تطبيق دلفي ونحن فريق يحافظ عليه.

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

يستخدم Bold for Delphi كإطار ثابت مقابل قاعدة البيانات. نتفق جميعا على أن التغريد هو الطريقة للذهاب ونخطط لكتابة تطبيق جديد في Dotnet مع بيئة الإيكولوجية كإطار ثابت.

أنا فقط لا أعرف من أين أبدأ بجد ... أي كتب جيدة، URL، أفضل الممارسات وما إلى ذلك؟

هل كانت مفيدة؟

المحلول

حسنا، التحدي في اختبار الوحدة ليس اختبار نفسه، ولكن في كتابة رمز اختبار. وبعد إذا كان الرمز مكتوب ليس التفكير في الاختبار، ثم ربما يكون لديك وقت عصيب حقا.

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

هذه بلوق لديها الكثير من البصيرة الجيدة حول الاختبار. يفحص هذه المقالة على سبيل المثال (استند اقتراحي الأول إلى ذلك).

أما بالنسبة لاقتراح، حاول اختبار عقد الأوراق من الشفرة أولا، تلك الفئات التي لا تعتمد على الآخرين. يجب أن يكونوا أسهل في الاختبار، لأنهم لا يطلبون السخرون.

نصائح أخرى

تتطلب اختبارات وحدة الكتابة للرمز القديم عادة الكثير من إعادة الإنفاق. كتاب ممتاز يغطي هذا هو مايكل ريشة "العمل بفعالية مع القانون القديم"

اقتراح إضافي واحد: استخدم أداة تغطية اختبار الوحدة للإشارة إلى تقدمك في هذا العمل. لست متأكدا مما هي أدوات التغطية الجيدة لرمز دلفي. أعتقد أن هذا سيكون سؤالا مختلفا / موضوعا.

العمل بفعالية مع القانون القديم

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

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

النهج البديل الذي استخدمته هو تطوير اختبارات وحدتي عبر التعاونية :)

عندما تعمل مع الرمز القديم، فإن Mock Objetcs مفيدة حقا لبناء اختبارات الوحدات.

ألق نظرة على هذا السؤال بخصوص دلفي والسخرية: ما هي مكتبة Delphi الخاصة بك المفضلة؟

ل .NET Unittesting قراءة هذا: "فن اختبار الوحدة: مع أمثلة في .NET"

حول أفضل براتيسيس:
ما قلته هو الصحيح: في بعض الأحيان، من الصعب كتابة اختبارات الوحدات بسبب الاعتماد بين الطبقات ... لذا اكتب اختبارات الوحدات بعد أو قبل الآن ؛-) تنفيذ الفصول. مثل هذا، إذا كان لديك بعض الصعوبات لكتابة الاختبارات، فربما يعني ذلك أن لديك مشكلة في التصميم!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top