About Ghanem
Ghanem builds technology for real estate investment in Saudi Arabia. Our platform brings together investor onboarding, identity verification, investment opportunities, wallets, payments, and portfolio management. We build customer experiences across mobile and web, alongside the operational tools and integrations that support the investment lifecycle.
The Role
We are looking for a Senior SDET to build the automation and testing strategy that gives Ghanem confidence in every release. You will write production-quality test code, improve our existing framework, and work with engineers and product teams to expose risks early. The role spans APIs, web, and mobile, with particular attention to financial correctness and external integrations.
Our Engineering Environment
Our automation framework uses Java, Maven, TestNG, and REST Assured, with Playwright and Selenium for web testing and Appium for mobile testing. The product uses Spring Boot APIs, PostgreSQL, Redis, Flutter apps, and React operations tools. GitHub Actions supports automated execution, with ReportPortal and a test execution service supporting results and diagnostics.
What You Will Do
- Define a risk-based automation strategy for onboarding, identity verification, wallets, deposits, withdrawals, investment checkout, portfolios, and administrative operations
- Extend and maintain the existing Java test framework, API clients, fixtures, and reporting; make suites reliable, readable, and safe to run in parallel
- Build API, contract, integration, and end-to-end tests that verify business behavior and persisted outcomes, including financial amounts and authorization rules
- Test payment and banking callbacks, duplicate and out-of-order events, timeouts, partial failures, and concurrent requests; verify that retries cannot cause duplicate financial effects
- Automate important web and Flutter mobile journeys, including relevant iOS and Android coverage and Arabic and English interface behavior
- Create deterministic test data and cleanup mechanisms; use service mocks or sandboxes to exercise provider failures without depending on live customer transactions
- Integrate suites into CI/CD with meaningful release gates; reduce flaky tests and execution time while preserving coverage of critical risks
- Investigate failures using logs, API responses, and database evidence; pair with developers on fixes, perform focused exploratory testing, and communicate release risk clearly
What Success Looks Like
Critical journeys have trustworthy automated coverage, failures give engineers enough evidence to act, and releases carry a clear assessment of residual risk. The test suite becomes faster and more stable while catching defects that could affect customer funds or access.
Requirements
What You Will Bring
- 5+ years of experience in software testing or quality engineering, including substantial experience writing and maintaining automation code
- Strong Java skills and experience with TestNG or JUnit, Maven, REST Assured or equivalent API automation, and reusable test framework design
- Experience testing REST APIs, authentication, authorization, asynchronous workflows, and third-party integrations
- Practical web automation experience with Playwright or Selenium, plus mobile automation experience with Appium or an equivalent tool
- Strong SQL skills and the ability to verify application behavior through persisted data, logs, and service responses
- Experience running automation in CI/CD, managing test environments and data, and diagnosing flaky or parallel-execution failures
- Ability to translate business rules into meaningful tests, prioritize by risk, and collaborate with developers throughout feature delivery
Nice to Have
- Experience testing wallets, payment gateways, reconciliation, investment systems, or other workflows requiring financial accuracy
- Experience testing Flutter apps, Arabic interfaces and right-to-left layouts, or using real-device cloud platforms
- Experience with WireMock, Testcontainers, performance testing, security-focused testing, or ReportPortal
عن غانم
تبني شركة غانم تكنولوجيا الاستثمار العقاري في المملكة العربية السعودية. تجمع منصتنا بين إعداد المستثمرين، والتحقق من الهوية، وفرص الاستثمار، والمحافظ الإلكترونية، والمدفوعات، وإدارة المحافظ. نحن نبني تجارب عملاء عبر الهاتف المحمول والويب، إلى جانب الأدوات التشغيلية وعمليات التكامل التي تدعم دورة حياة الاستثمار.
الدور الوظيفي
نحن نبحث عن مهندس أول تطوير برمجيات في الاختبار (Senior SDET) لبناء استراتيجية الأتمتة والاختبار التي تمنح غانم الثقة في كل إصدار. ستقوم بكتابة كود اختبار بجودة الإنتاج، وتحسين إطار العمل الحالي لدينا، والعمل مع المهندسين وفرق المنتج للكشف عن المخاطر في وقت مبكر. يغطي الدور واجهات برمجة التطبيقات (APIs)، والويب، والهاتف المحمول، مع إيلاء اهتمام خاص للدقة المالية والتكاملات الخارجية.
بيئتنا الهندسية
يستخدم إطار عمل الأتمتة لدينا Java و Maven و TestNG و REST Assured، مع استخدام Playwright و Selenium لاختبار الويب، و Appium لاختبار الهاتف المحمول. يستخدم المنتج واجهات برمجة تطبيقات Spring Boot، و PostgreSQL، و Redis، وتطبيقات Flutter، وأدوات عمليات React. تدعم GitHub Actions التنفيذ المؤتمت، مع وجود ReportPortal وخدمة تنفيذ اختبار لدعم النتائج والتشخيصات.
ما ستفعله
- تحديد استراتيجية أتمتة قائمة على المخاطر لعمليات الإعداد، والتحقق من الهوية، والمحافظ، والإيداعات، والسحوبات، وإتمام الاستثمار، والمحافظ الاستثمارية، والعمليات الإدارية
- توسيع وصيانة إطار اختبار Java الحالي، وعملاء API، والمثبتات، والتقارير؛ وجعل المجموعات موثوقة ومقروءة وآمنة للتشغيل بالتوازي
- بناء اختبارات API، والعقود، والتكامل، والاختبارات الشاملة (E2E) التي تتحقق من سلوك الأعمال والنتائج المخزنة، بما في ذلك المبالغ المالية وقواعد التفويض
- اختبار مدفوعات وملاحظات العمليات المصرفية، والأحداث المتكررة وغير المرتبة، والمهلات الزمنية، والفشل الجزئي، والطلبات المتزامنة؛ والتحقق من أن عمليات إعادة المحاولة لا يمكن أن تسبب آثاراً مالية مزدوجة
- أتمتة رحلات الويب المهمة ورحلات تطبيقات الهاتف المحمول Flutter، بما في ذلك تغطية iOS و Android ذات الصلة وسلوك الواجهة باللغتين العربية والإنجليزية
- إنشاء بيانات اختبار حتمية وآليات تنظيف؛ واستخدام محاكيات الخدمة (mocks) أو بيئات الاختبار التجريبية لاختبار إخفاقات المزود دون الاعتماد على معاملات العملاء الحية
- دمج مجموعات الاختبار في CI/CD مع بوابات إصدار ذات مغزى؛ وتقليل الاختبارات غير المستقرة ووقت التنفيذ مع الحفاظ على تغطية المخاطر الجسيمة
- التحقيق في الإخفاقات باستخدام السجلات، واستجابات API، وأدلة قواعد البيانات؛ والعمل جنباً إلى جنب مع المطورين على الإصلاحات، وإجراء اختبارات استكشافية مركزة، وتوصيل مخاطر الإصدار بوضوح
كيف يبدو النجاح
تمتلك الرحلات المهمة تغطية مؤتمتة موثوقة، وتمنح الإخفاقات المهندسين أدلة كافية لاتخاذ إجراء، وتحمل الإصدارات تقييماً واضحاً للمخاطر المتبقية. تصبح مجموعة الاختبار أسرع وأكثر استقراراً مع اكتشاف العيوب التي قد تؤثر على أموال العملاء أو وصولهم إلى المنصة.
المتطلبات
ما ستقدمه معنا
- خبرة تزيد عن 5 سنوات في اختبار البرمجيات أو هندسة الجودة، بما في ذلك خبرة كبيرة في كتابة وصيانة كود الأتمتة
- مهارات قوية في Java وخبرة في TestNG أو JUnit، و Maven، و REST Assured أو ما يعادلها من أتمتة API، وتصميم إطار اختبار قابل لإعادة الاستخدام
- خبرة في اختبار REST APIs، والمصادقة، والتفويض، وسير العمل غير المتزامن، وعمليات التكامل مع أطراف ثالثة
- خبرة عملية في أتمتة الويب باستخدام Playwright أو Selenium، بالإضافة إلى خبرة في أتمتة الهاتف المحمول باستخدام Appium أو أداة مماثلة
- مهارات قوية في SQL والقدرة على التحقق من سلوك التطبيق من خلال البيانات المخزنة والسجلات واستجابات الخدمة
- خبرة في تشغيل الأتمتة في CI/CD، وإدارة بيئات الاختبار والبيانات، وتشخيص فشل الاختبارات غير المستقرة أو التنفيذ المتوازي
- القدرة على ترجمة قواعد العمل إلى اختبارات ذات مغزى، وتحديد الأولويات حسب المخاطر، والتعاون مع المطورين طوال عملية تسليم الميزات
أفضلية إضافية
- خبرة في اختبار المحافظ، وبوابات الدفع، والتسوية، وأنظمة الاستثمار، أو أي سير عمل آخر يتطلب دقة مالية
- خبرة في اختبار تطبيقات Flutter، والواجهات العربية وتخطيطات من اليمين إلى اليسار، أو استخدام منصات الحوسبة السحابية للأجهزة الحقيقية
- خبرة في WireMock، أو Testcontainers، أو اختبار الأداء، أو الاختبار الموجه للأمان، أو ReportPortal