تست نرم‌افزار

کنترل‌کیفیت نرم‌افزار، اهمیت فراوانی در جهت اطمینان از کارکرد صحیح آن‌ها و کاهش‌ احتمال بروز مشکلات دارد. این کار باعث کاهش هزینه‌ها، پیشگیری از ضررهای احتمالی، و تجربه‌ی بهتر کاربر می‌شود. در بسیاری از پروژه‌ها، به دلیل حساسیت امر، برای انجام صحیح و اصولی این کار از ابزارهای اتوماسیون تست نرم‌افزار (test automation)، استفاده می‌شود. این کار فواید زیادی دارد، که از میان آن‌ها، می‌توان به دارا بودن سرعت، دقت و صحت بالا، کاهش هزینه‌ها و مقیاس‌پذیری اشاره کرد.

رقابت‌کننده باید با تکنولوژی‌های تست نرم‌افزار و مفاهیم مرتبط با آن آشنا باشد. نوشتن Unit Test برای تست نرم‌افزار با اطلاع از کدهای نوشته شده (white box testing)، و همچنین نوشتن تست برای نرم‌افزارها، بدون اطلاع از ساختار درونی آن ها (black box testing)، از توانایی‌های مورد نیاز برای این بخش می‌باشد.

test-explorer-17-0.png

برای مثال، در سال 2024، رقابت‌کننده می‌بایست برای انجام black box testing، یک API که به او تحویل داده‌ شده بود را راه‌اندازی کرده و با فراهم کردن تست کیس‌های گوناگون، خروجی‌های API را کنترل و خطا‌های احتمالی را شناسایی می‌کرد. همچنین برای انجام white box testing، رقابت کننده می‌بایست برای برنامه‌ای که خودش توسعه داده بود، Unit Test می نوشت.


تکنولوژی‌های مجاز

  • NUnit framework

نرم‌افزارهای نصب‌شده

  • Microsoft Visual Studio
  • Flask

آموزش‌های پیشنهادی

فعلا پیشنهادی نداریم!


تمرین‌های این بخش

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

خلاصه که در این ماژول رقابت‌کننده باید با مفاهیم تست نرم‌افزار آشنا باشد و درضمن توانایی نوشتن انواع تست را نیز داشته باشد.