ووردبريس: دليل الاختبار الآلي والتنفيذ التلقائي
انتهى عصر الاعتماد فقط على الاختبار اليدوي لتطوير البرمجيات، بما في ذلك WordPress. الانتقال من الاختبار اليدوي إلى الاختبار الآلي هو استجابة للاحتياجات المتطورة لفرق تطوير البرمجيات. تقدم هذه المقالة نظرة عامة مفصّلة وصديقة للمبتدئين حول سبب حدوث هذا التحول، وفوائد الاختبار الآلي والتكامل المستمر لتطوير ووردبريس، وكيفية تنفيذ هذه الممارسات بفعالية.
1. التحول من الاختبار اليدوي إلى الاختبار الآلي في ووردبريس
الاختبار اليدوي ضروري لفهم كيفية عمل التطبيق، ولكن له العديد من القيود. فهو يستغرق وقتاً طويلاً، ويتطلب موارد كبيرة، وهو عرضة للخطأ البشري، خاصة في السيناريوهات المتكررة.
يعالج الاختبار التلقائي هذه المشكلات من خلال توفير طريقة سريعة وفعالة ومتسقة لاختبار تطبيقات ووردبريس. سواءً كنت تنشئ مدونة بسيطة أو موقعًا إلكترونيًا ذا عضوية معقدة، فإن الاختبارات الآلية توفر الوقت وتقلل من الأخطاء وتساعد على ضمان عمل موقعك الإلكتروني على النحو المنشود.
1.1 لماذا الانتقال إلى الاختبار الآلي؟
- تعظيم الكفاءة القصوى: يمكن للاختبارات المؤتمتة تنفيذ العديد من حالات الاختبار بسرعة، مما يقلل من الوقت والجهد المطلوبين مقارنةً بالاختبار اليدوي.
- قابلية التوسع: عندما يصبح موقعك الإلكتروني أو تطبيقك أكثر تعقيدًا، يمكن للاختبار الآلي التعامل مع المزيد من السيناريوهات دون زيادة عبء العمل على فريق التطوير لديك.
- سهولة التكامل: يندمج الاختبار المؤتمت بسلاسة في خط أنابيب التطوير، مما يتيح الكشف السريع عن الأخطاء وحلها. وهذا أمر بالغ الأهمية في بيئات Agile و DevOps، حيث تكون التحديثات متكررة.
- قابلة للتكرار وموثوق بها: يمكن تكرار الاختبارات المؤتمتة عبر بيئات متعددة، مما يضمن استمرار عمل جميع الميزات كما هو متوقع، وهو أمر مهم بشكل خاص لمواقع ووردبريس ذات الإضافات والتخصيصات المختلفة.
2- فوائد الاختبار الآلي و CI / CD في تطوير ووردبريس
يعد الاختبار الآلي والتكامل المستمر/النشر المستمر (CI/CD) أمرًا حيويًا للحفاظ على مواقع ووردبريس الإلكترونية عالية الجودة.
- الاختبار الآلي يسمح للمطورين باكتشاف الأخطاء في وقت مبكر، مما يقلل من فرصة نشر الأخطاء في الإنتاج.
- التكامل المستمر يضمن دمج تغييرات التعليمات البرمجية التي يجريها المطورون المختلفون بانتظام في مستودع مشترك، مما يقلل من التعارضات ومشاكل التكامل.
- النشر المستمر أتمتة نشر التحديثات، مما يضمن نشر أحدث الميزات بسلاسة دون تعطيل الوظائف الحالية.
3. الأدوات الرئيسية للاختبار الآلي في ووردبريس
يمكن استخدام العديد من الأدوات لتبسيط الاختبار الآلي في ووردبريس. تضمن هذه الأدوات جودة الشيفرة البرمجية، وتتحقق من توافق المكوّنات الإضافية، وتساعد في تحديد المشكلات في وقت مبكر من دورة التطوير.
3.1 وحدة PHPUnit
وحدة PHPUnit هو إطار الاختبار الرسمي الذي اعتمده فريق تطوير ووردبريس الأساسي لاختبار كود PHP. إنه أداة قوية تضمن استقرار الإضافات والقوالب.
الإعداد خطوة بخطوة ل PHPUnit:
1- تثبيت PHPUnit:
قم بتثبيت PHPUnit عبر Composer. قم بتشغيل الأمر التالي للتثبيت:
طلب الملحن - dev phpunit/phpunit
السبب: يضمن لك استخدام Composer أن يكون لديك الإصدار الصحيح من PHPUnit المتوافق مع بيئة WordPress الخاصة بك.
2- استنساخ مستودع اختبار ووردبريس:
استنساخ مستودع اختبار ووردبريس لإنشاء بيئة اختبار معزولة. استخدم Git أو SVN للاستنساخ:
استنساخ git clone https://github.com/WordPress/wordpress-develop.git
السبب: هذا يوفر لك الملفات والبيئة اللازمة لاختبار كود ووردبريس الخاص بك دون التأثير على إعداد الإنتاج الخاص بك.
3- تكوين بيئة الاختبار الخاصة بك:
- قم بإعداد بيئة اختبار محلية باستخدام خادم محلي مثل MAMP أو WAMP أو Docker. تضمن هذه الخطوة مطابقة بيئة الاختبار لبيئة الإنتاج لديك بأكبر قدر ممكن.
- نصيحة: يعد Docker مفيدًا بشكل خاص لإنشاء حاويات معزولة تمنع التعارض مع إعدادات التطوير الرئيسية.
4- تشغيل اختبارات PHPUnit:
نفّذ الاختبارات باستخدام الأمر التالي:
./ البائع/بن/فبونيت
السبب: يساعد إجراء الاختبارات على تحديد الأخطاء في وقت مبكر من عملية التطوير، مما يحسن جودة التعليمات البرمجية ويقلل من مشاكل النشر.
وحدة PHPUnit مثاليًا لاختبار وظائف الواجهة الخلفية لإضافاتك وقوالبك، وتقديم ملاحظات مفصلة للمطورين.
3.2 واجهة برمجيات WP-CLI
WP-CLI هو واجهة سطر الأوامر لوردبريس، مما يبسّط إعداد اختبارات PHPUnit وإدارتها.
استخدام WP-CLI لإعداد الاختبارات:
1- تثبيت WP-CLI:
- قم بتنزيل WP-CLI باستخدام سطر الأوامر:
كيرل -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
mv wp-cli.phar /usr/local/bin/wp
السبب: توفر WP-CLI طريقة أسرع لإدارة عمليات تثبيت ووردبريس، وهي مفيدة بشكل خاص للمهام المتكررة مثل إعداد بيئات الاختبار.
2- إنشاء ملفات اختبار المكونات الإضافية:
استخدم WP-CLI لإنشاء ملفات اختبار الوحدة لإضافتك:
سقالة wp سقالة wp-اختبارات المكون الإضافي المكون الإضافي الخاص بي
السبب: الـ اختبارات سقالة wp سقالة wp الإضافية
يقوم الأمر بإنشاء جميع الملفات اللازمة لبدء الاختبار، مما يوفر عليك الوقت.
3- إعداد قاعدة بيانات الاختبار:
أنشئ قاعدة بيانات اختبار منفصلة لتشغيل اختبارات الوحدة دون التأثير على بيانات الإنتاج:
bash bin bin/install-winstall-wp-tests.sh wordpress_test جذر '' المضيف المحلي
نصيحة: استخدم دائمًا قاعدة بيانات اختبارية مخصصة لمنع التعديلات العرضية على بيانات موقعك المباشر.
4- إجراء الاختبارات:
- اكتب اختبارات الوحدة وقم بتشغيلها باستخدام PHPUnit. يساعد WP-CLI على أتمتة عملية السقالات، مما يجعل البدء في الاختبار أسهل.
3.3 سايبرس للاختبار من النهاية إلى النهاية
سايبرس هو إطار عمل مفتوح المصدر لإنشاء اختبارات شاملة لمواقع ووردبريس الإلكترونية. وهو مفيد بشكل خاص لاختبار كيفية تفاعل الموقع الإلكتروني مع المستخدمين.
كيفية إعداد سايبرس:
1- تثبيت سايبرس:
قم بتثبيت Cypress عبر npm:
npm install cypress - حفظ-تطوير-حفظ-حفظ-تطوير
السبب: تم تصميم Cypress للاختبار من البداية إلى النهاية، مما يعني أنه يختبر سير عمل موقعك الإلكتروني بالكامل، مما يوفر رؤى حول تفاعلات المستخدم.
2- تكوين سايبرس:
ينشئ Cypress تلقائيًا الملفات والمجلدات الضرورية، مثل سيبريس. json
لإعداد إطار العمل. يمكنك تكوين هذا الملف ليناسب احتياجات مشروعك.
نصيحة: تخصيص الرابط الأساسي
في سيبريس. json
لتتناسب مع بيئة الاختبار الخاصة بك.
3- كتابة الاختبارات:
يستخدم Cypress JavaScript لكتابة البرامج النصية للاختبار. على سبيل المثال، لاختبار صفحة تسجيل الدخول
وصف('اختبار تسجيل الدخول'، () => { {
هو('يجب تسجيل الدخول بنجاح'، () => { {
cy.visit('https://example.com/login');
cy.get('input[name="username"]).type("user");
cy.get('input[name="password"]').type("password");
cy.get('button[type="send"]').click();
cy.contains('Dashboard').should('be.visible');
});
});
السبب: يوفر Cypress صيغة واضحة تجعل كتابة حالات الاختبار وفهمها أمرًا سهلاً، حتى بالنسبة للمبتدئين.
4- إجراء الاختبارات:
قم بإجراء اختبارات سايبرس باستخدام:
إن بي إكس السرو المفتوح
نصيحة: تمثل واجهة مستخدم Cypress بصريًا كل خطوة اختبار، مما يجعل تصحيح الأخطاء أسهل.
سايبرس طريقة مرئية وتفاعلية للغاية لاختبار تفاعلات المستخدم، مما يجعلها فعالة بشكل خاص لاختبار الواجهة الأمامية.
3.4 بيهات للتطوير القائم على السلوك (BDD)
بيهات هو إطار عمل يركِّز على التطوير القائم على السلوك (BDD)، وهو مثالي لاختبار تجارب المستخدم في ووردبريس.
إعداد البهات:
1- تثبيت بيهات:
تثبيت Behat باستخدام الملحن:
يطلب الملحن - ديف بيهات/بهات
السبب: يسمح لك Behat باختبار سلوك تطبيق ووردبريس الخاص بك بلغة طبيعية، مما يضمن أن الوظيفة تلبي متطلبات العمل.
2- تكوين Behat:
إنشاء behat.yml
ملف التكوين:
افتراضي:
الأجنحة:
افتراضي:
السياقات:
- سياق الميزات
الامتدادات:
Behat\MinkExtension:
base_url: http://localhost
سيلينيوم2: ~
نصيحة: استخدم MinkExtension لأتمتة المتصفح، مما يسهل محاكاة تفاعلات المستخدم.
3- كتابة السيناريوهات في Gherkin:
يستخدم Behat لغة Gherkin، وهي لغة تصف سلوك المستخدم. على سبيل المثال:
الميزة: تسجيل دخول المستخدم
السيناريو: تسجيل دخول ناجح
بالنظر إلى أنني في "/تسجيل الدخول"
عندما أقوم بملء "اسم المستخدم" ب "مستخدم"
وأملأ "كلمة المرور" ب "كلمة المرور"
وأضغط على "تسجيل الدخول"
ثم يجب أن أرى "مرحبًا بك في لوحة التحكم"
السبب: تتيح الكتابة بلغة Gherkin لأصحاب المصلحة غير التقنيين فهم ما يتم اختباره.
4- إجراء الاختبارات:
قم بتشغيل Behat باستخدام:
البائع/بين/بهات
نصيحة: يساعد إجراء الاختبارات بشكل متكرر على تحديد التناقضات بين السلوكيات المتوقعة والفعلية.
بيهات مثالي لضمان تلبية موقع الويب الخاص بك على WordPress لمتطلبات العمل من خلال التركيز على سيناريوهات المستخدم النهائي.
3.5 مفهوم الرمز للاختبار الشامل
مفهوم الشفرة يسمح للمطورين بإجراء اختبارات الوحدة والاختبارات الوظيفية واختبارات القبول في أداة واحدة، مما يوفر اختبارًا شاملاً لمشاريع ووردبريس.
كيفية إعداد Codeception:
1- تثبيت مفهوم الشفرة:
استخدم الملحن لتثبيت Codeception:
طلب الملحن كود الاستقبال/كود الاستقبال - ديف
السبب: يدعم Codeception اختبارات مختلفة، مما يجعله متعدد الاستخدامات لاختبار ووردبريس الشامل.
2- تهيئة الرمز الاستهلالي:
قم بتشغيل أمر التهيئة لإعداد Codeception:
البائع/بن/كود/كودستراب التمهيد
نصيحة: يؤدي تهيئة Codeception إلى إنشاء بنية المجلد المطلوب لمجموعات الاختبار المختلفة.
3- تكوين مجموعات الاختبار:
- قم بتخصيص ملف codeception.yml وإعداد مجموعات محددة مثل اختبار القبول أو اختبار الوحدة.
- السبب: كل مجموعة تخدم غرضاً محدداً، مما يتيح إجراء اختبارات مستهدفة.
4- كتابة الاختبارات:
يدعم Codeception البرامج النصية الاختبارية المستندة إلى PHP لاختبار سيناريوهات مختلفة، مثل:
wantTo('التأكد من عمل تسجيل الدخول');
$I->amOnPage('/ تسجيل الدخول');
$I->>ملء الحقل('اسم المستخدم'، 'مستخدم')؛
$I->>ملء حقل('كلمة المرور'، 'كلمة المرور')؛
$I-> انقر('تسجيل الدخول');
$I->see('لوحة التحكم');
نصيحة: استخدام أسماء اختبارات وصفية يسهل فهم نوايا الاختبار ونتائجه.
5- تشغيل الاختبارات:
- استخدم الأمر لتنفيذ الاختبارات:
البائع/بين/تشغيل الكود
مفهوم الشفرة يجمع بين اختبارات مختلفة في سير عمل واحد، ويتحقق من صحة مشاريع ووردبريس المعقدة بقوة.
4. دمج أدوات الاختبار مع بيئات التطوير
يساعد دمج أدوات الاختبار المؤتمتة مع بيئات التطوير على تبسيط عمليات الاختبار وتحسينها. إليك كيفية دمج هذه الأدوات في بيئات مختلفة:
- دوكر: استخدم Docker لإنشاء حاويات معزولة تعكس بيئة الإنتاج الخاصة بك، مما يضمن اتساق اختباراتك عبر بيئات مختلفة.
- نصيحة: يسمح لك Docker بتشغيل اختباراتك في بيئات مطابقة لبيئات الإنتاج، مما يقلل من مشاكل "يعمل على جهازي".
- ديفكنستا: يوفر DevKinsta بيئة تطوير ووردبريس محلية كاملة، مما يجعل دمج أدوات مثل PHPUnit و Behat أمرًا سهلاً.
- نصيحة: استخدم DevKinsta للاختبار المحلي وتحديد المشكلات قبل نشر التغييرات.
- MAMP/WAMP: يقوم MAMP و WAMP بإنشاء بيئات محلية
الردود