جای هواپیما، جعبه سیاه رو تو برنامه نویسی قرار بده و بساز 🐣
تست جعبه سیاه که به عنوان تست Behavioral نیز شناخته میشه، روشی برای تست نرمافزاری هست که عملکرد یک برنامه کاربردی رو بدون بررسی ساختارهای داخلی یا عملکردش بررسی میکنه. این تکنیک شامل تست نرم افزار در برابر مشخصات و الزامات اون هست. هدف اصلیش اینه که اطمینان حاصل کنه که نرم افزار همونطور که از دیدگاه کاربر نهایی انتظار میره، رفتار میکنه.
نحوه اجرای این تست به چه صورته؟🤔
1⃣ تشخیص الزامات آزمون
- تمام الزامات کاربردی، داستان های کاربر و معیارهای پذیرش رو جمع آوری کنید.
- رفتار مورد انتظار نرم افزار رو درک کنین.
2⃣ تعریف موارد تست
- test cases دقیق رو بر اساس الزامات ایجاد کنین.
- هر مورد آزمون باید شرایط ورودی و نتایج مورد انتظار رو مشخص کنه.
- از پوشش تمام سناریوهای ورودی احتمالی، از جمله موارد edge اطمینان حاصل کنین.
3⃣ اطلاعات تست رو آماده کنید
- توسعه یا به دست آوردن داده های مورد نیاز برای انجام موارد آزمایشی.
- مطمئن بشید که دادههای آزمایشی همه سناریوهای ورودی ممکن، از جمله شرایط معتبر، نامعتبر و مرزی رو پوشش میدن.
4⃣ اجرای موارد تست
- test cases رو با استفاده از داده های تست آماده شده، اجرا کنید.
- در صورت امکان از ابزارهای تست خودکار برای افزایش کارایی و تکرارپذیری استفاده کنید.
5⃣ ثبت نتایج
- نتایج اجرای هر تست رو مستند کنین.
- به هر گونه اختلاف بین نتایج مورد انتظار و واقعی توجه کنین.
6⃣ تحلیل نتایج
- هرگونه شکست یا رفتار غیرمنتظره رو بررسی کنید.
- تعیین کنید که آیا اشکالاتی وجود داره یا آیا مشکلاتی در مورد test cases یا داده های تستی وجود داره.
7⃣ گزارش یافته ها
- گردآوری گزارشات با جزئیات نتایج تست جعبه سیاه.
- موارد شناسایی شده رو به همراه شدت و تأثیر احتمالی اون بر نرم افزار رو درج کنید.
به صورت کلی تست جعبه سیاه یک تکنیک بسیار مهم برای اطمینان از کیفیت نرم افزاره، زیرا تأیید میکنه که برنامه از دیدگاه کاربر نهایی به درستی عمل میکنه. این روش برای شناسایی اشکالات و بهبود تجربه کلی کاربر ضروری هست، و اون رو به بخش اساسی از هر استراتژی تست تبدیل میکنه. برای کسب اطلاعات بیشتر درمورد این تکنیک، به مقالات زیر مراجعه کنید.
- Article
- Article
- Article
#test
@CodeModule
تست جعبه سیاه که به عنوان تست Behavioral نیز شناخته میشه، روشی برای تست نرمافزاری هست که عملکرد یک برنامه کاربردی رو بدون بررسی ساختارهای داخلی یا عملکردش بررسی میکنه. این تکنیک شامل تست نرم افزار در برابر مشخصات و الزامات اون هست. هدف اصلیش اینه که اطمینان حاصل کنه که نرم افزار همونطور که از دیدگاه کاربر نهایی انتظار میره، رفتار میکنه.
نحوه اجرای این تست به چه صورته؟
- تمام الزامات کاربردی، داستان های کاربر و معیارهای پذیرش رو جمع آوری کنید.
- رفتار مورد انتظار نرم افزار رو درک کنین.
- test cases دقیق رو بر اساس الزامات ایجاد کنین.
- هر مورد آزمون باید شرایط ورودی و نتایج مورد انتظار رو مشخص کنه.
- از پوشش تمام سناریوهای ورودی احتمالی، از جمله موارد edge اطمینان حاصل کنین.
- توسعه یا به دست آوردن داده های مورد نیاز برای انجام موارد آزمایشی.
- مطمئن بشید که دادههای آزمایشی همه سناریوهای ورودی ممکن، از جمله شرایط معتبر، نامعتبر و مرزی رو پوشش میدن.
- test cases رو با استفاده از داده های تست آماده شده، اجرا کنید.
- در صورت امکان از ابزارهای تست خودکار برای افزایش کارایی و تکرارپذیری استفاده کنید.
- نتایج اجرای هر تست رو مستند کنین.
- به هر گونه اختلاف بین نتایج مورد انتظار و واقعی توجه کنین.
- هرگونه شکست یا رفتار غیرمنتظره رو بررسی کنید.
- تعیین کنید که آیا اشکالاتی وجود داره یا آیا مشکلاتی در مورد test cases یا داده های تستی وجود داره.
- گردآوری گزارشات با جزئیات نتایج تست جعبه سیاه.
- موارد شناسایی شده رو به همراه شدت و تأثیر احتمالی اون بر نرم افزار رو درج کنید.
به صورت کلی تست جعبه سیاه یک تکنیک بسیار مهم برای اطمینان از کیفیت نرم افزاره، زیرا تأیید میکنه که برنامه از دیدگاه کاربر نهایی به درستی عمل میکنه. این روش برای شناسایی اشکالات و بهبود تجربه کلی کاربر ضروری هست، و اون رو به بخش اساسی از هر استراتژی تست تبدیل میکنه. برای کسب اطلاعات بیشتر درمورد این تکنیک، به مقالات زیر مراجعه کنید.
- Article
- Article
- Article
#test
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡7👌4🔥2
تست سیستم چیه؟ 🤔
تست سیستم که با عنوانین system-level یا system integration هم شناخته میشه، مرحله مهمی در چرخه عمر توسعه نرم افزار هست.
این تست فراتر از تأیید ویژگی های فردی و یک تکنیک بلک باکس هست، به این معنی که تستر ها بر روی عملکرد برنامه از دیدگاه کاربر تمرکز میکنن، نه روی عملکرد پیچیده داخلی (که محدوده آزمایش جعبه سفید هست). هدفش هم اطمینان از اینکه هر نوع ورودی کاربر نتیجه مورد انتظار رو در کل برنامه ایجاد میکنه، هست.
برای اینکه بهتر درکش کنید به این موضوع فکر کنید.
تست سیستم مانند آزمایش تمام چرخ دنده ها در یک ماشین پیچیده هست، که جواب این سوالات رو باید بده: آیا اونا به طور یکپارچه به هم متصل میشن تا خروجی مورد نظر رو ایجاد کنن؟ این فرآیند سخت معمولاً پس از integration testing هست، جایی که ماژول های جداگانه برای سازگاری تست میشن، و قبل از acceptance testing هست.
اما این تست بسیار شبیه به تست E2E هست. اما قبل از اینکه مقایسه کنیم، باید اول بدونیم تست E2E چیه!
در توسعه نرمافزار "end-to-end" (E2E)" نشون دهنده یک رویکرد جامع هست که یک سیستم یا برنامه رو از ابتدا تا انتها، ارزیابی میکنه و تجربه یک کاربر واقعی رو تقلید میکنه. تصور کنید کاربری وارد شده، منوها رو مرور میکنه، اقدامات خاصی رو انجام میده و نتیجه دلخواه رو دریافت میکنه. تست E2E با دقت تمام این حرکات کاربر رو تکرار میکنه و اطمینان میده که تمام اجزای متصل به هم به طور یکپارچه برای ارائه عملکرد مورد انتظار با یکدیگر همکاری میکنن.
اگه بخوام تفاوت این دو تست رو خلاصه بگم:
1⃣ تست سیستم بر بررسی نحوه عملکرد بخشهای جداگانه برنامه مثل چرخ دندههای روغنکاری شده با هم تمرکز داره، درحالی که تست E2E کل ماشین رو بررسی میکنه که آیا تجربه کاربری روان رو در همه عملکردها ارائه میده یا خیر.
2⃣ تست سیستم مثل اینه که از اعضای یک تیم اطمینان حاصل میکنیم که قطعات خود رو به درستی تنظیم کردن و استفاده میکنن. تست E2E بالاتر از همشونه و تضمین میکنه که کل اعضا با هم جمع میشن تا یک اجرای هماهنگ و تاثیرگذار برای مخاطبشون ایجاد کنن.
به صورت کلی این تست یکی از تست هایی هست که بنظر من خیلی مهمه و میتونیم با استفاده ازش، از سلامت و کیفیت اپلیکیشنمون اطمینان بیشتری حاصل کنیم.
برای کسب اطلاعات بیشتر به مقالات زیر مراجعه کنید (مخصوصا دومی)
- Article
- Article
- Article
#test #system_test
@CodeModule
تست سیستم که با عنوانین system-level یا system integration هم شناخته میشه، مرحله مهمی در چرخه عمر توسعه نرم افزار هست.
این تست فراتر از تأیید ویژگی های فردی و یک تکنیک بلک باکس هست، به این معنی که تستر ها بر روی عملکرد برنامه از دیدگاه کاربر تمرکز میکنن، نه روی عملکرد پیچیده داخلی (که محدوده آزمایش جعبه سفید هست). هدفش هم اطمینان از اینکه هر نوع ورودی کاربر نتیجه مورد انتظار رو در کل برنامه ایجاد میکنه، هست.
برای اینکه بهتر درکش کنید به این موضوع فکر کنید.
تست سیستم مانند آزمایش تمام چرخ دنده ها در یک ماشین پیچیده هست، که جواب این سوالات رو باید بده: آیا اونا به طور یکپارچه به هم متصل میشن تا خروجی مورد نظر رو ایجاد کنن؟ این فرآیند سخت معمولاً پس از integration testing هست، جایی که ماژول های جداگانه برای سازگاری تست میشن، و قبل از acceptance testing هست.
اما این تست بسیار شبیه به تست E2E هست. اما قبل از اینکه مقایسه کنیم، باید اول بدونیم تست E2E چیه!
در توسعه نرمافزار "end-to-end" (E2E)" نشون دهنده یک رویکرد جامع هست که یک سیستم یا برنامه رو از ابتدا تا انتها، ارزیابی میکنه و تجربه یک کاربر واقعی رو تقلید میکنه. تصور کنید کاربری وارد شده، منوها رو مرور میکنه، اقدامات خاصی رو انجام میده و نتیجه دلخواه رو دریافت میکنه. تست E2E با دقت تمام این حرکات کاربر رو تکرار میکنه و اطمینان میده که تمام اجزای متصل به هم به طور یکپارچه برای ارائه عملکرد مورد انتظار با یکدیگر همکاری میکنن.
اگه بخوام تفاوت این دو تست رو خلاصه بگم:
به صورت کلی این تست یکی از تست هایی هست که بنظر من خیلی مهمه و میتونیم با استفاده ازش، از سلامت و کیفیت اپلیکیشنمون اطمینان بیشتری حاصل کنیم.
برای کسب اطلاعات بیشتر به مقالات زیر مراجعه کنید (مخصوصا دومی)
- Article
- Article
- Article
#test #system_test
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡9🔥5