جمعه , ۱۰ فروردین ۱۴۰۳

ابوالفضل خواجه دیزجی

ابوالفضل خواجه دیزجی

محیط تست(Test Environment) برای تست نرم افزار

Test Environment

محیط تست چیست؟ محیط تست مجموعه ای از نرم افزارها و سخت افزارها برای اجرای Test Case هاست که در اختیار تیم های تست قرار دارد. به عبارت دیگر، محیط تست از اجرای تست با در محیطی که با سخت افزار، نرم افزار و شبکه پیکربندی شده است، پشتیبانی می کند. به بیان دیگر، بستر تست یا محیط تست بر …

ادامه نوشته »

چقدر باگ بگیرم خوبه؟!

Analytics

دو سه شب پیش از شدت خستگی و سر رفتن حوصله، تصمیم گرفتم به جای خوابیدن، یک فیلم ببینم. شانسی، فیلمی با نام فارسی “بازی پول”(Moneyball) را انتخاب کردم. کلا نمی‌دانستم فیلم، چه داستانی را روایت می‌کند. ولی گویا فیلم خوبی بود، چون با حدود ۳۵۰۰۰۰ رای در IMDb، رتبه بالای ۷ داشت، و این یعنی با فیلم جذابی طرف …

ادامه نوشته »

Best Practiceهایی برای Test Automation بهتر با Selenium-قسمت دوم

Selenium Tools

در طول کار خود در تست اتوماتیک با  استفاده سلنیوم، با افراد زیادی روبرو شده‌ام که از پایداری و اطمینان اتوماسیون تست خود شکایت دارند. در بیشتر موارد، منطق مورد استفاده در اجرای Test Caseها مناسب بود، اما شیوه طراحی و Scalability(مقیاس‌پذیری) نگران کننده می‌نمود. پس از مدتها کار با چارچوب سلنیوم، فهمیدم که رویکرد “یک سایز برای همه” در …

ادامه نوشته »

Best Practiceهایی برای Test Automation بهتر با Selenium-قسمت اول

Selenium Tools

در طول کار خود در تست اتوماتیک با  استفاده سلنیوم، با افراد زیادی روبرو شده‌ام که از پایداری و اطمینان اتوماسیون تست خود شکایت دارند. در بیشتر موارد، منطق مورد استفاده در اجرای Test Caseها مناسب بود، اما شیوه طراحی و Scalability(مقیاس‌پذیری) نگران کننده می‌نمود. پس از مدتها کار با چارچوب سلنیوم، فهمیدم که رویکرد “یک سایز برای همه” در …

ادامه نوشته »

روش‌هایی برای شناسایی و مقابله با فلِیکینِس(Flakiness) یا همان پوسته پوسته شدن تست

Test Flakiness

فلِیکینِس در تست چیست؟ Test Flakiness، تستیست که به صورت دوره‌ای بدون هیچ گونه تغییری در کد خود گاهی Pass شده و گاهی نیز Fail می‌شود. تست‌های  فلِیکینِس قطعاً آزاردهنده هستند، اما ممکن است بسیار پرهزینه نیز باشند، زیرا اغلب آنها به مهندسین نیاز دارند تا کل ساختارهای CI را دوباره جمع کنند و غالباً وقت زیادی را در انتظار …

ادامه نوشته »

همانطور که تست اتوماتیک بالغ می شود، False Positiveها(مثبت های کاذب) نیز رشد می‌کنند

False Positive Diagram

در زندگی و در تست اتوماتیک، با رشد شما بسیاری از مسائل تغییر می‌کند. چالش‌هایی که با آنها روبرو می‌شوید، شکست‌هایی که تجربه می‌کنید و بهترین راه حل‌هایی که برای مشکلات خود پیدا می‌کنید، همه و همه تغییر می‌کنند. بیایید “درس‌های زندگی” را کنار بگذاریم و موضوع را در تست اتوماتیک بررسی کنیم. بیشتر تلاش‌های تست اتوماتیک با False Positive …

ادامه نوشته »

استفاده از جداول تصمیمگیری به صورت خوش طرح و شفاف

Decision Table Normalization

فرض کنید به شما به عنوان یک تستر، یک سناریو می‌دهند و از شما می‌خواهند که Test Case‌های مورد نیاز سناریو را طراحی کنید، و مشتری فرآیند لاگین به برنامه خود را اینگونه شرح می‌دهد: کاربر شناسه کاربری خود را وارد می‌کند. سپس رمز ورود خود را درج می‌کند. اگر کاربر سه بار رمز را نادرست وارد کند، حساب قفل …

ادامه نوشته »

۵ مرحله برای رسیدن به TDD

Red-Green-Refactor Cycle

آیا می دانید: ما ۱۰ برابرِ زمانِ نوشتن کد را برای خواندن کد صرف می‌کنیم، زیرا برای نوشتن یک کد جدید باید بدانید که کد قبلی چه می‌کند (کتاب مشهور Robert C. Martin، Clean Code: A Handbook of Agile Software Craftsmanship). ۶۲۰ میلیون نفر ساعت برنامه‌نویسی در سال با هزینه‌ای در حدود ۶۱ میلیارد دلار، برای دیباگ کردن Failureهای نرم‌افزار …

ادامه نوشته »

Test Caseها شکل ثابتی ندارند

Laboratory

قصد داشتم مقاله دیگری را به رشته تحریر در آورم، اما اخیرا به شکل جالبی سوالات زیادی درباره برگزاری کلاس‌های Test Caseنویسی و یا چگونگی نوشتن آنها از من پرسیده می‌شود. مدتی پیش پرسش این سوال به قدری زیاد شده بود، که به شوخی با خودم فکر می‌کردم عده‌ای از دوستان در تلاشند که مرا سر کار بگذارند. اما قبل …

ادامه نوشته »

Agile Testing را چگونه شروع کنیم

Agile Testing

بیایید به وضعیت عمومی سازمانی که به یک سازمان چابک تبدیل می‌شود، اما تست چابک را پشت سر انداخته و رها می‌کند نگاهی بیندازیم. فرض کنید شما سالها به عنوان مدیر تست نرم افزار مشغول به کار بوده‌اید، و برای خود شهرتی حرفه ای کسب کرده‌اید، اما اکنون در شرکتی استخدام شده‌اید که به تازگی چابک شده است. شما مثل …

ادامه نوشته »