The Different Types of Testing on Trendyol iOS App

Hazel Turan İnel
Trendyol Tech
Published in
5 min readMay 24, 2021

“Within A Short Span Of 30 To 60 Minutes, You Can In Effect Test And Bring Out The Most Impactful Of Bugs Ailing A Piece Of Code.”

Did you know that 218 billion apps were downloaded worldwide in 2020? However, the user retention rate for mobile apps stood at 32%. If these numbers are anything to go by, they clearly indicate that while it may be tough to get your app downloaded, it’s tougher to engage and retain users and make them return to your app.
Therefore, the deciding factor in this scenario could definitely be your app’s user experience. How do we ensure that every element, page and feature of the mobile app achieves a compelling experience? One way to get there is by harnessing the power of experiment; And that’s where mobile app testing comes in.

You can also check out my post on the complexities and challenges of mobile app testing.

In order to find a solution to this confusion, we include different types of tests within the iOS team.

  • Unit Testing
  • Smoke Testing
  • UI Testing ( You can also take a look at the article where Atakan talked about the UI testing process in the Trendyol iOS application.)
  • Regression Testing

What is Unit Testing?

Unit Testing is the software testing technique where a group of software program components or modules are tested individually. Since it is practiced at the initial testing phase, this testing technique assures to identify and fix the bugs at the early stage of SDLC even before they become expensive for the enterprises to fix when identified at a later stage.

Unit test is written for every task done. If the unit test of any module is missing, it is prioritized in the sprint and taken as a task. These tasks are collected in epics and followed.

What is Smoke Testing?

“In A Lot Of Cases, You Are Doing Smoke Testing — You Just Don’t Address It By That Name.”

Smoke Testing is a software testing technique performed post software build to verify that the critical functionalities of software are working fine. It is executed before any detailed functional or regression tests are executed. The main purpose of smoke testing is to reject a software application with defects so that QA team does not waste time testing broken software application.

In Smoke Testing, the test cases chose to cover the most important functionality or component of the system. The objective is not to perform exhaustive testing, but to verify that the critical functionalities of the system are working fine.
For Example, a typical smoke test would be; verify that the application launches successfully, check that the UI is responsive … etc.

When a smoke test is to be written for any page, the task opens in the sprint. These tasks are collected and tracked in an epic.

Smoke Testing by Automation

Instead of having repeated test manually whenever the new software build is deployed, recorded smoke test cases are executed against the build. It verifies whether the major functionalities still operates properly. If the test fails, then they can correct the build and redeploy the build immediately. By this, we can save time and ensure a quality build to the QA environment.

Smoke Testing Cycle

Below flow chart shows how Smoke Testing is executed. Once the build is deployed in QA and, smoke tests are passed we proceed for functional testing. If the smoke test fails, we exit testing until the issue in the build is fixed.

What is Regression Testing?

Regression testing is the verification of “bug fixes or any changes in the requirement” and making sure they are not affecting other functionalities of the application. Regression testing is effective on automation and usually performed after some modifications have been made in the software build after requirement changes or bug fixes.

We run our regression scenarios in the release times Confluence and follow the regression bugs through a common task we opened in JIRA.

What is the difference between ‘Smoke Test’ and ‘Regression Test’?

Smoke tests are quick and rapid tests to accept or reject a structure and confirm that it is a stable structure for use in the later test process. Regression testing is not entirely responsible for accepting or rejecting a software build for further testing procedures. The smoke test is a subset of the regression test.

Smoke Test Example
Consider the Trendyol application, in these Smoke Tests examples, the person who tests it will make sure that its functions such as login, changing password, creating new membership are working properly.

Regression Test Example
Taking the same example above, the Regression Test examples allow us to test not only the core functions running the Trendyol application, but also more complex use cases such as favorites, collections, wallet transactions.

Conclusion
While developing or testing a mobile application, we may encounter many different difficulties. I wanted to share how we reduced these difficulties as much as possible using different testing techniques.

Thanks for reading 👩🏻‍💻 , see you in the next post 🖐🏼

--

--

Hazel Turan İnel
Trendyol Tech

Senior Software Developer in Test at Trendyol BSc. Computer Engineering at Istanbul University https://www.linkedin.com/in/hazelturan