ورشة ضمان هندسة الجودة – QA Engineering
المحاضر: وسام جوبي
حول المحاضر: مهندس ضمان جودة وأتمتة (SDET) بخبرة عملية تزيد عن 5 سنوات في بناء أطر عمل الأتمتة وقيادة فرق ضمان الجودة عبر تطبيقات الويب، الموبايل، واجهات الـ API، وتطبيقات سطح المكتب.
حول الورشة / أقسام محتوى الورشة/ ماذا ستتعلم في هذه الورشة
🔹 الأساسيات التي يقوم عليها مجال ضمان الجودة واختبار البرمجيات.
🔹 الدور المحوري لــ QA داخل دورة حياة تطوير البرمجيات.
🔹 خطوات عملية لكتابة وتنفيذ حالات اختبار احترافية.
🔹 مقدمة شاملة عن الاختبار اليدوي والاختبار الآلي.
🔹 أشهر الأدوات وأطر العمل المستخدمة في كبرى الشركات.
🔹 الثقة التي تحتاجها لتبدأ مسارك المهني في ضمان الجودة أو لتقوي مهاراتك الحالية.
ماذا ستتعلم في هذه الورشة:
- تعريف هندسة ضمان الجودة(QA Engineering) ، وفوائدها، والأدوار والمسؤوليات الرئيسة لمهندس ضمان الجودة.
- تصنيف شامل لأساليب اختبار البرمجيات استنادًا إلى فئات عدة، بما في ذلك: نوع التنفيذ، الغرض، النطاق أو المستوى، معرفة النظام (الصندوق الأسود، الصندوق الأبيض، الصندوق الرمادي)، فضلًا عن أشهر تقنيات تصميم الاختبار مثل تحليل القيم الحدّية واختبار جداول القرار.
- الاختلافات الجوهرية بين نموذجي تطوير البرمجيات الشائعين: نموذج الشلال (Waterfall) ومنهجية أجايل Agile، ففي نموذج الشلال، تُنفّذ مرحلة الاختبار بعد اكتمال مرحلة التطوير، ما يجعل اكتشاف الأخطاء وتصحيحها في هذه المرحلة عملية تستغرق وقتًا طويلًا وتكلفتها عالية. أما في نموذج أجايل، فيُتبع نهج تكراري؛ إذ تتكرر عملية الاختبار باستمرار طول دورة التطوير، ما يقلل كثيرًا من مخاطر الأخطاء وإعادة العمل مقارنة بنموذج الشلال.
- الاختلافات بين أنواع توثيق الاختبارات في الاختبار اليدوي: خطة الاختبار، سيناريوهات الاختبار، حالة الاختبار، تقرير تنفيذ الاختبار، وتقرير العيوب.
- أساليب توثيق الاختبارات في الاختبار الآلي، بما في ذلك العناصر الرئيسة الآتية: سكريبت الاختبار، التحقق ، محدد العناصر، إطار عمل الأتمتة، نموذج كائن الصفحة ، والتطوير القائم على السلوك ،إلى جانب أشهر أدوات الأتمتة المستخدمة.
من يمكنه الانضمام؟
هذه الدورة مصممة لمختصي هندسة تكنولوجيا المعلومات وخريجي الجامعات ممن يمتلكون خلفية قوية في مجالات ضمان الجودة، وتكنولوجيا المعلومات، أو التطوير التقني.
سيتمكن المشاركون من تعلّم المفاهيم الأساسية لهندسة ضمان الجودة، والتعرّف على المصطلحات والأدوات الشائعة في سوق العمل، فضلًا عن اكتساب خبرة عملية في كتابة حالات الاختبار يدويًا وبطريقة مؤتمتة.
حول الورشة:
تعلَم من المهندس وسام جوبي ، مهندس ضمان جودة وأتمتة (SDET) يتمتع بخبرة عملية تتجاوز خمس سنوات في بناء أُطر عمل الأتمتة وقيادة فرق ضمان الجودة لاختبار تطبيقات الويب والهواتف المحمولة وواجهات البرمجة والتطبيقات المكتبية. عمل في مسيرته المهنية مع شركات دولية في الإمارات وإيطاليا وألمانيا وسوريا، وأسهم في تقديم حلول برمجية عالية الجودة. قاد فرق ضمان الجودة، وأنشأ حلول أتمتة من الصفر، وشارك في مشاريع واسعة النطاق مستخدمة في أوروبا والشرق الأوسط، شملت أنظمة تخطيط الموارد (ERP)، وتطبيقات التوصيل، ومنصات المحاسبة المؤسسية، وأنظمة معالجة الفواتير المدعومة بالذكاء الاصطناعي. يمتلك خبرة قوية في تقديم منتجات برمجية عالية الجودة من خلال تخطيط دقيق للاختبارات، وتنفيذ فعّال، وتعاون مثمر مع الفرق متعددة التخصصات.
تعرف على تعريف ضمان الجودة ;ضمان الجودة هو عملية تهدف إلى منع ظهور الأخطاء في تطوير البرمجيات وضمان أن المنتج النهائي يستوفي معايير الجودة المحددة ومتطلباتها جميعها. تؤدي هذه العملية دورًا محوريًا في تحقيق الكفاءة الاقتصادية، ورضا العملاء، وضمان الأمان. وتختلف مهام مهندس ضمان الجودة من مؤسسة إلى أخرى تبعًا لهياكلها وأهدافها، لكن يجدر تأكيد أنّ مهندس ضمان الجودة يُعد جزءًا أساسيًا من فريق تطوير البرمجيات، وليس مجرد مُختبِر.
اكتشف المسؤوليات الرئيسة لمهندس ضمان الجودة:
- تحليل المتطلبات.
- تخطيط واستراتيجية الاختبار.
- تصميم وتنفيذ حالات الاختبار.
- إعداد وتتبع تقارير العيوب.
- أتمتة الاختبارات.
- تنفيذ اختبارات الانحدار.
- إعداد التقارير النهائية.
تعلَم تصنيف اختبارات البرمجيات وفقًا لأنواعها:
- وفقًا لطريقة التنفيذ: اختبار يدوي (Manual) واختبار آلي (Automated).
- وفقًا للغرض: اختبار وظيفي (Functional) واختبار غير وظيفي (Non-Functional).
- وفقًا للنطاق أو المستوى: اختبار الوحدة (Unit Testing)، التكامل (Integration), النظام (System) والقبول (Acceptance Testing).
اكتشف الفرق بين الاختبار اليدوي والاختبار الآلي:
- الاختبار اليدوي:
يتم بواسطة مختبِرين بشريين ينفذون حالات الاختبار خطوة بخطوة لاكتشاف الأخطاء والتحقق من وظائف النظام.
يُستخدم في الاختبارات التي تتطلب الخبرة البشرية، أو الحدس، أو الاستكشاف الذي لا يمكن للأتمتة محاكاته.
- الاختبار الآلي:
يعتمد على أدوات وسكريبتات متخصصة لتنفيذ حالات الاختبار تلقائيًا. يُعد الأنسب للاختبارات الطويلة والمتكررة والقياسية.
اكتشف الفرق بين الاختبار الوظيفي وغير الوظيفي:
- الاختبار الوظيفي: يركّز على التحقق من منطق عمل النظام وضمان أنَ وظائفه تعمل وفقًا للمتطلبات المحددة.
- الاختبار غير الوظيفي: يركّز على الجوانب الثانوية مثل الأداء، والموثوقية، والقابلية للتوسع، وسهولة الاستخدام.
تعلّم كيفية قياس جودة البرمجيات باستخدام مؤشرات شائعة:
- كثافة العيوب.
- نسبة التغطية بالاختبارات.
- تسرّب العيوب.
- الأداء.
- الأمان.
استكشف أدوات النظام المتكامل المستخدمة في كلٍّ من الاختبار اليدوي والاختبار الآلي لإدارة وتنظيم وتتبع عملية الاختبار، وتشمل ما يأتي:
- أدوات تتبّع الأخطاء
- أدوات إدارة الاختبارات .
- أدوات التعاون والتوثيق.
- بيئة الاختبار .
في نهاية الجلسة سوف تتعلم من الأمثلة العملية لفهم مفهوم كتابة حالات الاختبار وتنفيذها يدويًا وآليًا، ما يتيح لك تطبيق المعرفة المكتسبة في مواقف عملية حقيقية.
What You Will Learn:
- The definition of Quality Assurance (QA) Engineering, its benefits, roles, and major responsibilities.
- A comprehensive classification of software testing methods based on various categories, including execution type, purpose, scope/level, system knowledge (black-box, white-box, grey-box), and common test design techniques such as boundary value analysis and decision table testing.
- The key differences between the two common software development models: Waterfall and Agile. Testing stages occur in the former model (Waterfall) only after the development phase is completed, which means that identifying and fixing any errors at this stage can be time-consuming and costly. In contrast, Agile follows an iterative approach, where the testing phase is repeated continuously throughout the development cycle. In other words, the risk of errors and rework is significantly lower in Agile compared to the Waterfall model.
- The differences between test documentation types in manual software testing: test plan, test scenarios, test case, test execution report, and defect report.
- The methods of test documentation in automated software testing, including the main elements: test script, assertion, locator, test automation framework, page object model, and behavior-driven development, as well as the most commonly used automation tools.
Who should join?
Designed for IT engineering professionals and university graduates with a solid background in QA, IT, or technical development. Participants will learn the key concepts of Quality Assurance Engineering, explore common QA terms and tools relevant to the job market, and gain practical experience in writing test cases both manually and through automation.
About the Course:
Learn from Instructor Wessam-Juby is a Quality Assurance and Automation Engineer (SDET) with over 5 years of hands-on experience in building automation frameworks and leading QA teams across web, mobile, API, and desktop applications. Throughout his career, he has collaborated with international companies in the UAE, Italy, Germany, and Syria, delivering high-quality software solutions. He has led QA teams, built automation solutions from scratch, and participated in large-scale projects used across Europe and the Middle East, ranging from ERP systems and delivery applications to enterprise-level accounting platforms and AI-powered invoice processing systems. He possesses strong expertise in delivering high-quality software products through meticulous test planning, execution, and effective collaboration with cross-functional teams.
Learn the definition of Quality Assurance (QA); a process that prevents the occurrence of bugs in software development and ensures that the final product meets all requirements criteria. QA plays a vital role in cost efficiency, customer satisfaction, and security assurance. Each organization assigns various responsibilities to QA engineers depending on its structure and objectives. It is important to note that a QA engineer is an integral part of the software development team, not merely a tester.
Explore the main responsibilities, including:
- Requirement analysis.
- Test planning and strategy.
- Test case design and execution.
- Bug reporting and tracking.
- Automation.
- Regression testing.
- Reporting.
Learn the Classification of Software Testing Based on Different Types:
-
Based on Execution: Manual and Automated Testing.
-
Based on Purpose: Functional and Non-Functional Testing.
-
Based on Scope or Level: Unit, Integration, System, and Acceptance Testing.
Explore the difference between Manual and Automated Testing:
- Manual testing involves human testers who execute test cases step by step to identify bugs and verify functionality. It is best suited for cases that require human experience, intuition, or exploratory testing that automation cannot replicate.
- Automated testing, on the other hand, relies on specialized tools and scripts to execute predefined test cases automatically. It is ideal for long, repetitive, and standardized tests.
Explore the difference between Functional and Non-Functional Testing:
- Functional testing focuses on logic flow, verifying that the software’s features and functions work correctly according to the specified requirements.
- Non-functional testing ensures that the secondary aspects of the software, such as performance, reliability, scalability, and usability, meet the expected standards.
Learn how to measure the quality of the provided software using common metrics,
- Defect Density.
- Test Coverage.
- Defect Leakage.
- Performance.
- Security.
Explore ecosystem tools used in both manual and automated testing to manage, organize, and track the testing process.
- Bug Tracking.
- Test Management tools.
- Collaboration and Documentation tools.
- A test environment.
At the end of the session, you will work with some examples to understand the concept of writing and executing test cases both manually and automatically.






المزيد من الورشات
يمكنك تصفح وقراءة جميع التدوينات في المدونة العلمية و الورشات الخاصة لدى SySSR.




