چقدر در مورد Random Testing میدانیم؟ امروز میخواهیم مقداری در مورد FsCheck صحبت کنیم. FsCheck یک ابزار برای تست اپلیکیشنهای NET. به صورت اتوماتیک است. با استفاده از این ابزار، کدنویس یک Specification از برنامه را به شکل Propertyهایی از Functionها، Methodها، یا Objectهایی که باید برآورده شوند، آماده میکند. سپس FsCheck تست میکند که این Propertyها به صورت تصادفی در تعداد …
ادامه نوشته »مقاله
استفاده از یادگیری ماشین برای پیشبینی پوشش تست(Test Coverage)
در این راستا بهتر است که تسترها درگیر مرحله جمعآوری نیازمندیها(Requirement) در چرخه توسعه نرمافزار شوند، زیرا این موضوع در جهت درک بهتر نیازمندیها، به نفع تیمهای تضمین کیفیت و Business خواهد بود. ما این نیازمندیها را تحلیل کرده، Test Caseها را تهیه و اجرا نموده، اشکالات را ردیابی(Tracking) کرده، و در آخر برای استخراج و تائید Test Coverage اقدام …
ادامه نوشته »یک کارآگاه Data شوید
از ۱۹۶۰، تحلیلگران داده گزارشهایی را برای جمعآوری و به اشتراکگذاری اطلاعات از سیستمهای کامپیوتری ایجاد کردند تا به افراد امکان اتخاذ تصمیمات بهتر را بدهند. بنابر تجربهای که با آن برخورد داشتهام باید بگویم اگر چه این گزارشات مملو از اطلاعات هستند، اما اغلب اوقات اطلاعات مناسب و درستی را که مشتریان دادههای ما بدان نیاز دارند و یا …
ادامه نوشته »روشها و ابزارهای Data-Driven API Testing(تست API مبتنی بر داده)
تست نرمافزار دارای انواع مختلفیست اما مهمترین تمایز بین گونههای مختلف تست، دیدگاه موجود در تست نرمافزار است. این بدین معنیست که دیدگاه تست، مبتنی بر کد باشد یا دیدگاه مبتنی بر تعامل با محصول. در صنعت تست دو دیدگاه مشهور به نام دیدگاه مبتنی بر جعبه سیاه(Black Box) و دیدگاه مبتنی بر جعبه سفید(White Box) وجود دارد. در دیدگاه …
ادامه نوشته »Continuous Performance Testing در محیطهای Agile
اجازه بدهید با حقیقتی مواجه شویم: Agile حقیقت زندگیست. شاید شما یک کارگاه Full Agile ندارید و یا ممکن است Continuous Integration-CI را انجام ندهید، یا حتی تا کنون در مورد DevOps صحبت هم نکرده باشید، اما واقعیت این است که فشارهای موجود در بازار باعث میشود تا بسیاری از مزایا مانند کیفیت و سرعت، که جز ذات متدولوژیهای Agile …
ادامه نوشته »۷ نکته ساده برای مهندسی Performance بهتر در عالم نرمافزار
انعطافپذیری و Performance نرمافزار، مولفههای کلیدی تجربه کاربری(User Experience-UX) هستند، اما از آنجایی که صنعت نرم افزار DevOps را در آغوش گرفته است، جنبههای Performance و انعطاف پذیری روند کاهشی را آغاز کردهاند. مسائل مربوط به Performance اغلب تا زمانی که نرمافزار به طور کامل با شکست مواجه نشود، نادیده گرفته میشوند. با این حال، همه ما میدانیم Performance به …
ادامه نوشته »۵ عامل کلیدی برای دستیابی به Agile Testing در DevOps
در سالهای اخیر، بسیاری از سازمانها توسط DevOps تحت تاثیر قرار گرفتهاند. با تغییر ذهنیات افراد، اتوماتسازی فرآیندهای استقرار(Deployment) و Build بوسیله پیادهسازی ابزارها و فرآیندهای مناسب، افزایش تست اتوماتیک، شکست دیوارهای میان Development و Operation، و نیز اتوماتیکسازی Monitoring و Reporting، برخی DevOps را به صورت End-to-End اجرا کرده، و آنرا در همه شئونات دخیل کردهاند. با این حال، باید …
ادامه نوشته »استفاده از پارتیشنبندی همارزی(Equivalence Partitioning) و تحلیل مقدار مرزی در تست Black Box
بخشی از کار تستر، نوشتن Test Caseها مطابق با مجموعه نیازمندیهاست. زمانیکه با این نیازمندیها پرزنت میشوید، آیا Panای برای طراحی Test Caseها بر اساس مشخصات دارید؟ من همیشه تعریف واژگان را بسیار مفید میدانم، بنابراین با تست مبتنی بر مشخصات شروع خواهم کرد. تکنیکهای تست مبتنی بر مشخصات به عنوان تکنیکهای تست Black Box یا تکنیکهای تست ورودی/خروجی محور(Input/Output-Driven …
ادامه نوشته »هوش مصنوعی در دنیای تست نرمافزار
به عنوان یک فناوری نسبتا جدید و در حال رشد، تعریف “هوش مصنوعی”(AI) نیز به طور مداوم در حال تکامل است. در حالی که تحلیلگران و متخصصان مختلف در سراسر جهان تفسیرهای خود را در این رابطه مطرح میکنند، تعریف عمومی هوش مصنوعی این است که هوش مصنوعی با از استفاده از دادهها، و تواناییهای شبه انسانی برای درک محیطها …
ادامه نوشته »تست بازنویسی نرمافزار
as-is System(سیستم موجود) ما را به جایی میبرد که میخواهیم برویم، اما چیزی که ما بدان نیاز داریم to-be System(سیستم آتی) است تا بدینوسیله همان کارها را به صورت موثرتر انجام دهد. من چند سال پیش با یک Code-Base مواجه شدم. باید گفت که کد بدی نبود؛ کد مذبور با بهترین ابزار موجود در زمان خود ساخته شده بود. اما …
ادامه نوشته »