Automated testing improves the service quality to keep trekkers safe. Implementing MagicPod has strengthened the collaboration between development and QA.
YAMAP INC.
In the 20th edition of our user interviews, we had the opportunity to speak with representatives from YAMAP INC., alongside Mr. Ito, CEO of MagicPod. We discussed various topics, including specific use cases and the decisive factors for choosing MagicPod.
YAMAP INC.
YAMAP INC. develops trekking and outdoor-related services centered around the community of its "YAMAP" app, the No. 1 app for trekkers in Japan. Embracing the "YAMAP Well Being Life Journey," which aims to enhance the well-being of both people and the environment through a lifestyle that alternates between daily life and trekking, YAMAP designs user-centric services and experiences that are available both online and offline.
KEY POINTS
- Before implementation, manual testing was a burden to development engineers.
- MagicPod’s extensive commands made it possible to achieve desired tasks.
- Smooth implementation enabled automation of about 60% of high-priority tests.
- Retrospective meetings strengthened collaboration between development and QA.
Mr. Miyamoto (hereafter referred to as Miyamoto): I joined YAMAP about five years ago and have been working as an iOS engineer. YAMAP has about 40 people in the development team, including QA, and the "YAMAP" trekking app is developed by three teams of five to six people each. I led the implementation of MagicPod, so I can share the situation at that time.
Ms. Takamura (hereafter referred to as Takamura): I worked as a system engineer for about ten years at my previous job before joining YAMAP as a QA engineer. Although QA functions existed before, it became an official QA team when Hashimoto joined. I’ve been involved with MagicPod since its implementation and continue to use it for testing new features as they are released.
Mr. Hashimoto (hereafter referred to as Hashimoto): I was also a QA engineer in my previous job, and I joined YAMAP in 2022. I conduct pre-release testing of the "YAMAP" app, test new features, and add test cases to MagicPod.
Journey to Implementing MagicPod
Miyamoto: Before implementing MagicPod, development engineers manually conducted pre-release tests weekly, and QA would test post-release. As the scope of testing expanded, it consumed more of the developers' time, and regression also became a challenge.
Takamura: At that time, we only had one person in QA, so while we would check new features during development, we weren’t able to do conduct overall pre-release testing.
Miyamoto: We wanted to automate at least the main tests but had limited time, so we looked for a service that could easily automate E2E testing. This was around 2022.
Initially, the tool we considered wasn't MagicPod. It was another tool that had just started supporting mobile apps. We tried it because the timing seemed right, but it was quite unstable right after its release. This led us to look for other services, and that's when we discovered MagicPod.
Decisive Factor in Choosing MagicPod
Miyamoto: It was important to choose a tool that would be user-friendly, so we carefully considered Takamura's opinions.
Takamura: The main decisive factor for choosing MagicPod was its ability to test the app screen dynamically. Being able to scroll down to check each element is essential. For example, on the home screen of "YAMAP", which has about four sections, we verify if the correct content is being displayed and if transitions are functioning correctly when swiped. Quantifying how much to swipe is difficult, but MagicPod can swipe to the element, which is very helpful.
Miyamoto: Another deciding factor was the ability for non-engineers to create test cases. With MagicPod's extensive test commands, including conditional branching, variables, shared steps, and wait functions, we could flexibly control the test flow.
Takamura: The feature that automatically detects and suggests corrections when screen elements change was also appealing in terms of maintenance costs.
Miyamoto: Initially, Takamura and I led the selection process, but gradually, other interested engineers, including a frontend engineer, joined in.
The three of us agreed that MagicPod is lightweight and stress-free, has fast element detection, and is stable, and after deliberating the pros, cons, and costs with the CTO, we ultimately decided to implement it.
Utilization of MagicPod
Miyamoto: Currently, we perform automated testing for all our products deployed on iOS, Android, and web browsers. For iOS and Android, we build the app using CircleCI and upload it to MagicPod for testing.
Takamura: QA is responsible for creating test cases and verifying test results. Checking the test results that arrive on Slack every morning is part of our QA routine.
If we discover defects or have questions, we share them with the engineering team. We also designate an engineer from each team to be in the Slack channel, so they sometimes notice issues beforehand and reach out.
Occasionally, there are false detections by MagicPod, causing test failures. In such cases, we seek advice from MagicPod support on how to address them. The responses are quick, and the detailed advice, like command suggestions, is very helpful.
Ito: Was the implementation of MagicPod smooth?
Takamura: Initially, we started by automating the test items used for regression testing. We created test cases in consultation with the engineering team, and we have currently automated about 60% of the high-priority test cases. There are still some that haven't been implemented yet, and we plan to add more.
Miyamoto: Having tried another tool before allowed us to compare which one was easier to use. I think the implementation of MagicPod went smoothly.
Hashimoto: I joined after MagicPod was implemented, and I was amazed that it could be used without writing any code. The manual is easy to understand and visually intuitive, so I was able to learn it with minimal effort. It's great that it enables anyone to perform automation.
Ito: Thank you! Are there any MagicPod features that you frequently use at YAMAP?
Takamura: MagicPod's ability to conduct tests using location information is very helpful.
Ito: Originally, you could set the location and start the test, but there was no feature to change the location during the test. I remember that we added the command after receiving a request from Mr. Miyamoto, saying, "If we can't change the position during the test, we can't test the core feature."
Miyamoto: Yes, I requested it at that time. Thank you so much for adding it.
Ito: At first, it was intended for YAMAP, but now other clients also find it valuable for testing apps that use location information.
Takamura: We're also pleased with the extensive commands available in MagicPod. It can also call Web APIs, allowing us to create flexible test scenarios by setting dynamic values.
Miyamoto: YAMAP has a feature called "Mimamori", which allows users to share their location with family members in case of an emergency. Location checks are done via the web, with the app regularly sending location information.
So, we call the app's API from the web to fetch location information, plot it on a map, and verify it. Initially, I thought it was impossible, but then considered the possibilities. I explored while reading MagicPod's documentation, and I was able to achieve it.
The collaboration between the QA team and the developers to achieve the tests has been extremely helpful. Transitioning to automation has allowed us to focus more time on testing critical functions.
MagicPod as a Catalyst for Development and QA Collaboration
Ito: Do you hold regular retrospective meetings?
Miyamoto: At the time of implementation, we focused on eliminating blockers like "this prevents progress" and quickly getting familiar with the system, so we held retrospective meetings every one to two weeks. As things stabilized, we shifted to monthly meetings.
QA, along with iOS and Android engineers, participate in the meetings to share information and consult with each other, and we follow the framework "What we did, What we learned, What to do next." Thanks to everyone's hard work despite their busy schedules, the implementation was successful.
Takamura: It's not just about MagicPod. The discussions also provide an opportunity to learn how verifications are conducted during development. Such opportunities were rare before, so I think it’s time well spent.
Ito: Many companies struggle with the collaboration between development and QA, but it seems YAMAP has built a strong bond.
Takamura: It also allows us to request things QA alone cannot achieve, such as adding accessibility IDs when elements cannot be detected, and to easily ask questions like, "What should we do in this case?"
Ito: Just like the "Mimamori" feature mentioned earlier, it seems the sense of quality among engineers is very high, given that it’s a service that impacts users' lives.
Miyamoto: That's right. I'm grateful with the engineers at YAMAP and their strong commitment to quality. They actively participate in the retrospective meetings with a focus on quality.
I believe that the implementation of MagicPod was the catalyst. Before that, we never had regular meetings where development and QA could come together. MagicPod created a platform for connecting development and QA, and I’m glad that we implemented it.
In Conclusion
Miyamoto: If QA members can create UI and E2E tests without relying on engineers, the engineers can allocate more time in developing new services and features. Honestly, I was initially skeptical about the no-code concept, but after using it, I became convinced that MagicPod was capable.
Previously, we were only conducting unit tests for internal processes, but thanks to MagicPod, we now have an environment capable of executing E2E tests. With YAMAP having many passionate users, it's crucial to respond quickly. The assurance that MagicPod is running daily and can detect regressions in advance is helpful.
Takamura: The extensive commands in MagicPod is very appealing, making it highly feasible to create any test case. Using it, I often notice design improvements that make it more user-friendly, such as indenting conditional branches, which I like as MagicPod refines the small details. Additionally, being able to run tests overnight on both new and old OS versions simultaneously provides significant assurance.
Hashimoto: I don't have development experience and can't write code, yet I was able to automate E2E testing, and it's amazing that no-code makes it possible. At my previous job, the QA team lacked development experience and was hesitant about automation. I thought, "If only we had discovered MagicPod back then." For teams out there worried about automation, I highly recommend MagicPod.
YAMAP INC.
- YAMAP Website:https://yamap.com/
- Corporate Website:https://corporate.yamap.co.jp/
- Recruitment Information:https://corporate.yamap.co.jp/recruit