آزمون دستی (Manual Testing) در جوملا

تست‌کنندگان کسانی هستند که می‌دانند چگونه از جوملا استفاده کنند و زمان کافی برای انجام تست دارند. هر کسی می‌تواند به عنوان تست‌کننده شناخته شود و یک یا چند درخواست تغییر (Pull Request) را در سطح دانش خود تست کند. واقعاً برای همه افراد فرصت وجود دارد!

محیط تست

برای شروع به یک محیط نیاز دارید که بتوانید چندین نصب جوملا را به‌راحتی ایجاد کنید، چون معمولاً تست‌ها بر اساس شاخه‌های مختلف مانند 5.2-dev، 5.3-dev یا 6.0-dev انجام می‌شوند. می‌توانید نصب‌های مختلف را در زیرپوشه‌هایی با نام‌هایی مثل jcms-test-52 یا jcms-test-60 قرار دهید.

چیزهایی که نیاز دارید:

- لپ‌تاپ یا کامپیوتر دسکتاپ دارای وب‌سرور، پایگاه داده و PHP نصب شده 

- نصب گیت (Git)

- نصب Node.js و npm

- نصب Composer 

- یک حساب GitHub برای دریافت API Token 

- آخرین نسخه فایل فشرده Patchtester از بخش Releases صفحه GitHub (دکمه Latest) که می‌توانید چندین بار استفاده کنید 

امکان انجام تست با استفاده از زیرپوشه در یک حساب هاستینگ وجود دارد اما کار با نصب محلی راحت‌تر است.

ساخت پایگاه داده

نمونه دستورات برای ایجاد پایگاه داده و کاربر MySQL از خط فرمان:

 
mysql -u root -p
CREATE DATABASE jcms_53;
CREATE USER 'jtester'@'localhost' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON jcms_53.* TO 'jtester'@'localhost';
FLUSH PRIVILEGES;
EXIT;

برای تست با کاربر ساخته شده:

 
mysql -u jtester -p -D jcms_53
(و وارد کردن رمز strong_password)
EXIT;

می‌توانید از رمز ساده‌تر استفاده کنید که راحت بیاد بسپارید. همین کاربر را می‌توانید برای چندین پایگاه داده تستی استفاده کنید.

نصب جوملا

روش معمول نصب جوملا از بسته توزیع‌شده شامل فایل‌های CSS و JavaScript منبع نیست که برای بازسازی و تست تغییرات در این منابع لازم است. بهتر است مستقیماً مخزن joomla-cms را کلون کنید و یک نصب کاری بسازید:

- ابتدا شاخه‌ای که می‌خواهید استفاده کنید (مثلاً 5.3-dev) را انتخاب کنید 

- به دایرکتوری والد پوشه‌های جوملا بروید و دستور زیر را اجرا کنید:

git clone https://github.com/joomla/joomla-cms.git

- پوشه کلون شده را به نام دلخواه تغییر دهید، مثلاً:

mv joomla-cms jcms-53; cd jcms-53;

- شاخه مورد نظر را چک‌اوت کنید:

git checkout 5.3-dev

- وابستگی‌های جوملا را نصب کنید:

composer install

- نصب جوملا را بسازید:

npm ci

پس از پایان مراحل composer و npm، می‌توانید مرورگر را به پوشه نصب محلی خود (مثلاً localhost/jcms-53) هدایت کرده و نصب جوملا را همانند نصب عادی انجام دهید.

توجه:

- در آخر نصب، پوشه “installation” را حذف نکنید. 

- زبان‌های اضافی را در این مرحله نصب نکنید چون ممکن است برای نسخه انتخابی جوملا در دسترس نباشند. نصب زبان‌ها در مرحله بعد پوشش داده می‌شود.

ورود به مدیریت

با نام کاربری و رمز عبور مدیر که در هنگام نصب تعیین کرده‌اید وارد بخش مدیریت شوید. تور راهنمای خوش‌آمدگویی به طور خودکار شروع می‌شود که می‌توانید آن را ادامه دهید، لغو یا برای همیشه غیرفعال کنید.

در نوار عنوان، نسخه نصب شده (مثلاً 5.3.0-alpha4-dev) نمایش داده می‌شود.

ممکن است بخواهید برخی تنظیمات پیکربندی کلی را تغییر دهید؛ مثلاً محدودیت پیش‌فرض فهرست را به ۱۰ کاهش دهید یا زمان نشست (Session Lifetime) را به ۶۰ دقیقه افزایش دهید تا زمان بیشتری برای کار داشته باشید.

از آیکون مربوطه می‌توانید صفحه اصلی سایت را در یک پنجره جدید باز کنید تا نمایش خانه، منوی اصلی و فرم ورود را چک کنید.

حل مشکلات احتمالی

اگر مشکلی رخ داد، چند راه‌حل به شرح زیر پیشنهاد می‌شود:

- خالی کردن پایگاه داده، حذف فایل configuration.php از ریشه سایت و اجرای مجدد فرآیند نصب جوملا 

- خالی کردن پایگاه داده و حذف پوشه‌ای که برای این سایت تست استفاده شده است، سپس بازگشت به مرحله کلون کردن مخزن و شروع مجدد 

- ایجاد پایگاه داده جدید و کلون کردن مجدد مخزن با نام‌های جدید برای محیط تست تازه 

مرحله بعدی: آماده شدن برای انجام تست‌ها با استفاده از افزونه Joomla! Patchtester.

جوملا! پچ تستر (Joomla! Patch Tester)

نصب

1. آخرین فایل زیپ Patch Tester را از بخش Releases (دکمه Latest) دانلود و ذخیره کنید. 

2. افزونه Patch Tester را با استفاده از روش Upload Package File در مدیریت جوملا نصب کنید (مسیر: System -> Install Extensions).

پیکربندی

1. از منوی مدیریت جوملا، وارد Joomla Patch Tester شوید. 

2. از نوارابزار گزینه Options را انتخاب کنید. 

3. به تب GitHub Authentication بروید. 

4. در فیلد GitHub Token، توکن API که از حساب GitHub خود گرفته‌اید را وارد کنید. 

5. ذخیره و بستن (Save & Close).

patch tester options for github authentication

گرفتن داده‌ها (Fetch Data)

- در صفحه Joomla! Patch Tester، دکمه Fetch Data را بزنید. پس از چند ثانیه، فهرستی از موارد قابل تست نمایش داده می‌شود (مثلاً 224 آیتم، که این مقدار به‌صورت ساعتی تغییر می‌کند). 

- می‌توانید فهرست را با دقت بررسی کنید. به‌عنوان مثال، برخی اشکالات (bugs) ممکن است در صفحه‌های بعدی ظاهر شوند (مثلاً صفحه ۳ یا ۴ با ۱۰ آیتم در هر صفحه).

patch tester list of issues

ویژگیهای مهم

- Pull ID بر اساس نزولی مرتب شده است و جدیدترین‌ها در بالا هستند. 

- لینک‌های View on GitHub و View on Joomla! Issue Tracker در پنجره‌های جدید باز می‌شوند. لینک دوم معمولا حاوی دستورالعمل‌های تست و گزارش نتایج است. 

- برچسب‌های رنگی اطلاعاتی مانند نوع درخواست (Bug یا Feature) و تغییر در منابع NPM را نشان می‌دهند. 

- شاخه (Branch) نشان می‌دهد درخواست تغییر برای کدام شاخه جوملا است. ممکن است برخی درخواست‌ها نیاز به تست در شاخه خاص داشته باشند اما همیشه اینطور نیست. 

- دکمه Apply Patch پچ مربوط به درخواست تغییر را به نصب تست شما اعمال می‌کند. اگر پچ شامل تغییرات در منابع NPM باشد، باید از خط فرمان به ترتیب دستورهای زیر را اجرا کنید: 

  - `npm ci` یا 

  - `npm run build:css` اگر فقط CSS تغییر کرده باشد یا 

  - `npm run build:js` اگر فقط فایل‌های JavaScript تغییر کرده باشند. 

- پس از تست و اطمینان از عملکرد پچ، باید پچ را Revert کنید و در صورت تغییرات NPM مجدد `npm ci` اجرا شود.

گزینههای فیلتر

- اگر تازه شروع کرده‌اید، توصیه می‌شود ابتدا به مواردی که برچسب bug دارند توجه کنید تا در زمینه‌های تسلط خود تست انجام دهید. 

- تعداد موارد bug محدود است (مثلاً ۵۰ مورد) و شاخه انتخابی برای نصب (مثل 4.3) تنها تعداد کمی مورد را دارد که معمولا مسئله‌ای نیست.

دیتا نمونه (Sample Data)

- برخی درخواست‌ها نیاز به محتوای خاص برای نمایش مشکل یا راه‌حل دارند. 

- سه مجموعه داده نمونه موجود است: 

  1. Testing Sample Data: فقط در سایت‌های ساخته شده با کلون مخزن موجود است، داده‌های مناسبی فقط به زبان انگلیسی برای تست فراهم می‌کند. 

  2. Blog Sample Data: همراه با همه نصب‌های جوملا ارائه می‌شود و آشناست. 

  3. Multilingual Sample Data: همراه با نصب‌های جوملا است و نیاز به نصب زبان‌های اضافی دارد و نباید داده‌های نمونه قبلی باشد. 

- اگر نیاز به تغییر داده نمونه دارید، می‌توانید یک نصب جدید با داده متفاوت ایجاد کنید یا پایگاه داده را خالی کرده، فایل configuration.php را حذف و نصب مجدد انجام دهید.

نصب زبان‌ها

- نصب زبان از مسیر System -> Install -> Languages ممکن است با خطای "Unable to detect manifest file." مواجه شود. 

- برای رفع: 

  1. در لیست زبان‌ها، روی لینک Details URL زبان مورد نظر کلیک کنید. 

  2. در مرورگرهایی مثل Firefox و Chrome صفحه XML باز می‌شود. 

  3. آدرس فایل زیپ زبان در بخش دانلود را کپی کرده، در نوار آدرس مرورگر جای‌گذاری و ذخیره کنید. 

  4. این فایل زیپ را از مسیر System -> Install -> Extensions مثل یک افزونه عادی نصب کنید. 

  5. بعد از نصب، زبان محتوا و پلاگین System - Language Filter را فعال کنید.

روند تست

۱. ابتدا لیست مسائل (Issues) را مرور کنید و موردی که فکر می‌کنید می‌توانید آن را تست کنید، انتخاب نمایید. 

۲. روی لینک "View on Joomla! Issue Tracker" کلیک کنید تا وارد صفحه مربوط به آن مورد شوید. 

۳. بخش‌های مختلف را مطالعه کنید: 

   - خلاصه تغییرات (Summary of Changes) 

   - دستورالعمل‌های تست (Testing Instructions) 

   - نظرات (Comments) 

توجه داشته باشید ممکن است درخواست تغییر (Pull Request) طبق نظر نویسنده کار کند، ولی توسعه‌دهندگان باتجربه ممکن است نگرانی‌هایی درباره رویکرد انتخاب شده داشته باشند یا مشکلات احتمالی بعدی ببینند. در این صورت ممکن است درخواست تغییر رد شود یا تغییراتی بخواهد. بنابراین تا تایید نظرات و رفع ایرادات، تست را به بعد موکول کنید. 

۴. تغییرات در Diff را بررسی کنید تا ببینید چند فایل تغییر کرده‌اند و تغییرات چقدر گسترده هستند. 

۵. در Patch Tester پچ مربوطه را اعمال (Apply Patch) کنید و ببینید طبق دستورالعمل تست، عملکرد مورد انتظار دارد یا خیر. اگر پچ شامل تغییرات در فایل‌های CSS یا JavaScript است، فراموش نکنید پس از اعمال پچ دستور `npm ci` را در خط فرمان اجرا کنید. 

۶. اگر از عملکرد پچ رضایت داشتید و به نظر نمی‌رسد عوارض جانبی منفی داشته باشد، به صفحه Issue Tracker در جوملا بازگردید. 

۷. روی دکمه "Test This" کلیک کنید تا فرم گزارش نتیجه تست باز شود. 

۸. نتیجه تست خود را ثبت و ارسال کنید. 

 

پس از ارسال نتیجه تست، یادتان باشد: 

- پچ را به حالت قبل (Revert) برگردانید. 

- اگر پچ شامل تغییر در منابع NPM بوده، مجدداً دستور `npm ci` را اجرا کنید.

issue tracker test result form

این روند به حفظ کیفیت و صحت تغییرات کمک می‌کند و موجب می‌شود تیم توسعه بازخورد مناسبی از تست‌کنندگان دریافت کند.

بسته‌های پیش‌ساخته (Prebuild Packages)

این بخش هنوز تکمیل نشده است؛ 

گاهی اوقات ممکن است نتوان از افزونه Patch Tester استفاده کرد. در این موارد، می‌توان بسته به‌روزرسانی‌ای که شامل تغییرات یک Pull Request خاص است را دانلود کرد.

مراحل دریافت بسته پیش‌ساخته:

1. در صفحه Patch Tester روی لینک "View on GitHub" کلیک کنید. 

2. به بخش "All checks have passed" در پایین صفحه بروید. 

3. روی لینک "Show all checks" کلیک کنید. 

4. یکی از آیتم‌ها با عنوان "Download — Prebuilt packages are available for download" قابل مشاهده است. 

می‌توانید از آن‌جا بسته‌های پیش‌ساخته را دانلود و استفاده کنید.

توجه: این مطلب ناقص است و نسخه کامل اما قدیمی‌تر آن در صفحه Testing_Joomla!_patches موجود می‌باشد.