جلسه یازدهم: تست کردن و آزمودن
به طور کلی هرچه یک برنامه بزرگتر شود، احتمال رخ دادن خطا و در نتیجه کار نکردن برنامه بیشتر میشود. در بعضی از موارد، کار نکردن یک سایت یا برنامه هزینه سنگینی را تحمیل به ما میکند. فرض کنید برای نیم ساعت سیستم پرداخت شتاب یا سایت رزرواسیون یک هتل معروف از دسترس خارج شود و یا به درستی کار نکند. چنین خرابی هزینه زیادی را موجب میشود.
آخرین راه برای کاهش احتمال بروز خطا در یک سایت یا برنامه
تست کردن است. تست کردن
رفتار سایت،
یکپارچگی سایت و تست کردن
واحدهای جداگانه سایت عنوان تستهای رایج و مفیدی هستند که اگر در هر مرحله از کار آنها را انجام دهیم، به آسانی و با اطمینان بیشتری میتوانیم سایت را تغییر دهیم، ویژگی و فیچر جدید به آن اضافه کنیم و یا آن را تحویل دهیم.
- Unit Testing
- Integration Testing
- Behavior Testing
همانطور که میدانید در بسیاری از پروژه های بزرگ افرادی هستند که تخصص و وظیفه آنها انجام تست است.
در دنیای کامپیوتر در طی سالها برای مشکلات رایج در یک حوزه ، راه حل های عمومی و خوبی نوشته میشود و در اختیار عموم قرار میگیرند. این راهحل ها میتوانند ابزارهای واقعی مثل jQuery باشند یا صرفاً مفاهیم انتزاعی و مدل باشند مانند بعضی از الگوهای طراحی و Design Pattern ها. این راه حلها را می توانیم
فریموورک بنامیم.
در جلسات قبل در مورد فریموورک های CSS مانند Bootstrap و یا فریموورک های جاوا اسکریپت مانند jQuery صحبت کردیم. برای
تست کردن نیز فریموورک های متعددی در طی سالیان اخیر توسعه پیدا کرده و دردسترس ما است. به عنوان مثال به موارد زیر اشاره میکنم:
- Mocha یک فریموورک تست کردن است که به زبان جاوا اسکریپت نوشته شده و مورد استفاده قرار میگیرد. این فریموورک در Node.js و مرورگر اجرا میشود. به کمک آن میتوان به آسانی تستهای اسنکرون انجام داد.
Jasmine یک فریممورک تست کردن رفتار سایت برای جاوا اسکریپت است. این فریموورک متن باز هم هست.
آشنایی با این ابزارها این امکان را با طراح وب میدهد تا با آزمودن برنامه و سایت خود، بسیاری از خطاهای موجود در آن را کشف کند. کشف کردن آنها قبل از خراب کردن عمبکرد برنامه و سردرگمی طراح و برنامه نویس و یا حتی قبل از تحویل برنامه اهمیت حیاتی دارد.
بنابراین پیشنهاد میکنم در برنامهتان آسنایی با مفهوم تست و کسب مهارت کار با فریموورکهای مناسب مرتبط را قرار بدهید. علاوه بر مفید بودن این مهارت که به آن اشاره کردم، وجود چنین موردی در رزومه تان، برای هر کسی از جمله کسی که قصد استخدام شما را دارد بسیار جذاب است.
یکی از مواردی که موفقیت شما را در بازار تسریع میکند داشتن مهارتهایی است که کمتر کسی با آنها آشناست و کسی از شما انتظار ندارد که آن را داشته باشید. مثل دروازهبانی که توپها را به خوبی مهار میکند، خیلی از پنالتی ها را مهار میکند، تازه گاهی گل هم میزند!