هذا المشروع عبارة عن تجربة تركز على استخدام LLMS (ChatGPT 4 و Claude) لإنشاء رمز HTML و CSS و JavaScript الذي يلبي متطلبات المستخدم من خلال المطالبة.
بعد صياغة نصوص اختبار الكاتب المسرحي يدويًا من قبل المجربين ، يتم إعطاء المطالبات بعد ذلك إلى LLMS لإنشاء نصوص اختبار الكاتب المسرحي التي يمكنها تغطية جميع متطلبات المستخدم بالكامل.
تتم مقارنة البرامج النصية للكاتب المسرحي المصنوع يدويًا والإنشاء ، واستنادًا إلى النتائج ، يتم تحليل جدوى استخدام LLMS لإنشاء صفحات ويب أمامية بحتة وإنشاء نصوص اختبار E2E تلقائيًا.
سيكون هناك ما مجموعه أربع تجارب مستقلة (Test1 ~ test4) ، مع كل اختبار يجريه مطور مختلف. سيكون لكل تجربة مهمة مختلفة ، أي متطلبات المستخدم ، التي تتكون من المهام المتعلقة بالويب يمكن حلها باستخدام HTML و CSS و JavaScript. يتم توفير المهام في ملف PDF الموجود في كل مجلد اختبار.
سيتم تقسيم التجربة إلى المهام الثلاث التالية:
وصف المهمة:
منذ أن تم اختبار اثنين من LLMS (ChatGPT-4 ، Claude) ، سيتم تعيين LLM المراد اختبارها وفقًا للتجربة. سيتم إعطاء المطالبات إلى LLM المعينة ، ويجب أن تتضمن هذه المطالبات جميع متطلبات المهمة ، مثل تصميم واجهة المستخدم وأنماط التفاعل والوظائف كما هو موضح في المهمة. يجب أن تتبع المطالبات بنية سردية مماثلة لقصة المستخدم.
يجب توثيق كل تحسن كبير في النتائج والمطالبات المستخدمة في ملف prompts_record.md للتحليل اللاحق. سيستمر الاختبار حتى يلبي الرمز الذي تم إنشاؤه بواسطة LLM جميع متطلبات المهمة (التي يتم الحكم عليها في البداية).
التسليمات:
prompts_record.md ) توثيق كل تحسن كبير والمطالبات المستخدمة.وصف المهمة:
باستخدام إطار عمل الكاتب المسرحي ، اكتب اختبار E2E للمهمة المحددة في TypeScript. يجب أن يتحقق البرنامج النصي للاختبار من أن الكود الذي تم إنشاؤه بواسطة LLM يلبي المتطلبات. بالإضافة إلى ذلك ، من الضروري توجيه LLM إلى إضافة سمات data-testid وعلبة aria-label إلى علامات HTML ذات الصلة ، ويجب استخدام هذه السمات كمحددات في الاختبار ، بدلاً من محددات CSS (الهدف الرئيسي هو التعرف على المشاركين باستخدام Clowwright للاختبار التلقائي).
التسليمات:
وصف المهمة:
سيتم إعطاء المطالبات إلى LLM المعينة لإنشاء برنامج نصي اختبار E2E في TypeScript باستخدام Playwright. يجب أن يكون البرنامج النصي للاختبار قادرًا على التحقق من استيفاء جميع متطلبات المهمة. على غرار المهمة الأولى ، يجب توثيق كل تحسن كبير والمطالبات المستخدمة في prompts_record.md للتحليل.
التسليمات:
prompts_record.md ) توثيق كل تحسن كبير والمطالبات المستخدمة. Yuankai619 للاختبار test1
OWEN0806 لاختبار test2
Zihan0221 للاختبار test3
ديفير لاختبار test4
لقطات من كل نصي اختبار الكاتب المسرحي: https://yuankai619.github.io/llm-splyated-web-and-playwright-e2e-testing/
| امتحان | هل تلبي صفحة الويب المتطلبات | ما إذا كان البرنامج النصي الاختبار يغطي الاختبار بالكامل |
|---|---|---|
| Test1 | ✅ | ✅ |
| Test2 | ✅ | ✅ |
| اختبار 3 | ✅ | ✅ |
| Test4 | ✅ | ✅ |
| امتحان | عدد التكرارات السريعة المقدمة إلى LLM لإنشاء الويب | عدد التكرارات الفاضلة المعطاة إلى LLM لإنشاء نص اختبار |
|---|---|---|
| Test1 | 4 | 5 |
| Test2 | 3 | 2 |
| اختبار 3 | 3 | 5 |
| Test4 | 2 | 1 |
استنادًا إلى نتائج الاختبارات الأربعة ، يمكننا أن نستنتج أن LLMs الحالية قادرة على توليد رمز الويب بشكل متكرر الذي يفي بالمتطلبات الخاضعة للإشراف البشري. بالإضافة إلى ذلك ، يمكنهم إنشاء أطر اختبار الكاتب المسرحي E2E المقابل بناءً على المتطلبات المحددة والأطر المحددة. ومع ذلك ، فإن الرقابة البشرية المتسقة والتكرار ضرورية لتحقيق نتائج مرضية.
Test1 بمثابة مثال رئيسي. تتطلب المهمة "العشوائية" ، التي قدمت تحديًا لـ LLM في توليد الاختبارات التي يمكن أن تتعامل بشكل فعال مع هذا الجانب. علاوة على ذلك ، إذا تمت كتابة التأخير المتعمد في JavaScript ، فغالبًا ما فشلت الاختبارات التي تم إنشاؤها في حسابها بشكل صحيح.
لذلك ، إذا كان الهدف هو إنشاء LLMS تلقائيًا اختبارات بناءً على شفرة المصدر ومتطلباتها ، فيجب على المرء أيضًا النظر في تحدي التمييز بين الأخطاء في الاختبارات من الأخطاء في الكود نفسه. هذا مجال يتطلب المزيد من الاستكشاف.