Freelance Senior QA Engineer (Mobile) (m/f/d)
The Unzer Unified POS team builds our native point-of-sale apps for iOS (Swift) and Android (Kotlin). Merchants use them every day at the counter, in shops and restaurants. Our apps talk to real hardware: card payment terminals, receipt printers, barcode scanners, cash drawers and fiscal devices. A bug here doesn't just show a wrong screen. It can stop a merchant from taking a payment.
We're looking for a QA Engineer focused on mobile test automation who also enjoys working hands-on with hardware. You'll build and own automated tests across both platforms. You'll also be the person who knows exactly what happens when the printer runs out of paper halfway through a receipt, or when the terminal drops its connection during a card payment.
What your work will look like:
-
Build and maintain our automated end-to-end tests for the native iOS (Retail and Gastro) and Android POS apps, using TypeScript, WebdriverIO and Appium.
-
Own the test pipelines in GitHub Actions: release and regression runs on Sauce Labs real devices and our self-hosted runners, plus Allure reporting and Jira/Xray result reporting. Keep the runs reliable and drive flaky tests down.
- Test the apps with real POS hardware: card terminals, receipt printers, barcode scanners and cash drawers. That includes failure cases like disconnects, timeouts, reconnects, cancelled payments and paper-out.
- Find ways to automate hardware-dependent flows (simulators, stubs, test modes) and know when a real device is still needed.
- Work closely with iOS and Android developers. Push for testability (e.g. accessibility identifiers), help write acceptance criteria and pair on hard-to-reproduce bugs.
- Own release verification for both apps and turn manual regression checklists into automated coverage.
- Write clear bug reports with logs, device details and exact steps to reproduce.
current automation framework & language: TypeScript & Webdriver.io
Tooling: Java based
What you need to be successful in this role:
- 3+ years of hands-on mobile test automation on native iOS and Android apps.
- Strong experience with Appium, ideally with WebdriverIO, including both the XCUITest and UiAutomator2 drivers.
- Solid TypeScript/JavaScript skills: you write clean, maintainable test code with page objects and shared helpers. Not recorded scripts.
- Solid CI/CD experience with GitHub Actions: you build and maintain workflows yourself, including runners, secrets, artifacts, reports and parameterised runs. You can work out why a run failed.
- Experience running tests on real-device clouds, ideally Sauce Labs.
- Practical experience testing apps that work with physical hardware over Bluetooth, USB or the network. Ideally POS hardware such as payment terminals, printers or scanners.
- Comfortable with Xcode, Android Studio, adb and device logs. You can dig into a problem before handing it over.
- An eye for edge cases and a habit of asking "what if this fails halfway?"
- Good English. German is a plus.
NICE TO HAVE
- Experience in payments, retail or restaurant POS, or other regulated domains (e.g. card-present payments, fiscal or TSE requirements in Germany/Austria)
- Test reporting and management tools: Allure, Jira Xray
- Enough Swift or Kotlin to read app code and suggest testability changes
What’s next?
- Does it sound exciting? - Apply with your CV in English. Please don’t shy away if you don’t meet all the requirements! We’re looking forward to meeting you.
- We will get back to you within 14 days of receiving your application.
- The interview process includes a 30-minute intro call with a TA Partner, a 60 minute call with the hiring manager, take home assignment and a 45-minute call with a peer team member. Please note the process might alter depending on our team’s availability.