DevGuide – Telegram
11.1K subscribers
2.93K photos
19 videos
133 files
3.62K links
Level up daily with insider dev hacks, smart career tips, and real talk! 🚀

⚡️ Stay connected with me: linktr.ee/AliSamir

📍 To advertise on the channel: https://telega.io/c/the_developer_guide
Download Telegram
What is an AI Agent?
4
🔰 Docker crash course - how Docker works
8
Deep Dive into React’s Reconciliation Algorithm: How It Works and How to Master It 💯

https://dev.to/alisamir/deep-dive-into-reacts-reconciliation-algorithm-how-it-works-and-how-to-master-it-2ih4
2
مفهوم الـ End-to-End Test 💯
.
.
خلال رحلتك في عالم البرمجة، أكيد اشتغلت على Feature جامدة، وكنت متأكد إن الـ code شغال زي الفل. كتبت Unit Tests، وكل الـ functions بتـرجّع اللي المفروض ترجعه. بعد كده جربت الـ app بإيدك، كل حاجة ماشية حلو… بس لما رفعت الكود على الـ staging أو الـ production، فجأة حاجات وقعت! ⚠️

المشكلة هنا إن اللي أنت اختبرته مش كفاية... أنت اختبرت أجزاء صغيرة، لكن ما اختبرت الرحلة كاملة من أول ما الـ user يفتح الـ app لحد ما يوصل لهدفه.

وهنا بييجي دور الـ End-to-End Testing (E2E)...

———

🎯 يعني إيه End-to-End Test؟


الـ End-to-End Test ببساطة هو نوع من أنواع الـ Testing اللي بيحاكي تصرفات الـ user الحقيقية.
بنختبر الـ system كـ “صندوق أسود” من غير ما نهتم بالتفاصيل الداخلية، إحنا بس عاوزين نتأكد إن الـ app بيشتغل زي ما الـ user متوقع بالضبط، من أول خطوة لآخر خطوة.

يعني بنبدأ من الـ UI، ونتفاعل مع الـ buttons والـ forms والـ links، وبنشوف هل الـ backend بيرد زي ما المفروض؟ هل الـ database اتحدثت؟ هل النتيجة اللي ظهرت للمستخدم منطقية؟

———

📌 إمتى تستخدم الـ E2E؟


- لما تكون بتسلم Feature مهمة جدًا، زي عملية دفع أو تسجيل دخول.
- لو الـ app فيه flows معقدة أو steps كتير وبتعتمد على بعض.
- لما تحب تتأكد إن الـ integration بين الـ frontend والـ backend شغال تمام.
- وقت الـ release، علشان تطمن إن الـ system ككل شغال سليم من الأول للآخر.

———

🛠 أشهر أدوات الـ End-to-End Testing


- الـ Cypress: سهل، واضح، بيشتغل على المتصفح، وبيخليك تـ debug بسهولة.
- الـ Playwright: سريع وبيدعم browsers كتير، وممتاز للـ automation.
- الـ Selenium: قديم وتقيل شوية، بس لسه ناس بتستخدمه عشان مرن وبيشتغل بلغات مختلفة.

———

⚙️ أمثلة على Scenarios ممكن نعملها E2E Test


- مستخدم بيسجل في الموقع، بيرجعله confirmation message.
- مستخدم بيدخل بيانات كريدت كارد وبتتم عملية الدفع.
- مستخدم بيعمل login وبيتنقل على الـ dashboard.
- مستخدم بيبعت فورم contact us وتوصله رسالة تأكيد.

———

💡 ليه الـ E2E Tests مهمة؟


- بتمنع الـ regressions اللي ممكن تحصل بعد تغييرات كبيرة.
- بتكشف bugs مش ممكن تكتشفها بالـ Unit أو الـ Integration tests.
- بتديك confidence إن الـ system ككل شغال زي ما المفروض.
- بتساعد الفريق كله (frontend, backend, QA) يكونوا مطمنين قبل أي release.

———

⚠️ بس خلي بالك...


الـ E2E Tests تقيلة في الـ execution، وبطيئة مقارنةً بالأنواع التانية.
فعشان كده بنكتب منها بس الـ critical flows، مش كل حاجة.

كمان أي تغيير بسيط في UI ممكن يكسرها… فلازم تكتبها بشكل كويس وقابل للصيانة.

———

💡 نصائح لو هتبدأ تكتب E2E Tests:


- ابني test لكل user journey مهمة.
- حاول تعزل الـ data اللي بتستخدمه في التست (استخدم mocks أو test accounts).
- حافظ على naming واضح وسهل في الـ tests.
- شغّلها في CI/CD pipeline عشان تمسك المشاكل قبل ما توصل للناس.

———

الـ E2E Testing هو خط الدفاع الأخير، اللي بيأكد إن كل حاجة ماشية تمام من منظور المستخدم.
وكمان هو اللي بيخليك ضامن إن الـ feature اللي تعبت فيها مش هتبوظ لما تطلع production.

———

وفقكم الله لكل خير 🌿
13
Gallery Layout using CSS Grids in 5 steps 💯
7
9 Essential Books Every Software Engineer Should Read
6
ليه بنستخدم الـ ORM؟ 🤔
.
.
تعال ندردش شوية عن حاجة ممكن تغيّر طريقة شغلك مع الـ database وتوفّر عليك وقت ومجهود كبير جدًا… وهي الـ ORM.

لكن قبل ما ندخل في التفاصيل تعال نرجع ورا شوية...

فاكر أول مرة تعلمت فيها إزاي تتعامل مع الـ database؟

———

🔗 LinkedIn:
https://www.linkedin.com/posts/mentoor-io_orm-database-backend-activity-7348410219284041728-uaep

🔗 Qabilah:
https://qabilah.com/posts/ku4aLi4n2rs

🔗 Facebook:
https://www.facebook.com/share/p/1BFsS16jZj
4
Rest API Fundamentals 💯
9