Podcast
Questions and Answers
تست نرمافزار به کدام یک از اهداف زیر کمک میکند؟
تست نرمافزار به کدام یک از اهداف زیر کمک میکند؟
ابزارهای تست نرمافزار به سه دسته تقسیم میشوند. کدام گزینه نادرست است؟
ابزارهای تست نرمافزار به سه دسته تقسیم میشوند. کدام گزینه نادرست است؟
کدام یک از موارد زیر به عنوان مزیت ابزارهای تست نرمافزار شناخته میشود؟
کدام یک از موارد زیر به عنوان مزیت ابزارهای تست نرمافزار شناخته میشود؟
کدام یک از گزینههای زیر شامل تست اتوماتیک نمیشود؟
کدام یک از گزینههای زیر شامل تست اتوماتیک نمیشود؟
Signup and view all the answers
کدام یک از مراحل زیر جزء فرآیند تست نرمافزار نیست؟
کدام یک از مراحل زیر جزء فرآیند تست نرمافزار نیست؟
Signup and view all the answers
تست دستی چه نوع فرآیندی است؟
تست دستی چه نوع فرآیندی است؟
Signup and view all the answers
کدامیک از مراحل زیر جزو مراحل تست دستی نیست؟
کدامیک از مراحل زیر جزو مراحل تست دستی نیست؟
Signup and view all the answers
کدامیک از مزایای تست دستی نیست؟
کدامیک از مزایای تست دستی نیست؟
Signup and view all the answers
چرا تست دستی ممکن است زمانبر باشد؟
چرا تست دستی ممکن است زمانبر باشد؟
Signup and view all the answers
کدامیک از معایب تست دستی به خوبی توصیف شده است؟
کدامیک از معایب تست دستی به خوبی توصیف شده است؟
Signup and view all the answers
Study Notes
ابزارهای تست نرم افزار
- تست نرم افزار یکی از مراحل مهم توسعه نرم افزار است که اطمینان می دهد نرم افزار مطابق با نیاز کاربران و مشخصات طراحی شده عمل می کند.
- ابزارهای تست نرم افزار به متخصصان کمک می کنند فرآیند تست را به صورت کارآمدتر و دقیق تر انجام دهند.
- ابزارهای تست به دو دسته کلی تست دستی و تست اتوماتیک تقسیم می شوند.
آشنایی با تست دستی نرم افزار
- تست دستی فرآیندی است که در آن یک فرد (تستر یا مهندس کیفیت نرم افزار) عملکرد نرم افزار را بر اساس سناریوهای تست بررسی می کند.
- تستر به صورت دستی عملکردهای نرم افزار را بررسی و اشکالات را شناسایی می کند.
مراحل تست دستی
- برنامه ریزی و آماده سازی تست ها: تستر از مستندات نرم افزار و نیازمندی های کاربر برای نوشتن سناریوهای تست استفاده می کند. سناریوهای تست شامل ورودی ها، عملیات و خروجی های مورد انتظار هستند.
- اجرای تست ها: تستر به صورت دستی سناریوهای تست را اجرا کرده و مشاهده می کند که آیا عملکرد نرم افزار مطابق با نیازمندی ها است یا خیر. تمامی یافته ها و خطاها در گزارش های تست ثبت می شوند.
- گزارش گیری از نتایج: تستر تمامی خطاها و مشکلات را ثبت و گزارشی جامع شامل جزئیات خطاها، اقدامات لازم برای رفع آنها و اولویت بندی مشکلات را تهیه می کند.
مزایای تست دستی
- امکان کشف مشکلات خاص و پیچیده ای که تست خودکار نمی تواند شبیه سازی کند.
- قابلیت تست رابط کاربری (UI) و تست هایی که نیازمند تعامل انسانی هستند.
- امکان ثبت دقیق مشکلات و اولویت بندی رفع آنها.
معایب تست دستی
- زمان بر بودن و نیاز به صرف انرژی زیاد.
- خطاهای انسانی و کاهش دقت در تست های تکراری.
آشنایی با تست خودکار نرم افزار
- تست خودکار از ابزارهای نرم افزاری برای اجرای خودکار تست ها استفاده می کند.
- کدهای تست از پیش نوشته شده و ابزارهای تست خودکار بدون دخالت دستی تستر، تست ها را اجرا می کنند.
- این روش برای تست های تکراری و بزرگ با نیاز به سرعت و دقت بالا بسیار مفید است.
مراحل تست خودکار
- انتخاب ابزار تست خودکار: برای انواع مختلف تست (یعنی واحد، یکپارچه سازی یا عملکرد)، ابزار مناسب انتخاب می شود.
- نوشتن اسکریپت های تست: برنامه نویسان اسکریپت هایی برای انجام تست ها می نویسند. این اسکریپت ها شامل مراحل و ورودی های مختلف هستند.
- اجرای تست خودکار: ابزار تست خودکار، اسکریپت های تست را اجرا و نتایج را جمع آوری و تحلیل می کند.
- گزارش گیری از نتایج: نتایج تست ها به صورت خودکار گزارش می شوند. در صورتی که مشکلی پیدا شود، تستر یا برنامه نویس می تواند بلافاصله اقدام به رفع آن کند.
مزایای تست خودکار
- کاهش زمان تست ها (اجرا خودکار).
- افزایش دقت تست ها (بدون خطای انسانی در تست های تکراری).
- امکان اجرای تست های پیچیده (شبیه سازی شرایط خاص، مانند فشار بالا یا حجم داده زیاد).
معایب تست خودکار
- نیاز به کدنویسی و پیچیدگی در راه اندازی.
- هزینه اولیه بالا برای ایجاد و نگهداری اسکریپت های تست.
ابزارهای تست نرم افزار
ابزارهای تست دستی
- JIRA: ابزاری برای مدیریت پروژه ها، برنامه ریزی، پیگیری، گزارش خطاها و پیگیری مشکلات. معمولاً با ابزارهای دیگر مانند Xray برای تست ترکیبی استفاده می شود.
- TestRail: برای مدیریت تست ها، برنامه ریزی سناریوهای تست، گزارش گیری از نتایج و پیگیری عملکرد استفاده می شود.
- Bugzilla: ابزاری منبع باز برای گزارش خطاها و پیگیری مشکلات نرم افزار.
ابزارهای تست خودکار
- Selenium: برای تست خودکار اپلیکیشن های وب استفاده می شود.
- JUnit: فریم ورک تست واحد برای زبان Java.
- Appium: برای تست اپلیکیشن های موبایل (iOS و Android).
- TestComplete: برای تست اپلیکیشن های دسکتاپ، وب و موبایل
- LoadRunner: برای شبیه سازی تعداد زیادی کاربر و ارزیابی عملکرد سیستم.
- Postman: برای تست APIها استفاده می شود. درخواست های HTTP ارسال و پاسخ ها تحلیل می شوند.
مقایسه تست دستی و تست خودکار
ویژگی | تست دستی | تست خودکار |
---|---|---|
هزینه اولیه | کم | بالا |
زمان | طولانی تر | سریع تر |
دقت | کمتر در تست های تکراری | بیشتر در تست های تکراری |
انعطاف پذیری | بیشتر | کمتر |
مناسب برای | تست های نیازمند تعامل انسانی | تست های تکراری، تست های واحد ، تست های عملکرد |
تست واحد (Unit Test) و تست یکپارچگی (Integration Test)
- تست واحد به تست واحدهای کوچک و مجزایی از یک نرم افزار مانند یک تابع، متد یا کلاس اشاره دارد. بررسی صحت عملکرد یک واحد از کد، هدف این نوع تست است.
- تست یکپارچگی بررسی نحوه تعامل بین دو یا چند واحد از یک سیستم است. در این نوع تست، اجزای مختلف نرم افزار به صورت یکپارچه آزمایش می شوند.
مثال از تست واحد
- تابعی به نام
sum
وجود دارد که دو عدد را می گیرد و مجموع آنها را بر می گرداند. - تست واحد می تواند بررسی کند که آیا تابع برای ورودی های مختلف نتیجه درستی بر می گرداند یا خیر.
مثال از تست یکپارچگی
- فرض کنید سیستمی برای پرداخت آنلاین با سه جزء (فرم پرداخت، API پرداخت و پایگاه داده برای ذخیره تراکنش ها) دارید.
- تست یکپارچگی بررسی می کند که اطلاعات به درستی از فرم به API ارسال شده و اطلاعات درست در پایگاه داده ذخیره شده اند.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
این آزمون به معرفی ابزارهای تست نرم افزار و فرآیند تست دستی میپردازد. در طول آزمون، با مراحل برنامهریزی، اجرای تستها و گزارشگیری آشنا خواهید شد. این اطلاعات برای هر متخصص نرمافزار ضروری است.