Software Engineer Labdon
658 subscribers
43 photos
5 videos
6 files
870 links
👑 Software Labdon

حمایت مالی:
https://www.coffeete.ir/mrbardia72

ادمین:
@mrbardia72
Download Telegram
🔵 عنوان مقاله
2FA testing with Playwright and Mailosaur

🟢 خلاصه مقاله:
** تست 2FA در سناریوهای E2E چالش‌برانگیز است، چون مرحله تأیید خارج از UI انجام می‌شود و کدها زود منقضی می‌شوند. Filip Hric در یک راهنمای عملی نشان می‌دهد چگونه با ترکیب Playwright و Mailosaur می‌توان این جریان را به‌صورت قابل‌اعتماد خودکار کرد: Playwright ورود را انجام می‌دهد، مرحله 2FA را فعال می‌کند، Mailosaur ایمیل حاوی OTP را از یک inbox کنترل‌شده می‌گیرد، کد استخراج می‌شود و در UI وارد می‌گردد تا احراز هویت کامل تأیید شود. نکات کلیدی شامل جداسازی داده‌های تست با یک سرور/اینباکس اختصاصی در Mailosaur، مدیریت timeout و چند ایمیل، کاهش flaky بودن با انتظارها و assertionهای مناسب، و پاک‌سازی بین اجراهاست. همچنین بر امنیت و اجرا در CI، نگهداری کلیدها در متغیرهای محیطی، و پوشش سناریوهایی مانند کد منقضی، کد نادرست و ارسال مجدد تأکید می‌کند. نتیجه: با Playwright و Mailosaur می‌توان 2FA را بدون هک‌های شکننده و با اطمینان بالا در مسیرهای حیاتی احراز هویت تست کرد.

#Playwright #Mailosaur #2FA #تست_خودکار #تست_پایان_به_پایان #QA #OTP #امنیت_برنامه

🟣لینک مقاله:
https://cur.at/xsedmVx?m=web


👑 @software_Labdon
🔵 عنوان مقاله
Writing custom Cypress plug-ins that solve common software testing problems

🟢 خلاصه مقاله:
اکوسیستم افزونه‌های Cypress به تیم‌ها اجازه می‌دهد فراتر از امکانات پیش‌فرض، چالش‌های واقعی تست را حل کنند؛ از کاهش ناپایداری تست‌ها و مدیریت محیط و داده تا یکپارچه‌سازی گزارش‌ها و سرویس‌های بیرونی. Kanika Vatsyayan توضیح می‌دهد چگونه با شناسایی یک مسئله تکراری، طراحی یک API ساده، ساخت پکیج npm، ثبت tasks در Node hook، افزودن تنظیمات و مثال‌های عملی، و همچنین تست و TypeScript typings، یک افزونه قابل اتکا بسازید. او بر نسخه‌بندی شفاف، سازگاری با نسخه‌های مختلف Cypress، کارایی، امنیت داده‌ها، مستندسازی و انتشار در npm تاکید می‌کند تا افزونه‌ها قابل نگهداری و قابل استفاده توسط جامعه باشند. نتیجه این است که با چند الگوی ساده و نمونه‌های واقعی، هر کسی می‌تواند راه‌حل‌های خود را به‌صورت افزونه منتشر کرده و به اکوسیستم تست کمک کند.

#Cypress
#SoftwareTesting
#QA
#JavaScript
#Plugins
#Automation
#OpenSource
#EndToEndTesting

🟣لینک مقاله:
https://cur.at/pj9uiDZ?m=web


👑 @software_Labdon
🔵 عنوان مقاله
Why QA Keep Losing the Same Battles, even when Automation and AI is integrated

🟢 خلاصه مقاله:
این مقاله می‌گوید با وجود سرمایه‌گذاری در Automation و AI، مشکلات QA تکرار می‌شوند، چون مسأله اصلی کمبود ابزار نیست، بلکه نبود هم‌راستایی بر سر معنای «کیفیت» و شیوه ساختن آن است. به‌گفته Marina Jordão، کیفیت واقعی از انسان‌ها، استراتژی و حمایت از کاربر می‌آید؛ ابزارها فقط سرعت می‌دهند، اما جای تحلیل ریسک، معیارهای شفاف و آزمون اکتشافی را نمی‌گیرند. شکست‌های تکراری زمانی رخ می‌دهد که QA دیر وارد چرخه می‌شود، شاخص‌ها سطحی‌اند و تمرکز از نتایج واقعی برای کاربر دور می‌شود. راه‌حل، دیدن کیفیت به‌عنوان مسئولیت تیمی، درگیر کردن زودهنگام QA، تکیه بر پیشگیری به‌جای صرفاً کشف خطا و به‌کارگیری Automation و AI به‌عنوان تقویت‌کننده قضاوت انسانی است.

#QA #Testing #Automation #AI #QualityEngineering #UserAdvocacy #TestStrategy #DevOps

🟣لینک مقاله:
https://cur.at/UzsHvzU?m=web


👑 @software_Labdon
🔵 عنوان مقاله
Power pairing our people process: How we moved to a collaborative QA Engineer and QA Analyst model

🟢 خلاصه مقاله:
** این مقاله نشان می‌دهد که با جفت‌کردن نقش‌های مکمل در کیفیت، یعنی QA Engineer و QA Analyst، می‌توان کیفیت را از یک مرحله انتهایی به یک فعالیت پیوسته و مشارکتی در دل فرایند توسعه تبدیل کرد. بر اساس ایده‌های Matthew Whitaker و همسو با فلسفه pair-programming، QA Engineer روی اتوماسیون، ابزارها و CI/CD تمرکز می‌کند و QA Analyst بر تحلیل نیازمندی‌ها، آزمون اکتشافی و مدیریت ریسک؛ و همکاری نزدیک آن‌ها شکاف‌های فنی و محصولی را کاهش می‌دهد. این جفت به‌صورت مشترک معیارهای پذیرش و استراتژی آزمون را می‌نویسد، بین نقش «راننده/راهنما» جابه‌جا می‌شود و یافته‌های اکتشافی را سریع به تست‌های خودکار قابل نگهداری تبدیل می‌کند. پیاده‌سازی موفق با یک پایلوت، برنامه‌ pairing شفاف، ابزارهای دیدپذیری، و سنجه‌هایی مانند نرخ خطای فرار، زمان چرخه و نرخ بازکار آغاز می‌شود و با مدیریت چالش‌هایی مانند ابهام نقش و خستگی جلسات از طریق RACI سبک، پلی‌بوک، تایم‌باکس و آداب pairing تثبیت می‌شود. دستاوردها شامل بازخورد سریع‌تر، کاهش خطاهای فرار، مالکیت مشترک کیفیت و انتقال دانش گسترده‌تر در تیم است؛ همان درسی که از pair-programming می‌گیریم: دو ذهن مکمل، از یک متخصص تنها مؤثرترند.

#QA #PairProgramming #QualityAssurance #AgileTesting #Collaboration #DevOps #TestAutomation #TeamCulture

🟣لینک مقاله:
https://cur.at/EuZObTr?m=web


👑 @software_Labdon
🔵 عنوان مقاله
When Tests Start Drawing the Map

🟢 خلاصه مقاله:
** در دنیای واقعی توسعه، محیط‌های تست به‌ندرت کامل‌اند: اطلاعات ناقص است، وابستگی‌ها تغییر می‌کنند و قطعیت کم است. Charlie Kingston پیشنهاد می‌کند به تست مثل «نقشه‌کش» نگاه کنیم؛ هر تست یک کاوش است که مرزها، خطرها و رفتارهای واقعی سیستم را روشن می‌کند و نقشه‌ای زنده از آنچه می‌دانیم می‌سازد.

با بیان شفاف فرضیه‌ها و تبدیلشان به تست، استفاده از ابزارهـای مشاهده‌پذیری برای رفع نقاط کور، ایجاد چرخه‌های بازخورد سریع و اولویت‌بندی ریسک (مسیرهای بحرانی، حالت‌های خرابی، و درزهای یکپارچه‌سازی)، این نقشه قابل اعتماد می‌شود. تست‌ها فقط دروازه انتشار نیستند؛ دانسته‌های تیم را مستند می‌کنند، قراردادهای بین سرویس‌ها را شفاف می‌سازند و بازطراحی امن را ممکن می‌کنند. با هر تغییر، تست‌ها نشان می‌دهند کجا نقشه با واقعیت نمی‌خواند و باید دقیق‌تر بررسی شود.

ترکیبی از روش‌ها این نقشه را کامل‌تر می‌کند: Contract Testها برای انتظارات بین سرویس‌ها، Property-based Testing برای پوشش لبه‌ها، تست اکتشافی برای کشف ناشناخته‌ها، و پایش مصنوعی در محیط اجرا برای تشخیص تغییر رفتار. پیام نهایی: منتظر مشخصات کامل نمانید؛ با تست، نقشه را همزمان با حرکت ترسیم کنید تا عدم‌قطعیت کاهش یابد و کیفیت با اطمینان بیشتری ارائه شود.

#تست_نرم‌افزار #کیفیت #بازخورد_سریع #مدیریت_ریسک #Observability #مهندسی_نرم‌افزار #توسعه_چابک #QA

🟣لینک مقاله:
https://cur.at/m1egK0h?m=web


👑 @software_Labdon
1
🔵 عنوان مقاله
QA Engineer Role Transformation in the Age of AI

🟢 خلاصه مقاله:
** در عصر AI نقش مهندسان QA از اجرای دستی آزمون‌ها به طراحی و هدایت جریان‌های تضمین کیفیت هوشمند تغییر می‌کند. به‌گفته Yerem Khalatyan، بهترین نقطهٔ شروع سه کاربرد عملی است: تولید خودکار سناریوهای آزمون، تسریع در خودکارسازی، و بهینه‌سازی اجرای تست‌ها. سامانه‌های هوشمند می‌توانند با تکیه بر نیازمندی‌ها، کد و داده‌های کاربری، سناریوهای مثبت، منفی و مرزی را پیشنهاد دهند، شکاف‌های پوشش را نشان دهند و در CI/CD اولویت اجرای تست‌ها را بر مبنای ریسک و تغییرات کد تنظیم کنند. همچنین با خودترمیمی انتخابگرها، کاهش تست‌های flaky، پیشنهاد assertion و دادهٔ آزمون، و کمک به triage خطاها، هزینهٔ نگهداشت را پایین می‌آورند. در کنار این مزایا باید به محدودیت‌ها نیز توجه کرد: خطای مدلی، تفسیر نادرست نیازمندی‌های مبهم و ملاحظات امنیت و حریم خصوصی، که حضور انسان در حلقه و حاکمیت داده را ضروری می‌سازد. برای بهره‌گیری مؤثر، مهارت‌هایی مانند طراحی پرسش برای مدل، سواد داده، آزمون مبتنی بر ریسک و ادغام ابزارها اهمیت می‌یابد؛ شروع کوچک، سنجش دقیق شاخص‌ها و سپس گسترش کنترل‌شده، مسیر عملی و کم‌ریسک است.

#QA #AIinTesting #TestAutomation #SoftwareTesting #QualityEngineering #DevOps #CICD #MachineLearning

🟣لینک مقاله:
https://cur.at/lOXHasH?m=web


👑 @software_Labdon
🔵 عنوان مقاله
FunnelPeek: A Modern Tool for Exploring Android UI Elements

🟢 خلاصه مقاله:
** معرفی FunnelPeek به‌عنوان یک UI inspector متن‌باز برای Android نشان می‌دهد چطور می‌توان مسیرها و locatorهای پایدار را سریع‌تر پیدا کرد. Saeed Roshan در این ابزار کاوش سلسله‌مراتب نما، برجسته‌سازی عناصر و بررسی ویژگی‌هایی مثل resource ID و content description را نشان می‌دهد تا انتخاب locatorهای قابل اعتماد آسان‌تر شود. نتیجه برای تیم‌های توسعه و QA، کاهش خطاپذیری تست‌ها و تسریع در آماده‌سازی خودکارسازی است.

#Android #MobileTesting #UIInspector #OpenSource #QA #TestAutomation #Locators

🟣لینک مقاله:
https://cur.at/O3rNmRU?m=web


👑 @software_Labdon
🔵 عنوان مقاله
Playwright in Practice: Writing Better Tests for Beginners with Page Object Pattern, Fixtures

🟢 خلاصه مقاله:
** این مطلب با یک رویکرد گام‌به‌گام نشان می‌دهد چگونه با تکیه بر ساختاردهی و نگه‌داشت‌پذیری، از Playwright بهترین استفاده را ببریم. Michał Ślęzak با یک نمونه عملی توضیح می‌دهد که چطور از یک تست ساده شروع کنیم و آن را به مجموعه‌ای تمیز و مقیاس‌پذیر تبدیل کنیم.

نویسنده بر Page Object Pattern تأکید می‌کند تا مکان‌یاب‌ها و اعمال صفحه به‌جای پراکندگی در تست‌ها، در آبجکت‌های اختصاصی متمرکز شوند؛ این کار خوانایی را بالا می‌برد، تکرار را کم می‌کند و تغییرات بعدی را ساده‌تر می‌سازد. همچنین نشان می‌دهد چگونه Fixtures می‌تواند آماده‌سازی و پاک‌سازی را استاندارد کند؛ مثلا ایجاد contextهای احراز هویت، داده‌های اولیه، یا پیکربندی مشترک، که نتیجه‌اش تست‌های ایزوله‌تر، سریع‌تر و پایدارتر است.

در پایان، مجموعه‌ای از بهترین‌عمل‌ها مطرح می‌شود: نام‌گذاری و ساختار پوشه‌ها، انتخاب locatorهای پایدار و استراتژی‌های انتظار درست، assertionهای قابل اعتماد، آمادگی برای اجرا در مرورگرهای مختلف و پایداری در CI. حاصل کار، مسیری روشن برای مبتدیان است تا بدون قربانی کردن خوانایی یا سرعت، تدریجاً الگوهای پیشرفته‌تر را وارد فرایند تست خود کنند.

#Playwright #Testing #TestAutomation #PageObjectPattern #Fixtures #QA #EndToEndTesting #BestPractices

🟣لینک مقاله:
https://cur.at/UUnbbtX?m=web


👑 @software_Labdon
🔵 عنوان مقاله
Best Web Test Automation Tool?

🟢 خلاصه مقاله:
در جست‌وجوی بهترین ابزار Web Test Automation، Alan Richardson با نگاهی عملی وضعیت راهکارهای پرطرفدار را بررسی کرده و نشان می‌دهد «بهترین» فقط در بستر نیازها و محدودیت‌های هر تیم معنا پیدا می‌کند. او با آزمون‌های عملی و مقایسه‌ی رو‌به‌رو، معیارهایی مانند پایداری، پوشش cross-browser، اجرای موازی، سهولت یادگیری، نگهداشت تست‌ها، گزارش‌دهی و دیباگ، یکپارچگی با CI/CD و هزینه‌ی کل مالکیت را سنجیده است. تفاوت‌های مهم میان ابزارهای متن‌باز و تجاری، رویکردهای code-first و codeless، و سرویس‌های ابری در برابر راهکارهای on-premise نیز در تحلیل او برجسته شده و به خطر قفل‌شدن در یک اکوسیستم و اهمیت مستندات و جامعه‌ی کاربری اشاره شده است. در نهایت، Richardson بر اساس زمینه‌ی خودش رأی می‌دهد و از خواننده می‌خواهد با توجه به شرایط تیم خود قضاوت کند—به‌نظر شما رقبای اصلی فهرست نهایی کدام‌اند؟

#TestAutomation #WebTesting #SoftwareTesting #QA #AutomationTools #CICD #AlanRichardson

🟣لینک مقاله:
https://cur.at/ApcXBIu?m=web


👑 @software_Labdon
🔵 عنوان مقاله
Selenium tests breaking constantly after every UI change. Is test maintenance really supposed to take this much time?

🟢 خلاصه مقاله:
این مسئله مطرح شد که چرا تست‌های Selenium با هر تغییر در UI می‌شکنند و آیا این حجم از نگه‌داری طبیعی است یا نشانه‌ی مشکل در رویکرد. جامعه‌ی کاربری توصیه کرد وابستگی تست‌ها به جزئیات شکننده‌ی رابط را کم کنند (استفاده از data-test-id)، از الگوهایی مثل Page Object Model برای متمرکزکردن انتخاب‌گرها کمک بگیرند، و طبق Test Pyramid بیشتر پوشش را به لایه‌های Unit/API بدهند و فقط سناریوهای کاربرمحور کلیدی را با end‑to‑end اجرا کنند. برای کاهش test flakiness نیز بر waits مبتنی بر شرایط تجاری، کنترل وضعیت داده و محیط، اجتناب از تاخیرهای ثابت و انیمیشن‌ها، ایزوله‌سازی در CI، mock/stub کردن فراخوانی‌های ناپایدار، و قرنطینه و triage خودکار تست‌های flaky تأکید شد. جمع‌بندی این بود که نگه‌داری سنگین اغلب نتیجه‌ی استفاده‌ی بیش‌ازحد یا کوپلینگ شدید به UI است؛ با راهبردهای درست می‌توان automated tests پایدارتر و کم‌هزینه‌تر داشت.

#Selenium #TestAutomation #FlakyTests #UITesting #SoftwareTesting #QA #CICD #E2E

🟣لینک مقاله:
https://cur.at/Scyp8xS?m=web


👑 @software_Labdon