20 ترفند برتر برای تست نرم افزارها
طراحی و ساخت نرم افزار و اپلیکیشن با دشواری هایی همراه است، اما فرآیند تست این محصولات، خود به تنهایی چالش جدیدی را پیش روی توسعه دهندگان و برنامه نویسان قرار می دهد. ترفندهای بیشماری برای تست نرم افزارها وجود دارند که هر کدام دارای مزایا و معایب منحصر به فرد خود می باشند و بسته به نوع نرم افزار، بکارگیری هر کدام از آنها به نتایج گوناگونی می انجامد. در این مقاله قصد داریم شما را با چندین ترفند در زمینه تست آشنا کنیم: 1. سعی در تجزیه و تحلیل کامل نتایج تست نمایید. نادیده گرفتن نتایج حاصل از تست هیچگاه جایز نیست، این نتیجه پیروزی یا شکست است، اما با شناسایی مشکلاتی که به شکست منجر شده اند به رفع آنها کمک می نمایید. چنانچه علاوه بر نمایش باگ ها، راه حلی نیز برای رفع آنها پیشنهاد شود، تست کنندگان بسیار مورد تمجید قرار خواهند گرفت. 2. سطح پوشش تست را هر بار به حداکثر برسانید. پوشش صد درصد رقمی غیرممکن به نظر می رسد، اما همواره سعی در دستیابی به رقمی نزدیک به آن نمایید. 3. اپلیکیشن را به بخش های کوچک تر تقسیم کنید تا سطح بیشتری پوشش داده شود. تست کیس ها را به ازای ماژول های واحد بنویسید و تا جایی که امکان پذیر است این ماژول ها را نیز به بخش های کوچک تر تفکیک کنید. یک اپلیکیشن وب سایتی را در نظر بگیرید که به ماژول هایی تقسیم شده و دریافت اطلاعات کاربری یکی از ماژول های آن می باشد. در این شرایط شما قادر به تفکیک بخش اطلاعات کاربری به قسمت های کوچک تر و جزئی تر نیز می باشید. این تست کیس ها می توانند تست رابط کاربری، تست عملکرد فرم ها و غیره را در بر بگیرند. انواع فیلدها و اندازه های آنها را تست کنید و تست های منفی و اعتبارسنجی را نیز بر روی فیلدهای ورودی انجام دهید. 4. در حین تست ابتدا به تست موارد معتبر بپردازید. در فرآیند تست لازم است ابتدا شرایطی را که همه چیز مطابق با نیازمندی ها و معتبر است، بیازمایید و سپس اقدام به تست سایر حالت های نامعتبر کنید. این اقدام رفتار مورد انتظار و نیز غیرقابل انتظار از اپلیکیشن را پوشش می دهد. 5. مثبت بیاندیشید. فرآیند تست را با ذهنیت یافتن باگ و خطا آغاز کنید، هیچگاه این تصور را در ذهن خود نپرورانید که با هیچگونه خطا و مشکلی روبه رو نخواهید شد، چنانچه تست را با هدف یافتن باگ شروع کنید، کوچک ترین جزئیاتی نیز از قلم نمی افتد و تمامی شرایط پوشش داده می شود. 6. به نوشتن تست کیس ها در فاز جداگانه و مطابق با تجزیه و تحلیل نیازمندی ها اقدام کنید. در این شرایط قادر به کسب اطمینان از بابت تست پذیری تمامی نیازمندی ها خواهید بود. 7. پیش از شروع کدنویسی، تست کیس ها را در اختیار برنامه نویسان قرار دهید. تست کیس ها را با این تفکر که قادر به یافتن باگ های بیشتری خواهید بود، تا زمان انتشار نهایی اپلیکیشن پیش خود نگه ندارید. به برنامه نویسان فرصت تجزیه و تحلیل کامل تست کیس های خود را بدهید تا بدین طریق قادر به ساخت و طراحی اپلیکیشنی باکیفیت گردند. این کار باعث صرفه جویی در زمان نیز می شود و از کارهای اضافه به شدت می کاهد. 8. چنانچه امکان پذیر است، به شناسایی و گروه بندی تست کیس ها برای تست رگرسیون بپردازید. این کار تست رگرسیون سریع و موثر را نتیجه خواهد داد. 9. باید زمان پاسخ گویی اپلیکیشن ها به منظور کسب اطمینان از بابت کارآیی به صورت کامل تست شود. تست کارآیی به یقین یکی از بخش های بحرانی بسیاری از اپلیکیشن ها را به خود اختصاص می دهد. در تست های دستی این بخش اغلب از سوی تست کنندگان نادیده انگاشته می شود، نبود حجم عظیمی از داده های تست کارآیی موردنیاز دلیل چنین شرایطی است، لذا همواره باید به دنبال راهی برای تست کارآیی اپلیکیشن خود باشید. چنانچه ساخت داده های تست به شکل دستی برای شما امکان پذیر نیست، اقدام به نوشتن اسکریپت های مقدماتی برای ساخت داده های تست کنید و یا از برنامه نویسان درخواست نوشتن آنها را نمایید. 10. برنامه نویسان نباید کدهای خود را تست کنند. هیچگاه نباید به عنوان تست کننده، برنامه نویسان را مجبور به انتشار محصول برای تست نمایید، تحمیل فشار زمانی بر روی افراد جایز نیست. هر کسی از رئیس تا مدیر، از زمان انتشار ماژول/آپدیت آگاهی دارد و می تواند زمان تست را تخمین بزند و این وضعیت در محیط های چابک حاکم است. 11. تست را گسترش دهید. اپلیکیشن را تنها به منظور انجام آنچه طراحی شده تست نکنید، بلکه آن را با ذهنیتی وسیع تر بیازمایید. 12. هنگام تست رگرسیون از گراف باگ قبلی خود بهره بگیرید. گراف باگ نمایش دهنده تعداد خطاهایی است که در طول زمان و در ماژول های گوناگون یافت شده اند. این گراف در جهت شناسایی بخشی از اپلیکیشن که بیشتر از همه محتمل به باگ است به کمک شما خواهد آمد. 13. عبارات و مفاهیم جدید را که در طول فرآیند تست می آموزید، یادداشت کنید. در حین تست اپلیکیشن یک فایل متنی را باز نگه دارید و از تمامی فرآیند تست و مشاهدات خود یادداشت برداری کنید. از این یادداشت ها می توان برای آماده سازی گزارش نهایی تست بهره جست. این کار به شما در جهت تامین یک گزارش تست کامل و بدون ابهام که جزئیات متعددی را شامل می شود، یاری می رساند. 14. در اکثر شرایط تست کنندگان و برنامه نویسان در حین انجام تست تغییراتی را در کدها اعمال می کنند. این گام لازمه تست است، مخصوصا برای پروژه هایی مانند بانک داری که تراکنش های زنده حرف اول را می زند. اما ذکر این نکته ضروری است که باید تمامی تغییرات اعمال شده را مستندسازی کنید و چنانچه لازم است این تغییرات اعمال شده برای تست را از نسخه اصلی که به دست مشتریان می رسد، حذف کنید. 15. برنامه نویسان را از محیط تست دور کنید. این گام به منظور حصول اطمینان از غیاب هرگونه تغییرات مرتبط با پیکربندی در نسخه نهایی، حیاتی است. گاه برنامه نویسان اقدام به اعمال تغییراتی در پیکربندی اپلیکیشن می کنند و ذکر آن را به فراموشی می سپارند. بنابراین چنانچه برنامه نویسان هیچگونه دسترسی به محیط تست نداشته باشند، از اعمال اتفاقی این تغییرات در محیط تست نیز جلوگیری به عمل می آید و هر جا جزئیات از قلم افتاده به درستی شناسایی و مشکل رفع می گردد. 16. در بر گرفتن تست کنندگان در فاز نیازسنجی و طراحی نرم افزار. بدین طریق تست کنندگان نیز از میزان اعتمادپذیری به اپلیکیشن آگاهی می یابند و در نتیجه سطح پوشش تست به جزئیات بیشتری گسترش خواهد یافت. چنانچه شما به عنوان تست کننده چنین پیشنهادی را از جانب رئیس یا مدیر خود دریافت نکرده اید، از آنها درخواست کنید که شما را نیز در فرآیندهای تصمیم گیری و جلسات شرکت دهند. 17. به اشتراک گذاری تجربیات. تیم های تست باید بهترین راهکارهای تست را با یکدیکر به اشتراک بگذارند و تجربیات خود را در اختیار سایر تیم های تستی سازمان قرار دهند. 18. تبادل نظرات با برنامه نویسان را به منظور اطلاع بیشتر از محصول، افزایش دهید. تعاملات رو در رو به منظور رفع اختلافات احتمالی پیشنهاد می شود و از هر گونه سو تفاهم جلوگیری می کند. پس از حل هرگونه اختلاف و مشکلی نتایج را مستندسازی کنید و به تعاملات زبانی اکتفا ننمایید. 19. زمان خود را برای انجام تست هایی با اولویت بالا از دست ندهید. فعالیت های تست خود را به دقت اولویت بندی کنید و کار خود را مطابق با آنها برنامه ریزی نمایید، علاوه بر این به تجزیه و تحلیل ریسک های مرتبط به منظور اولویت بندی کار خود بپردازید. 20. اقدام به نوشتن گزارش خطایی واضح، تشریحی و بدون ابهام نمایید. تنها به نمایش علایم باگ اکتفا نکنید، بلکه تاثیر این باگ بر شرایط محتمل را نیز به تصویر بکشید. همواره به یاد داشته باشید که تست نرم افزار یک وظیفه خلاقانه و چالش برانگیز است و دست و پنجه نرم کردن با این چالش، به شدت به مهارت ها و تجربه شما بستگی دارد. http://www.softwaretestinghelp.com برگرفته از