سؤال

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

لا تجعلني أبدأ في اختبار الوحدة ، وأشياء IOC ، هذا شيء آخر تمامًا.

ما أفعله ، وما أطلب المساعدة به هو إنشاء بحث شامل ذكي ، يستكشف أجزاء من حالة البرنامج.

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

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

يتعلق هذا بطرق التحقق الرسمية وأنا أطلب المساعدة أو البصيرة من الأشخاص ذوي الخبرة.

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

المحلول

ما تريد القيام به يبدو قليلا مثل فحص النموذج, ، من ناحية ، وتوليد حالة الاختبار الآلي من ناحية أخرى (في الفئة الأخيرة تحقق من اختبار concolic, ، تقنية لتجنب إضاعة الوقت مع مسارات التنفيذ غير المجدية).

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

لست على دراية بأي أدوات موجودة لتطبيقات الويب ، لكن هذا لا يعني أنها غير موجودة.

نصائح أخرى

يبدو أنك تريد fuzzer. خَوخ هي واحدة من هذه الأدوات.

يمكن أن يكون البحث الشامل مهمة غير تافهة لمورد محدود (الذاكرة ، الفضاء) ، ولكن مع العديد من التقنيات ، يمكن تقليل المشكلة ، مثل استخلاص رمزك (على سبيل المثال: استبدال فئات DATABASE PRISTES مع Stubs) ، يتم تقديم تجربة في هذه الورقة: Abstract الفحص النموذجي لتطبيقات الويب باستخدام Java Pathfinder (Vinh Cuong Tran ، Yoshinori Tanabe ، Masami Hagiya ، جامعة طوكيو).

إذا نظرت إلى نوع من التحقق الرسمي لنماذج FSM التي تشبه النماذج ، فإن Java Pathfinder لديها امتداد للتحقق من مخططات حالة UML المكتوبة في Java+Eanotation (يعتمد على Javapathfinder VM):

http://babelfish.arc.nasa.gov/trac/jpf/wiki/projects/jpf-statechart

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