سؤال

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

نحن بحاجة للتحقق والتحقق من صحة هذه البيانات:

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

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

هذا هو نهج جيد؟هل هناك أنماط أفضل ومعممة بالمثل للتحقق من صحة البيانات؟

نحن متجر .NET، فهل سيكون Windows Workflow (WF) حلاً أفضل وأكثر مرونة؟

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

المحلول

اختبار الوحدة لا يشبه ما عليك القيام به.إنه أكثر على غرار اختبار التكامل أو اختبار القبول.ولكن هذا خارج عن الموضوع.

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

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

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

شيء أخير.يتم إجراء تسلسل سير العمل إلى xaml للتخزين على المدى الطويل.يجب أن تكون فصولك قابلة للتسلسل باستخدام xaml أيضًا لجعل الانتقال من النشاط إلى المستودع والعودة مرة أخرى سلسًا وبسيطًا قدر الإمكان.

نصائح أخرى

اختبار هذه البيانات للتأكد من صحتها يبدو معقولا.يمكنك أو لا تسميها اختبار الوحدة، هذا هو اختيارك.لن أفعل ذلك.استخدم الأداة التي تجدها الأفضل لهذه الوظيفة - لا أعرف ماذا تقصد بـ WF (WebForms؟).

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

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