Software Engineer Labdon
605 subscribers
43 photos
4 videos
2 files
757 links
👑 Software Labdon

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

ادمین:
@mrbardia72
Download Telegram
🔵 عنوان مقاله
In Sprint Test Automation

🟢 خلاصه مقاله:
در آزمون‌سازی درون‌اسپرینت در Agile، هدف این است که تست‌ها همزمان با توسعه نوشته و اجرا شوند تا بازخورد سریع و خطاهای انباشته کاهش یابد. تجربه‌ها نشان می‌دهد موفقیت به چند عامل وابسته است: خرد کردن قصه‌ها به قطعات کوچک و قابل‌آزمون، پذیرش «Definition of Ready» و «Definition of Done» که شامل آزمون خودکار است، همکاری نزدیک Dev و QA با رویکردهای TDD/BDD، و برخورد با تست مثل کد (همان مخزن، همان استراتژی شاخه، همان بازبینی کد).

برای پشتیبانی از این جریان، CI/CD باید سریع و قابل‌اعتماد باشد: اجرای موازی، محیط‌های موقتی مبتنی بر کانتینر، مجازی‌سازی سرویس‌ها و Mockها برای قطع وابستگی‌ها، و مدیریت داده‌ی تست که آزمون‌ها را تکرارپذیر و بدون نوسان نگه می‌دارد. تمرکز بر هرم تست ضروری است: پوشش بالای Unit و Integration/Contract، و تنها یک لایه نازک از E2E UI (مثلاً با Cypress یا Playwright)؛ در کنار آن، سنجه‌هایی مانند زمان رسیدن تغییر تا استقرار، نرخ شکست و زمان ترمیم رصد می‌شوند و تست‌های flaky سریع قرنطینه و اصلاح می‌گردند.

همچنین پرهیز از الگوهای ضدِکیفیت مانند «Hardening Sprint»، عقب‌انداختن اتوماسیون به‌عنوان بدهی، یا اتکا به E2E شکننده توصیه می‌شود. استفاده از Feature Flag، Contract Testing در معماری‌های مبتنی بر سرویس، و مالکیت مشترک کیفیت در کل تیم به تحقق «اتمام واقعی کار» در همان اسپرینت کمک می‌کند.

#Agile #TestAutomation #InSprintTesting #CI_CD #TDD #BDD #DevOps

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


👑 @software_Labdon
👍1
🔵 عنوان مقاله
US Teen Indicted in 764 Network Case Involving Exploitation Crimes (2 minute read)

🟢 خلاصه مقاله:
یک جوان ۱۹ساله از کالیفرنیا به‌اتهام مشارکت در شبکه افراطی «764» تحت پیگرد فدرال قرار گرفته است. به‌گفته دادستان‌ها، این شبکه در دسته‌بندی Nihilistic Violent Extremist قرار می‌گیرد و عمدتاً در فضای آنلاین فعالیت دارد؛ جایی که اعضا به سوءاستفاده از قربانیان خردسال و فروپاشاندن هنجارهای اجتماعی از طریق آزار، دست‌کاری و رفتارهای آسیب‌زا متهم هستند. مقامات می‌گویند این پرونده با رصد فعالیت‌های آنلاین و شواهد دیجیتال پیش رفته و بر توجه روزافزون پلیس به جرایم بهره‌کشی در تلاقی با خُرده‌فرهنگ‌های افراطی آنلاین تأکید دارد. با این حال، کیفرخواست به‌معنای اثبات جرم نیست و متهم تا زمان اثبات اتهامات بی‌گناه فرض می‌شود. این پرونده یادآور پیامدهای جدی قانونی مشارکت در چنین شبکه‌هایی—even اگر با پوشش «ترولینگ» یا پوچ‌گرایی انجام شود—و ضرورت محافظت بیشتر از کودکان، گزارش‌دهی به‌موقع، و همکاری پلتفرم‌ها برای پیشگیری و حمایت از قربانیان است.

#Extremism #OnlineSafety #ChildProtection #Cybercrime #LawEnforcement #USJustice #Indictment #DigitalForensics

🟣لینک مقاله:
https://hackread.com/us-teen-indicted-764-network-case-crimes/?utm_source=tldrinfosec


👑 @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
🔵 عنوان مقاله
Hackers Use NFC Relay Malware to Clone Tap-to-Pay Android Transactions (2 minute read)

🟢 خلاصه مقاله:
پژوهشگران Zimperium شناسایی کرده‌اند که بیش از 760 اپلیکیشن مخرب روی Android با سوءاستفاده از NFC و Host Card Emulation داده‌های پرداخت را به‌صورت بلادرنگ به مهاجمان رله می‌کنند و این عملیات از طریق بیش از 70 سرور command-and-control (C2) و ربات‌های Telegram هماهنگ می‌شود. مهاجمان با اپ‌های جعلی که ظاهر Google Pay، VTB Bank و Santander را تقلید می‌کنند، کاربران در روسیه، لهستان، برزیل و چند کشور دیگر را فریب داده‌اند تا با گرفتن دسترسی‌های حساس، پرداخت‌های tap-to-pay جعلی را بدون نیاز به کارت فیزیکی انجام دهند. در این حمله، توکن‌ها/جلسات پرداخت از دستگاه قربانی جمع‌آوری و بی‌درنگ به دستگاهی نزدیک پایانه فروش منتقل می‌شود تا تراکنش تکمیل شود. برای کاهش ریسک: فقط از Google Play Store نصب کنید، Android و Play Protect را به‌روز نگه دارید، دسترسی‌های حساس (به‌ویژه accessibility و device admin) را محدود کنید، NFC را هنگام عدم نیاز خاموش کنید و هشدارهای بانکی را فعال کنید.

#Android #NFC #HCE #MobileMalware #Cybersecurity #TapToPay #GooglePay #Zimperium

🟣لینک مقاله:
https://hackread.com/nfc-relay-malware-clone-tap-to-pay-android/?utm_source=tldrinfosec


👑 @software_Labdon
👍1
🔵 عنوان مقاله
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
🔵 عنوان مقاله
Automating LLM Apps Quality: A Survey of Open-Source Evaluation Tools for CI/CD

🟢 خلاصه مقاله:
** این مقاله به‌قلم Tarek Oraby فهرستی کاربردی از ابزارهای متن‌باز برای ارزیابی LLM و خودکارسازی تضمین کیفیت در CI/CD ارائه می‌کند. ابزارها طیفی از نیازها را پوشش می‌دهند: آزمون واحد برای پرامپت و زنجیره، ارزیابی مبتنی‌بر داده و متریک، بازبینی انسانی، گاردریل‌ها و سیاست‌های ایمنی، تولید داده و تست‌های مصنوعی، و مانیتورینگ پس از استقرار. سنجه‌های کلیدی شامل درستی و وفاداری (به‌ویژه در RAG)، ایمنی و سوگیری، پایداری و رگرسیون، و همچنین تأخیر و هزینه است. راهکارهای ادغام با CI/CD شامل تعریف آستانه قبولی/رد، اجرای تست‌ها در هر PR، نسخه‌بندی پرامپت/داده، مقایسه نتایج بین اجراها و گزارش‌دهی خودکار در PRهاست و می‌تواند با GitHub Actions، GitLab CI یا Jenkins پیاده شود. پیشنهاد عملی شروع کوچک با تست‌های طلایی، افزودن تست‌های رگرسیونی برای پرامپت‌های حساس و فعال‌سازی گاردریل‌هاست تا به‌تدریج پوشش و پایداری کیفیت افزایش یابد.

#LLM #CICD #MLOps #OpenSource #AIEvaluation #PromptTesting #QualityAssurance #AISafety

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


👑 @software_Labdon
1
🔵 عنوان مقاله
From Templates to Heuristics: Enhancing Thought Work

🟢 خلاصه مقاله:
تست مؤثر بیش از آن‌که به پر کردن قالب‌ها و چک‌لیست‌ها تکیه کند، به فهم عمیق و تأمل وابسته است. Maria Kedemo تأکید می‌کند که به‌جای تمرکز بر فرم‌ها، باید با نگاه انتقادی و زمینه‌محور به ریسک و ارزش فکر کنیم. در این رویکرد، هیوریستیک‌ها (heuristics) به‌عنوان راهنماهای منعطف و خطاپذیر به ما کمک می‌کنند پرسش‌های بهتری بپرسیم، فرضیات پنهان را آشکار کنیم و بر اساس چرخه‌های مشاهده، فرضیه‌سازی، آزمون و یادگیری مسیر را تنظیم کنیم. سازمان‌ها باید زمان و سازوکارهایی برای بازاندیشی (مثل دی‌بریف و بازبینی همتا) فراهم کنند و موفقیت را با کیفیت اطلاعات ریسکی و یادگیری حاصل بسنجند، نه با تعداد موارد آزمون یا فرم‌های تکمیل‌شده. قالب‌ها می‌توانند نقش داربست داشته باشند، اما مقصد نیستند؛ مقصد، اندیشیدن بهتر و تصمیم‌های سازگار با زمینه است.

#SoftwareTesting #Heuristics #ExploratoryTesting #QualityEngineering #TestingStrategy #CriticalThinking #ContextDrivenTesting

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


👑 @software_Labdon
🔵 عنوان مقاله
Dismantling a Critical Supply Chain Risk in VSCode Extension Marketplaces (7 minute read)

🟢 خلاصه مقاله:
بیش از ۵۵۰ راز حساس در افزونه‌های عمومی VSCode افشا شد، از جمله AWS و GitHub tokens. علت اصلی، مدیریت ناامن فایل‌ها در فرایند توسعه و انتشار بود؛ مشکلی که می‌تواند به مهاجمان امکان دهد با سوءاستفاده از توکن‌ها به‌روزرسانی‌های مخرب منتشر کنند و حملات زنجیره‌تأمین را آغاز کنند. در واکنش، پلتفرم‌ها توکن‌های آسیب‌دیده را باطل کردند، ناشران را مطلع ساختند و اسکن خودکار را تقویت کردند. این حادثه بر ضرورت ایمن‌سازی اکوسیستم افزونه‌ها تأکید دارد: حذف فایل‌های حساس از بسته‌ها، استفاده از secret managers به‌جای درج مستقیم کلیدها، محدود کردن سطح دسترسی توکن‌ها، و اسکن مداوم برای کشف نشت رازها.

#SupplyChainSecurity #VSCode #DevSecOps #SecretsManagement #AppSec #TokenSecurity #SoftwareSupplyChain #SecureCoding

🟣لینک مقاله:
https://www.wiz.io/blog/supply-chain-risk-in-vscode-extension-marketplaces?utm_source=tldrinfosec


👑 @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
تفاوت Access Token و Refresh Token به زبان ساده
در سیستم‌های احراز هویت مدرن مثل Keycloak یا IdentityServer،
دوبار اسم «توکن» رو می‌شنویم:
ولی واقعاً فرقشون چیه؟
Access Token
توکن کوتاه‌مدتیه (مثلاً ۵ تا ۱۵ دقیقه) که بعد از لاگین کاربر صادر میشه.
هر بار که کاربر به API درخواست می‌فرسته، این توکن همراه درخواست میره تا سرور بفهمه کاربر کیه.
Refresh Token
طول عمر بیشتری داره (مثلاً ۳۰ دقیقه یا حتی چند ساعت).
اگر Access Token منقضی بشه، سیستم با استفاده از Refresh Token یه Access Token جدید می‌گیره
— بدون اینکه کاربر مجبور باشه دوباره لاگین کنه.
به زبان ساده Access Token مثل بلیط ورود به یک سالن هست ️
اما Refresh Token مثل کارت عضویت اون سالنه
باهاش می‌تونی هر بار بلیط جدید بگیری بدون ایستادن تو صف لاگین.
مزیت این روش:
امنیت بیشتر (Access Token کوتاه‌مدت و ایمن‌تره)
تجربه کاربری بهتر (کاربر کمتر لاگ‌اوت میشه)
کنترل بهتر سمت سرور روی اعتبار توکن‌ها
در پروژه‌ی اخیرم با Keycloak این مکانیزم رو پیاده‌سازی کردم.
کاربر بعد از ثبت‌نام، هم در Keycloak و هم در SQL Server ذخیره میشه تا
میان سیستم احراز هویت و اپلیکیشن اصلی یکپارچگی کامل برقرار باشه.
هر وقت در مورد Authentication کار می‌کنی،
یادت باشه که هدف فقط «ورود کاربر» نیست —
بلکه «مدیریت ایمن و هوشمند عمر نشست (Session Lifecycle)» هست.
در دنیای Api ها ما موظفیم با توکن ها کار کنیم
در ریزور پیج ها یک ورودی هیدن داشتیم که مدیریت توسط آن توسط خود asp بود
اما در api ها مدیریت توکن ها با ماست
بهترین گزینه هم استفاده از IDP (Identity Provider) هاست چون هم فرانت و هم بک را برای ما پوشش میدهد.

<Hossein Molaei/>