Software Engineer Labdon
611 subscribers
43 photos
4 videos
2 files
778 links
👑 Software Labdon

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

ادمین:
@mrbardia72
Download Telegram
🔵 عنوان مقاله
Full Pipeline: Appium + WebdriverIO + BrowserStack + GitHub Actions for Native Mobile Tests

🟢 خلاصه مقاله:
این ویدئوی ۱۵ دقیقه‌ای از Joan Esquivel Montero یک مسیر کامل و فشرده برای خودکارسازی تست‌های اپلیکیشن‌های بومی موبایل نشان می‌دهد: اجرای تست‌ها با Appium، مدیریت و نگارش تست‌ها با WebdriverIO، اجرای گسترده روی دستگاه‌های واقعی در BrowserStack، و یکپارچه‌سازی فرآیند در GitHub Actions.

در ویدئو نحوه پیکربندی WebdriverIO + Appium، ساختاردهی تست‌ها با Page Object Model، انتخاب سلکتورهای پایدار و مدیریت هوشمند انتظارها برای کاهش فلاکی توضیح داده می‌شود. سپس اجرای ابری در BrowserStack را می‌بینید: آپلود بیلد، تعریف capabilities برای دستگاه‌ها و نسخه‌های مختلف، موازی‌سازی و استفاده از ویدئو/لاگ/اسکرین‌شات برای دیباگ سریع.

در بخش CI/CD، یک Workflow در GitHub Actions روی Push و Pull Request اجرا می‌شود، وابستگی‌ها را نصب و کش می‌کند، با Secrets امن به BrowserStack وصل می‌شود، با ماتریس Job تست‌ها را گسترش می‌دهد و گزارش‌ها را به‌صورت Artifact ذخیره می‌کند تا وضعیت مرج‌ها کنترل شود. نکات عملی مثل Retry، بهبود همگام‌سازی شبکه، استفاده از Environment Variables، تمایز اجرای محلی و ریموت، و BrowserStack Local برای محیط‌های داخلی نیز پوشش داده می‌شود. خروجی، یک پایپ‌لاین مقیاس‌پذیر و قابل‌انتقال است که بازخورد قابل‌اعتماد را برای هر تغییر فراهم می‌کند.

#Appium #WebdriverIO #BrowserStack #GitHubActions #MobileTesting #TestAutomation #CICD #NativeApps

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


👑 @software_Labdon
🔵 عنوان مقاله
Testers: Stop Competing with AI. Start Pairing with It

🟢 خلاصه مقاله:
این مقاله می‌گوید به‌جای رقابت با AI، آن را به‌عنوان شریک کاری به کار بگیرید. مدل همکاری انسان–AI که توسط Rahul Parwal معرفی شده، به تسترها کمک می‌کند مرز کار انسان و کار قابل‌واگذاری به AI را مشخص کنند: انسان‌ها مسئول زمینه، تحلیل ریسک، قضاوت اخلاقی، استراتژی تست و ارتباط با ذی‌نفعان هستند؛ AI در مقیاس و سرعت می‌درخشد—ایده‌پردازی گسترده، ساخت دادهٔ تست، تحلیل لاگ‌ها، کشف الگوها و خودکارسازی تکراری‌ها. مقاله الگوهای جفت‌کاری عملی ارائه می‌دهد (ایده‌سازی با AI و پالایش انسانی، ردیابی و پوشش با کمک AI و اعتبارسنجی انسانی) و بر ریل‌گذاری‌های ضروری مثل محرمانگی، کنترل خطا/سوگیری و بازبینی انسانی تأکید دارد. نتیجه: کیفیت بهتر و تحویل سریع‌تر، با تمرکز بیشتر تسترها بر کارهای خلاق و اثرگذار.

#SoftwareTesting #AI #HumanAICollaboration #QualityEngineering #TestAutomation #ExploratoryTesting #QA

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


👑 @software_Labdon
🔵 عنوان مقاله
Implement POM design pattern in the Automation test framework

🟢 خلاصه مقاله:
این مقاله با تاکید بر اینکه Page Object Model یک الگوی رایج اما چندشکلی در تست خودکار است، نمونه‌ای عملی از پیاده‌سازی آن را در Python توسط Đinh Công Cảnh نشان می‌دهد. در این رویکرد، یک BasePage برای قابلیت‌های مشترک (مثل جست‌وجوی عناصر و مدیریت waits) و کلاس‌های Page برای هر صفحه/کامپوننت با متدهای سطح‌بالا تعریف می‌شوند؛ تست‌ها به‌جای کار با driver، این متدها را فراخوانی می‌کنند تا خوانا، پایدار و قابل نگه‌داری باشند. نکات کلیدی شامل جداسازی مسئولیت‌ها، پنهان‌سازی locators، متمرکزسازی waits برای کاهش flakiness، سازمان‌دهی ساختار پروژه و گزارش‌دهی مؤثر است. در عین حال به موازنه‌ها نیز اشاره می‌شود: POM در پروژه‌های بزرگ و در حال تغییر سودمندتر است و در موارد کوچک ممکن است اضافی به نظر برسد؛ بنابراین باید متناسب با ابزار، CI/CD و نیازهای تیم اتخاذ شود.

#PageObjectModel #POM #TestAutomation #Python #Selenium #QA #AutomationFramework #SoftwareTesting

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


👑 @software_Labdon
🔵 عنوان مقاله
Playwright Agentic Coding Tips

🟢 خلاصه مقاله:
با نگاهی عمل‌گرایانه، این مقاله نشان می‌دهد چگونه می‌توان با رویکرد agentic از AI برای نوشتن تست‌های Playwright استفاده کرد: ابتدا برنامه‌ریزی و خردکردن سناریوها، سپس حلقه‌ای از تولید تغییرات کوچک، اجرای تست، مشاهده خطا و بازبینی. برای موفقیت، باید کانتکست کافی به مدل بدهیم (Playwright config، الگوهای کدنویسی TypeScript/JavaScript، مسیرهای اپ، نقش‌ها، test-idها، و استراتژی لاگین)، و آن را به استفاده از locatorهای پایدار مثل getByRole و getByTestId هدایت کنیم.
این راهنما بر قابلیت اطمینان تاکید دارد: انتظارهای مبتنی بر locator به جای sleep، شبیه‌سازی شبکه یا routeها در صورت نیاز، کنترل زمان، داده‌سازی و تمیزکاری ایزوله با fixtures، و استخراج helperهای تکرارشونده. در CI، گردآوری trace، ویدیو و اسکرین‌شات، کنترل parallelism/sharding، استفاده محدود از retry، پین‌کردن نسخه‌ها، و ایمن‌سازی secrets توصیه شده است.
برای ساختار کد، از Page Object/Screen Object به‌صورت منعطف استفاده کنید، نام‌گذاری و مستندسازی شفاف داشته باشید، و ترکیبی از component test و end-to-end برای پوشش متوازن بسازید. الگوهای پرامپت شامل few-shotهای خوب و بد، بازیابی اسناد مرتبط، و واداشتن مدل به توضیح فرضیه‌های flakiness و توجیه انتخاب locatorهاست. در نهایت، human-in-the-loop، بازبینی کد و هدف‌گذاری پوشش، کلید حفظ کیفیت و نگه‌داشت هستند.
#Playwright #AgenticCoding #TestAutomation #EndToEndTesting #AI #LLM #QualityEngineering

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


👑 @software_Labdon
🔵 عنوان مقاله
What's new in JUnit 6: Key Changes and Improvements

🟢 خلاصه مقاله:
JUnit 6 منتشر شده و پس از سال‌ها نخستین نسخهٔ عمدهٔ این چارچوب است. این نسخه با تمرکز بر شفافیت و انعطاف‌پذیری، بهبود چرخهٔ اجرای تست، قدرت بیشتر در توسعه‌پذیری، اجرای موازی کارآمدتر، و یکپارچگی عمیق‌تر با IDEها و محیط‌های CI ارائه می‌شود. مسیر مهاجرت برای تیم‌های روی JUnit 4 و JUnit 5 هم با راهنمایی و ملاحظات سازگاری پوشش داده شده است. در این معرفی، Vladimir Dmitrienko نکات کلیدی و کاربردی را به‌همراه نمونه‌ها و بهترین‌روش‌ها توضیح می‌دهد.

#JUnit6 #JUnit #Java #UnitTesting #SoftwareTesting #TestAutomation #DevTools

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


👑 @software_Labdon
2
🔵 عنوان مقاله
How Playwright Runs Workers and Test Fixtures (Parallel vs Serial vs Default)!

🟢 خلاصه مقاله:
این مقاله از Thananjayan Rajasekaran به‌صورت عملی نشان می‌دهد Playwright Test چگونه workers و test fixtures را مدیریت می‌کند و تفاوت حالت‌های default، parallel و serial چیست. ابتدا توضیح می‌دهد که به‌طور پیش‌فرض فایل‌های تست روی چند worker به‌صورت موازی اجرا می‌شوند اما تست‌های داخل هر فایل به‌صورت ترتیبی اجرا می‌گردند؛ همچنین به تعامل retries، projects و گزینه‌هایی مانند --workers و sharding برای کنترل سرعت و پایداری اشاره می‌کند. سپس روش‌های افزایش همزمانی را بررسی می‌کند: فعال‌کردن fullyParallel در تنظیمات یا استفاده از test.describe.configure({ mode: 'parallel' }) برای موازی‌سازی بخشی از تست‌ها، همراه با هشدار درباره ریسک‌های وضعیت مشترک و flaky شدن. در بخش serial، با test.describe.serial یا تنظیم mode: 'serial' می‌توان اجرای ترتیبی و توقف زنجیره پس از شکست را تضمین کرد؛ راهکاری که برای گردش‌کارهای وابسته یا منابع غیرقابل‌اشتراک میان workers مفید است، هرچند توصیه می‌شود فقط در صورت نیاز استفاده شود. بخش مهم دیگر به fixtures می‌پردازد: تفاوت بین per-test و worker-scoped و تأثیر مستقیم آن‌ها بر موازی‌سازی؛ اینکه worker-scoped بین workers به‌اشتراک گذاشته نمی‌شود و ممکن است چند نمونه مستقل از یک منبع ایجاد شود. مقاله با نمونه‌کدهای روشن برای تنظیم workers، فعال‌سازی fullyParallel، علامت‌گذاری suiteها به‌صورت serial یا parallel و ترکیب آن‌ها با projects و retries، یک الگوی ذهنی شفاف برای انتخاب بهینه بین default، parallel و serial ارائه می‌دهد تا هم سرعت اجرا بالا برود و هم پایداری CI حفظ شود.

#Playwright #Testing #E2E #ParallelTesting #TestAutomation #JavaScript #Fixtures #CI

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


👑 @software_Labdon
1
🔵 عنوان مقاله
The Day I Became an AI "Babysitter" (And Why I'm Not Ashamed of It)

🟢 خلاصه مقاله:
** این مقاله از Santhosh Siddegowda نشان می‌دهد به‌کارگیری AI در تست به‌جای جایگزینی کامل، به معنای «نظارت هوشمندانه» است. او توضیح می‌دهد چگونه کیس‌های کلاسیک QA به جریان‌های AI-assisted تبدیل می‌شوند: بازنویسی بر پایه قصد کاربر و پرامپت، تعریف گاردریل‌ها و اوراکل‌های تست، و افزودن بازبینی Human-in-the-Loop برای مهار ناپایداری و خطاهای مدل. نویسنده بر عملیات‌پذیری تأکید می‌کند—نسخه‌بندی پرامپت‌ها، لاگ‌برداری و ارزیابی مداوم کیفیت—و نتیجه می‌گیرد که هرچند AI سرعت و پوشش تست را افزایش می‌دهد، موفقیت به سنجش‌پذیری، محرمانگی داده، معیارهای پذیرش روشن و نقش فعال انسان وابسته است. جمع‌بندی او: با موارد مناسب شروع کنید، گاردریل و اوراکل شفاف بسازید، اثر را اندازه‌گیری کنید و قضاوت انسانی را در مرکز نگه دارید؛ «AI babysitting» رویکردی مسئولانه برای قابل‌اعتماد کردن AI در QA است.

#AIinTesting #QA #TestAutomation #LLM #HumanInTheLoop #PromptEngineering #SoftwareQuality

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


👑 @software_Labdon
🔵 عنوان مقاله
Test Automation: How to Turn Regression Routine into a Reliable System

🟢 خلاصه مقاله:
این مقاله روایت عملی Maksim Laptev از گذار تیم از رگرسیون دستی به یک سامانه خودکار و قابل اتکاست. او بر اولویت‌بندی مبتنی بر ریسک تأکید می‌کند: شروع با اسموک تست‌های سریع، افزودن تست‌های پایدار در سطح API برای هسته سیستم و خودکارسازی محدود اما هدفمند مسیرهای UI پرارزش، در کنار حفظ تست‌های اکتشافی. معیارهای انتخاب ابزار شامل هم‌راستایی با زبان تیم، یکپارچگی با CI/CD، اجرای موازی، گزارش‌دهی و نگهداشت‌پذیری است و پرهیز از تنوع بی‌رویه ابزار توصیه می‌شود. در معماری، جداسازی لایه‌ها (الگوهایی مانند Page Object/Screenplay)، مدیریت داده و محیط تکرارپذیر، حذف منابع flakiness با انتظارهای قطعی و setup/teardown ایمن، و برچسب‌گذاری و شاردینگ برای سرعت، نقش کلیدی دارند. ادغام در CI/CD با دروازه‌های سریع، رگرسیون‌های دوره‌ای و سنجه‌هایی مانند پوشش جریان‌های حیاتی، نرخ flake و زمان رفع، کیفیت را پایدار می‌کند. در نهایت با یک نقشه راه گام‌به‌گام، آموزش و کدنویسی استاندارد برای تست‌ها، و بازبینی و هرس منظم، می‌توان سامانه‌ای ساخت که چرخه بازخورد را کوتاه و ریسک انتشار را کم می‌کند.

#TestAutomation #SoftwareTesting #QA #RegressionTesting #CICD #DevOps #SDET

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


👑 @software_Labdon
🔵 عنوان مقاله
Intelligent QA Orchestration with Large Language Models — A modern approach to Quality Assurance

🟢 خلاصه مقاله:
**
این رویکرد با تکیه بر Large Language Models (LLMs) پیشنهاد می‌کند که از یک لایه ارکستریشن هوشمند برای پیوند دادن نیازمندی‌ها، کد، تله‌متری و ابزارهای موجود استفاده شود تا تست‌ها به‌صورت هوشمند و تا حدی خودمختار تولید، اولویت‌بندی و نگهداری شوند. در این مدل، عامل‌های AI کارهایی مانند آماده‌سازی محیط، داده‌گذاری، اجرای تست، عیب‌یابی و ثبت خودکار باگ را هماهنگ می‌کنند و با اتصال به CI/CD و ابزارهای رهگیری، پوشش و ریسک را به‌صورت پیوسته بهبود می‌دهند. طرح پیشنهادی بر معماری مرجع با کانکتورها، پایگاه دانش مشترک و ریل‌های حاکمیتی تمرکز دارد و بر ارزیابی خروجی‌های AI، human-in-the-loop، بازتولیدپذیری و حفظ حریم داده تأکید می‌کند. چالش‌هایی مانند هالوسینیشن، تعیین‌پذیری، هزینه و امنیت با تکیه بر گراند کردن مدل در منابع معتبر، خروجی‌های ساختاریافته و سنجش ROI مدیریت می‌شوند. به‌گفته Sam Treweek مسیر عملی از موارد استفاده محدود مانند انتخاب رگرسیون هوشمند، تشخیص تست‌های flaky و نگهداری خودترمیم‌کننده آغاز می‌شود و با بلوغ ابزارها و حاکمیت گسترش می‌یابد.

#QA #SoftwareTesting #LLM #AIinTesting #TestAutomation #QualityEngineering #CICD

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


👑 @software_Labdon
🔵 عنوان مقاله
Cypress Studio: No-Code Test Generation Now Built In

🟢 خلاصه مقاله:
**جنیفر Shehane از Cypress اعلام کرد که Cypress Studio، قابلیت تولید تست بدون کدنویسی، اکنون به‌صورت پیش‌فرض فعال است و بدون تنظیمات اضافی در دسترس قرار می‌گیرد. به‌زودی نیز قابلیت‌های مبتنی بر AI برای پیشنهاد گام‌ها و_assertion_های تست اضافه می‌شود تا نوشتن سناریوها سریع‌تر و پوشش کامل‌تر شود. این تغییر آستانه ورود را پایین می‌آورد، ضبط تعاملات واقعی کاربر را ساده می‌کند و امکان ادغام و نگه‌داری تست‌ها در جریان‌های مرسوم تیم‌های توسعه و QA را فراهم می‌سازد.

#Cypress #CypressStudio #TestAutomation #NoCode #QA #EndToEndTesting #AITesting #JavaScript

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


👑 @software_Labdon