ask bashmohandes
All answers

ايه الفكرة اني اعمل unit test لما انا كل حاجة بتستها postman اسهل واسرع بكتير وحتي الشركات لما بخش انترفيو وبيسالوا في ال unit test واسال حد شغال جوة انتوا بتشتغلوا بيها يقولولي لا

Anonymous · Around January 2020

Mohamed ElsherifMohamed Elsherif

ال Test طبقات، و كل طبقة ليها وظيفة، ال Unit Testing أقرب حاجة للكود بتاعك، بيختبر الكود بتفاصيله، و على مستوى دقيق، يعني كل class مثلاً، بتقدر من خلاله انك تعدي في كل تفصيلة في الكود و تتأكد انها بتشتغل زي ما انت متخيل، ميزته أنه سريع جداً، يعني ممكن تعمل run لآلاف ال unit tests في دقائق أو أقل، و ده بيساعدك لما تغير أي حاجة في الكود انك تتأكد انك ما ضربتش حاجة تانية، غير طبعاً أن ليه فوائد تانية زي أنه بيساعدك تبني الكود بطريقة Testable و بالتالي تصميمك حيبقى أفضل.

الطبقة اللي بعدها بتبقى Functional Testing أو Component Testing و دي برضه طبقة مهمة لأنك بتبتدي تعمل Testing لأكتر من جزء في نفس الوقت، زي مثلاً انك تعمل test لل Persistence layer أو عمليات ال CRUD بالذات لو عندك اجزاء معقدة شوية فيها Aggregates أو Domain Objects فيها logic و events بتسمع في حتت تانية لما تحصل و عاوز تتأكد أن الكلام ده شغال صح، و دي ممكن تاخد وقت أطول شوية في التنفيذ، لكن برضه مهمة علشان نفس الأسباب السابقة.

و الطبقة اللي بعدها Integration Testing و دي بتتعامل مع النظام كله أو أجزاء كبيرة منه، و بتحتاج يكون النظام Deployed زي ال API Testing و طبقة تانية زي ال UI Testing المكتوب بحاجة زي Selenium مثلاً، كل ده مهم و طبعاً بيبقى أبطأ لأنه بيحتاج النظام كله يشتغل الاول و بيحتاج بنية أساسية كويسة علشان البيانات اللي بتحصل أثناء تنفيذ ال Tests ما تأثرش على Tests تانية.

الفكرة كلها أن الطبقات دي كلها Automated، يعني بضغطة زرار - أو مع كل Build- الكود و النظام بيمر بكل المراحل دي من الاختبارات، و ده بيضمنلك إن النظام مش عرضة للمشاكل مع كل تغيير.

و اي شركة ما عندهاش استثمار في الموضوع ده تعرف انها شركة أي كلام.

Image attached to the answer about: ايه الفكرة اني اعمل unit test لما انا كل حاجة بتستها postman اسهل واسرع بكتير وحتي الشركات لما بخش انترفيو وبيسالوا في ال unit test واسال…