راه‌کارهایی به منظور یافتن باگ‌های سایت


پس از توسعهٔ یک سایت یا وب اپلیکیشن، اینکه سعی کنیم محصول‌مان به اصطلاح Bug-free باشد یک باید است چرا که وجود باگ‌ در محصول نهایی نه تنها باعث رقم خوردن تجربهٔ کاربری بدی برای کاربران می‌شود، بلکه به برند شخصی شما به عنوان یک دولوپر نیز ضربه می‌زند که در همین راستا در این پست به بررسی چک‌لیستی می‌پردازیم که با دنبال کردن آن قادر خواهیم شد که تا حد ممکن باگ‌های وب اپلیکیشن خود را یافته و آن‌ها را مرتفع سازیم اما پیش از پرداخت به این نکات، جهت آشنایی با مفهوم و تاریخچهٔ باگ، می‌توانید به مقالهٔ Grace Murray Hopper: کسی که برای اولین بار اصطلاح Bug را باب کرد! مراجعه نمایید.

اولین کسی باشید که به این سؤال پاسخ می‌دهید

چنانچه بخواهیم وب اپلیکیشنی داشته باشیم که عاری از هر نوع باگی باشد، ابتدا به ساکن نیاز است تا با انواع و اقسام باگ‌ها در صنعت توسعهٔ‌ نرم‌افزار آشنا شویم که برای این منظور می‌توانید به مقالهٔ درآمدی بر انوع باگ‌ها در صنعت توسعهٔ نرم‌افزار مراجعه نمایید.

نوشتن کدهای اصولی HTML و CSS

یکی از بخش‌های پایه‌ای به منظور اطمینان حاصل کردن از نبودِ باگ در سایت یا وب اپلیکیشن، نوشتن کدهای اصولی اچ‌تی‌ام‌ال و سی‌اس‌اس است که در همین راستا و با استفاده از ابزار W3C Markup Validation می‌توان از اصولی بودن ساختار وب‌سایت خود مطمئن شد. همچنین با استفاده از ابزار CSS Validation Service می‌توان از درست بودن کدهای سی‌اس‌اس که جهت استایل دادن به کدهای اچ‌تی‌ام‌ال مورد استفاده قرار گرفته‌اند اطمینان حاصل کرد.

تست موبایل‌فرندلی بودن وب‌سایت

نیاز به توضیح نیست که درصد قابل‌توجهی از کاربران اینترنت از دستگاه‌های موبایل برای وب‌گردی استفاده می‌کنند و همین مسئله لزوم بهینه‌سازی سایت برای دستگاه‌های هوشمندی همچون موبایل و تبلت را دوچندان می‌سازد. در واقع، وب‌سایت شما می‌باید کاملاً واکنش‌گرا (ریسپانسیو) باشد تا کاربران چنین دیوایس‌هایی بتوانند به سادگی از سایت‌تان استفاده کنند. نکاتی که در این ارتباط اهمیت دارند عبارتند از:

- اطمینان حاصل کنید که کاربر تحت هیچ عنوان با Horizontal Scrolling مواجه نخواهد شد.
- فونت‌ها، دکمه‌ها و ... باید کاملاً خوانا و کاربرپسند باشند.
- در صورت امکان،‌ باید دیوایس‌هایی با سیستم‌عامل‌های مختلف در دسترس داشت تا به صورت واقعی سایت را روی آن‌ها تست کرد.

تست وب‌سایت در مرورگرهای مختلف

گرچه امروزه گوگل کروم و فایرفاکس سهم بازار قابل‌توجهی از استفاده از مرورگرها را به خود اختصاص داده‌اند، اما در عین حال کاربرانی هستند به دلایل مختلفی تمایل به استفاده از این برندها نداشته و از رقبایی همچون اُپرا، سافاری، اِج و غیره استفاده می‌کنند و اینجا است که حصول اطمینان از درست بالا آمدن سایت روی انواع و اقسام مرورگرها ضروری است.

تست دسترسی‌پذیری وب‌سایت

W3C یکسری دستورالعمل عرضه کرده است که وب دولوپرها می‌باید قبل از عرضهٔ‌ سایت آن‌ها را در توسعهٔ محصول دخیل نمایند. به طور خلاصه،‌ این دستورالعمل‌ها حاکی از آنند که هر نوع سایتی می‌باید برای همهٔ کاربران به‌خصوص آن‌هایی که ناتوانی جسمی دارند قابل‌استفاده باشد. برخی از نکاتی که در این ارتباط می‌باید مورد توجه قرار گیرند عبارتند از:

- سایت باید در دستگاه‌های Screen Reader به خوبی کار کند.
- سایت باید صرفاً با استفاده از کیبورد قابل‌استفاده باشد.
- در محتواهایی همچون تصاویر حتماً باید از کَپشن استفاده نمود.

پیش از این در یکی از اپیزودهای رادیو فول‌استک در خصوص اهمیت دسترسی‌پذیری وب پادکستی تهیه شده است که اگر علاقمند به این موضوع هستید، می‌توانید به لینک اردلان نقشينه: برنامه‌نویس ارشد شرکت Critical Mass، كارآفرين و دانشجوی حقوق مهاجرت مراجعه نمایید.

تست امنیتی وب‌سایت

سایت‌هایی که امکان ثبت‌نام و لاگین در آن‌ها برای کاربران فراهم شده است، با دیتای کاربران سرورکار خواهند داشت و همین مسئله اهمیت Bug-free بودن آن‌ها را دوچندان می‌سازد که خود مقولهٔ‌ بسیار گسترده‌ای است. مؤسسه‌ای به نام Open Web Application Security Project یا به اختصار OWASP حاوی مقالات آموزشی و ترفندهایی است که علاقمندان به امنیت وب می‌توانند به صورت رایگان از آن استفاده نمایند.

تست وب اپلیکیشن از بُعد پرفورمنس

جدای از کلیهٔ‌ مباحث فوق،‌ یک وب اپلیکیشن موفق می‌باید از نقطه‌نظر پرفورمنس (راندمان) نیز عملکرد مناسبی داشته باشد و جالب است بدانیم که Performance Bugs یکی از بدترین انواع باگ‌های برنامه‌نویسی هستند! در این رابطه، پیروی کردن از نکاتی همچون قرار دادن سایت زیر بار (استرس) زیاد تا ببینیم در شرایط غیرعادی چه عملکردی دارا است و همچنین تست کردن سایت در شبکه‌های ضعیف تا ببینیم کاربرانی با اینترنت ضعیف چگونه سایت را خواهند دید الزامی است که در همین راستا و برای کسب اطلاعات بیشتر می‌توانید به مقالات زیر مراجعه نمایید:

Cost of Downtime: درآمدی بر هزینه‌های از دسترس خارج شدن کسب‌وکارهای آنلاین
Chaos Engineering چیست؟
Chaos Monkey: ابزاری اپن‌سورس جهت تست نرم‌افزار

در ارتباط با مقولهٔ‌ پرفورمنس، لازم به یادآوری است که موتورهای جستجویی همچون گوگل، بینگ و ... نیز سایت‌ها را از این بُعد رتبه‌بندی می‌کنند و به طور مثال سرعت بارگزاری وب‌سایت ارتباطی مستقیمی با نتایج سئو دارا است.

تست Beta از طریق کاربران واقعی

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

جمع‌بندی
باگ‌ها بخشی لاینفک از توسعهٔ نرم‌افزار هستند تا جایی که حتی در نرم‌افزارها و اپلیکیشن‌های بزرگ و مطرح هم گاهی شاهد وجود باگ‌های ریز و درشتی هستیم اما این اصلاً بدان معنا نیست که مجاز هستیم محصول نهایی خود را بدون تست‌های همه‌جانبه‌ای روانهٔ بازار کنیم؛ بلکه با پیروی از نکات فوق و همچنین اصولی که بسته به نوع اپلیکیشن فرق دارند، می‌باید تا حد ممکن از ایجاد صفحه‌های ۴۰۴، اِکسپشن‌ها و ... در مرورگر کاربر جلوگیری به عمل آوریم.

منبع