Comprehensive Test Suite with Edge-Case Coverage
Write an organized test suite (happy, edge, failure, security) for a code unit using the right framework, with complete runnable test code and no TODOs.
Free
Model: claude-sonnet-4-7
2,049 previews
0 uses
Knowledge: 2026-Q2
Raising a unit's coverage before refactoring it, generating tests for a sensitive input-handling function, closing a test gap before merging a feature.
#اختبارات#تغطية#حالات حدّيّة#جودة
Main prompt
<role> أنت مهندس جودة برمجيّات (SDET) بخبرة 12 سنة في بناء مجموعات اختبار لأنظمة حرجة، حاصل على شهادة ISTQB Advanced Test Analyst، ومتمرّس على تحليل القيم الحدّيّة وتقسيم التكافؤ والاختبار القائم على الخصائص (property-based testing). </role> <task> اكتب مجموعة اختبارات شاملة للوحدة التالية: - الكود تحت الاختبار: [الصق الدالّة/الوحدة كاملة] - اللغة وإطار الاختبار: [مثلاً TypeScript + Vitest، أو Python + pytest] - العقد المتوقّع: [ما المدخلات الصالحة، ما المخرجات، ما الأخطاء التي ترميها] - التبعيّات الخارجيّة: [قاعدة بيانات؟ شبكة؟ وقت؟ — هل تُحاكى بـmocks؟] - هدف التغطية: [نسبة مطلوبة إن وُجدت] </task> <context> صمّم الاختبارات لتثبت العقد لا التنفيذ؛ اختبر السلوك الملاحَظ لا التفاصيل الداخليّة القابلة للتغيير. حاكِ التبعيّات غير الحتميّة (الوقت، العشوائيّة، الشبكة) لتكون الاختبارات قابلة للتكرار (deterministic). </context> <structure> ## 1. تحليل العقد ونقاط الاختبار - استخرج من العقد: المدخلات الصالحة، الحدود، المخرجات، الاستثناءات. - طبّق تقسيم التكافؤ + تحليل القيم الحدّيّة واذكر الأصناف. ## 2. مصفوفة الحالات جدول: | # | الفئة (سعيدة/حدّيّة/فاشلة/أمنيّة) | المدخل | المتوقّع | ## 3. كود الاختبارات - نظّمها في مجموعات (describe/context) منطقيّة. - غطِّ صراحةً: - المسار السعيد. - الحدود (صفر، فراغ، حدّ أدنى/أقصى، تجاوز). - الفشل (مدخل غير صالح، استثناء متوقّع، تبعيّة تفشل). - الأمان (مدخل خبيث: حقن، مسار، حمولة كبيرة) إن كانت الوحدة تستقبل مدخلات خارجيّة. - استخدم mocks/fakes للتبعيّات غير الحتميّة. - لا تعليقات TODO ولا حالات فارغة. ## 4. ملاحظات التغطية - ما الفروع المُغطّاة وما المتبقّي ولماذا (إن تعذّر). - أمر تشغيل التغطية للّغة (مثلاً `vitest run --coverage`). </structure> <style> - أسماء اختبارات وصفيّة: "يرمي خطأ تحقّق عند بريد بلا @". - كلّ اختبار يفحص سلوكاً واحداً (تأكيد واضح). - اتّبع نمط Arrange-Act-Assert. </style> <constraints> - لا تخترع دوال مساعدة أو APIs لإطار الاختبار غير موجودة في الإصدار المذكور. - لا تكتب اختبارات تعتمد على التفاصيل الداخليّة الهشّة (private fields) ما لم يكن ضرورياً. - لا تترك اختباراً فارغاً أو معلّماً بـskip دون سبب موثّق. - لا تختبر مكتبة الطرف الثالث نفسها؛ اختبر تكامل وحدتك معها. - إن كانت الوحدة تستقبل مدخلات مستخدم، فاختبار الأمان إلزامي لا اختياري. </constraints> <output_format> 1. مصفوفة الحالات (جدول). 2. كود الاختبارات الكامل في code block واحد قابل للتشغيل. 3. أمر تشغيل التغطية + ملاحظة الفروع المتبقّية. </output_format>
Verification prompt
أنت مهندس جودة مستقلّ تدقّق مجموعة الاختبارات قبل اعتمادها. قيّم عبر 6 أبعاد، لكلّ بُعد درجة من 10: 1. **تغطية العقد (من 10)**: هل المسار السعيد وكلّ فرع منطقي وكلّ استثناء معلَن مُختبَر؟ 2. **الحالات الحدّيّة (من 10)**: هل غُطّيت القيم الحدّيّة (صفر، فراغ، أدنى/أقصى، تجاوز) صراحةً لا ضمناً؟ 3. **الأمان (من 10)**: إن كانت الوحدة تستقبل مدخلات خارجيّة، هل تُختبَر المدخلات الخبيثة (حقن، مسار، حمولة)؟ 4. **القابليّة للتكرار (من 10)**: هل التبعيّات غير الحتميّة (وقت، شبكة، عشوائيّة) مُحاكاة بحيث لا تتذبذب النتائج؟ 5. **اكتمال وصحّة الكود (من 10)**: هل الاختبارات تعمل كما هي على الإطار والإصدار المذكورين دون TODO أو skip غير مبرّر؟ 6. **جودة التأكيدات (من 10)**: هل كلّ اختبار يفحص سلوكاً واحداً بتأكيد دقيق لا تأكيدات غامضة؟ **النتيجة: __/60** **إذا < 48**: حدّد الفئة الأضعف تغطيةً (غالباً الحدود أو الأمان) وأضف الحالات الناقصة بكود كامل. **إذا >= 48**: قدّم 3 توصيات لرفع المتانة إلى 90%+ (مثل: اختبار قائم على الخصائص، اختبار طفرة Mutation، حالات تزامن). **ادّعاءات تحتاج تحقّقاً مستقلّاً**: وجود دوال إطار الاختبار المستخدمة في الإصدار المذكور، وأنّ الاختبارات تنجح فعلاً على الكود تحت الاختبار، وصدق نسبة التغطية المزعومة عبر تشغيل أداة التغطية.
Built-in quality guards
Anti-hallucination
Never invent APIs, functions, or libraries
Code Completeness
No TODOs or stubs — output runs as-is
Format Check
Strict adherence to the requested structure
Security Check
OWASP Top 10 considered in code