Super App Test Challenges Part 2

Feyza Dayan
Trendyol Tech
Published in
5 min readSep 20, 2022
Photo by József Szabó

“Hardest tests in life is the patience to wait for the right moment.” — Buddha

In my previous article, I explained some of the challenges we encountered while testing Trendyol mobile app, how we handled these problems, and our solutions. If you want to look at more details on the subject, you can check the “Super App Test Challenges Part 1” in my previous article below.

Let’s continue with tackling below challenges.

Logged in logged out users differences
Populating the sub-apps contents correctly
Deeplink interaction between sub-apps
Regression process

Logged in logged out users differences

In applications that contain too many sub-app, the features showed to the logged in user are different from the features showed to the logged out user. For example, a logged in user can access My Account Information page, while a logged out user cannot access this page.

The situation that can be a challenge in the super app test;

  • Do we want the logged in user to stay logged in when they switches to another sub-app?
  • After logged in, do we want to show the same information in other sub-app? For example, does my account information page have the same information in each sub-app?
  • Do we want to offer the same campaigns?
  • Do we want them to benefit from the same discount coupons?
Logged in and logged out user

To cope with all these difficulties;

  • We write different test cases for logged in and logged out users.
  • In our planning meetings, we proceed by asking the question whether our users will see different pages.
  • After the developments are completed, we run our happy path tests separately for logged in users and logged out users.

Populating the sub-apps contents correctly

Users can make different preferences between sub-apps. They may want to turn off their notifications or they may want to see them separately. They may want to separate discount coupons, they may want to categorize their orders etc..

As a solution, we are trying to expand the impressions within the app according to user requests. We use filters for our users’ orders, discount coupons, notifications.. As seen in the figure above, as on My Orders page “Trendyol | Market | Yemek | İkinci El” or as on My DiscountCoupons page “Tümü | Yemek”. For example, when the user switches to the market section, market orders should come. Right?

For the accuracy of all this, we expand our test cases. For example, is the content empty or full? Does the user see the meal coupon when s/he clicks on the meal section in the discount coupons? Does the user have an order on all sub-apps? For all these dependencies, in our regression tests, we test whether the sub-app contents are populate correctly or not.

Deeplink interaction between sub-apps

Another challenge is deeplink interaction within different sub-apps. For example, we may want to send notifications to our users in sub-app X. Sub-app X can be Trendyol Market app, sub-app Y can be Trendyol Meal app let’s say. We wouldn’t want to inform our users of the wrong notification. Right?

In order to prevent this situation;

  • We run all our deeplink tests separately for all our sub-apps.
  • We are updating our deeplink document for all sub-apps.
  • We create test scenarios separately.
  • We run negative tests. During our tests, we send pushes to our users who use the other sup-app so that we make sure that the if user clicks push, did he/she is directed to the right sub-app.

Regression process

We run the issues developed in 8 different domains and our regression over a single RC package. Example: 5.8.1-RC. The bugs found are opened to the relevant boards. Regression tests continue until the bugs are fixed.

Since we work on different boards, regression tests on one board may not finish on the other board. In this case;

  • We are trying to do retrospective meeting.
  • We write separate regression sets for each board.
  • Every board is trying to write a Regression UI Test.
  • We are trying to develop our communication muscles.

For more information about Regression Testing, you can refer to my previous article below.

Conclusion

With this and my previous article, I have explained the challenges in the super app test with 9 items. Of course, there are many more challenges than the following items while testing the super app. But it gives you a good idea of how challenging the super app test can be — but also educational and fun.

  • Routing between channels
  • Dependency between channels
  • Common components used in channels
  • Memory management
  • Common data between channels
  • Logged in logged out users differences
  • Populating the sub-apps contents correctly
  • Deeplink interaction between sub-apps
  • Regression process

Thank you for your time. I look forward to all your comments and suggestions about the article. Please do not hesitate about any questions or suggestions. 🌟

--

--

Feyza Dayan
Trendyol Tech

Sr. Developer in Test at Trendyol International @Berlin, MBA, BSc. Computer Engineering https://www.linkedin.com/in/feyzadayan/