HERE Technologies
HERE Technologies Innovation & Technology Culture
HERE Technologies Employee Perspectives
Describe a project you’re especially eager to tackle in the new year.
As a senior engineering manager, I am responsible for HERE WeGo engineering: HERE WeGo mobile apps, the HERE WeGo website and our app back-end services. A constant challenge when working on complex software is quality assurance. Automated tests help to ensure things keep working. We have many different kinds of automated tests: unit tests, component tests and end-to-end tests. This year, WeGo and the HERE SDK QA teams have automated a large portion of our smoke and regression test suite that our QA team used to execute manually.
What technologies and/or practices is your team leveraging to tackle this project?
HERE WeGo is mostly written in Flutter with some native code for Android and iOS. Most of our tests are written in Flutter as well using our own custom framework using flutter_driver. These tests are maintained by the app developers. End-to-end tests are maintained by the QA team instead and are written in Appium. Appium is the industry standard for mobile end-to-end testing, so it is easy to pick up and integrate with other tools like Cucumber. Our test engineers further use GitHub Copilot to speed up test development and integration with other systems.
How does this project tie into larger company goals?
We see HERE WeGo as a guardian of the quality of the HERE tech stack. Our testing ensures quality not just for HERE WeGo itself but also our enablers and services — HERE SDK, HERE location services, offline maps and more. Of course, all teams do their own testing as well, but we put it all together in a real-world consumer application. This gives us an end-to-end view on all our products. With our end-to-end test suite, we can provide early feedback to our enablers and find defects much earlier, which in turn prevents shipping these defects to our customers.
How Wickert’s Team is Enhancing End-to-End Testing
- “Now that we’ve laid the groundwork, I am super excited to bring our end-to-end testing to the next level.
- “More visual tests: Ensure the expected map features and overlay UI are correctly rendered.
- “Better integration into team processes: End-to-end tests give early feedback, but handling failed tests is still very manual. A QA engineer looks at the failure, manually reproduces and creates tickets and more. Much of the work can and should be automated.”
- “Explore how AI can help with the above: We already use GitHub Copilot to support test case development. We already employ OpenCV for visual testing, but we only scratched the surface.”
