Software Engineer Labdon
584 subscribers
42 photos
3 videos
2 files
709 links
👑 Software Labdon

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

ادمین:
@mrbardia72
Download Telegram
🔵 عنوان مقاله
Mutation testing — not just for unit tests

🟢 خلاصه مقاله:
mutation testing روشی برای سنجش کیفیت واقعی آزمون‌هاست: با ایجاد تغییرات کوچک در کد، بررسی می‌کند آیا تست‌ها می‌توانند خطاهای احتمالی را کشف کنند یا نه. این رویکرد فقط مخصوص unit tests نیست؛ می‌توان آن را در سطح integration و API و حتی سناریوهای انتها به انتها به‌کار گرفت تا مطمئن شویم تست‌ها رفتار قابل مشاهده را به‌خوبی پوشش می‌دهند. Bas Dijkstra با یک مثال گام‌به‌گام نشان می‌دهد چگونه ابزار را پیکربندی کنیم، mutants بسازیم، تست‌ها را اجرا کنیم و نتایج را تفسیر کنیم؛ و چگونه با تقویت assertions، افزودن سناریوهای لبه، یا حذف کد مرده کیفیت را بالا ببریم. پیشنهاد عملی این است که با یک بخش کوچک شروع کنید، ابزار مناسب پشته‌تان را انتخاب کنید، در CI آستانه‌های معقول بگذارید و اجرای سنگین‌تر را دوره‌ای انجام دهید تا با هزینه منطقی، بازخورد مؤثر بگیرید.

#MutationTesting #SoftwareTesting #UnitTesting #TestQuality #BasDijkstra #CodeCoverage #CI_CD #DevOps

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


👑 @software_Labdon
🎉1
🔵 عنوان مقاله
Finally: Unit Testing for LLMs That Doesn't Require a PhD or $100K Budget

🟢 خلاصه مقاله:
** دکتر Ernesto Lee نشان می‌دهد برای ساخت اپلیکیشن‌های مبتنی بر LLM لازم نیست PhD یا بودجه‌های بسیار بزرگ داشته باشید تا تست خودکار جدی و مؤثر پیاده کنید. ایده اصلی این است که هر prompt، chain و فراخوانی ابزار را مثل یک واحد مستقل با مشخصات روشن ببینید و برای آن‌ها تست بنویسید: از اعتبارسنجی ساختار خروجی (مثلاً JSON Schema) و الزامات فیلدها، تا چک‌های ایمنی/سیاست و نمونه‌های طلایی دامنه‌ای. با snapshot test، داده‌های نمونه کم‌حجم اما پوشش‌دهنده لبه‌ها، و mock/stub برای وابستگی‌های خارجی، تست‌ها سریع، ارزان و قابل تکرار می‌مانند.

برای کنترل هزینه و نوسان، می‌توان پاسخ‌ها را cache کرد، بیشتر تست‌ها را با temperature=0 اجرا نمود، محدودیت توکن گذاشت، و مجموعه تست‌های «سریع» را از ارزیابی‌های «سنگین‌تر» دوره‌ای جدا کرد. نسخه‌دهی به promptها و داده‌های طلایی، گزارش‌کردن معیارها و اتصال این چرخه به CI باعث می‌شود هر تغییر کد یا prompt فوراً ارزیابی شود و رگرسیون‌ها دیده شوند. در صورت شکست تست، سریع مشخص کنید مشکل از تغییر prompt است، drift مدل بالادستی یا وابستگی ابزار، و همان یادگیری را به تست‌ها برگردانید.

نتیجه این رویکرد، چرخه توسعه سریع‌تر با اطمینان بیشتر و هزینه کنترل‌شده است. پیام Lee روشن است: Unit Testing عملی و مقیاس‌پذیر برای LLMها در دسترس همه تیم‌هاست، نه فقط تیم‌های بزرگ.

#LLM
#UnitTesting
#AIEngineering
#TestingAutomation
#MLOps
#PromptEngineering
#ContinuousIntegration
#QualityAssurance

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


👑 @software_Labdon
2
🔵 عنوان مقاله
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