Esra Cebeci
Trendyol Tech
Published in
3 min readJan 4, 2024

--

How Do We Manage UI Tests in Sprint?

Photo by David Travis on Unsplash

As the iOS team, we write 3 types of UI tests. If you ask what these are; snapshot, smoke and regression tests. So what exactly are these tests? Let’s talk about these a little bit.

Snapshot Tests, Snapshot tests are tests that check whether something is broken in the UI.

First, it saves the required image of the view somewhere, then when the test is run, the newly produced image is compared pixel by pixel with the one in this record. If there is a change, the test fails.

Snapshot Testing

Smoke Tests, It is done to check the main functions of a product after its deployment to any environment (test, production, etc.).

Regression Tests, Regression testing is used to control changes made to the live code. These changes may be a new function, bug fix or performance improvement.

Regression testing is usually performed when changes are in their final stages and before the new version of the software is released. The primary purpose of regression testing is to check that critical areas of the application are still working as expected.

So how do we include UI tests in sprints?

First, we do an analysis for UI tests. Within the scope of this analysis, we analyze the following questions and then open the tasks to the backlog.

Which tests have been written?

Which tests need to be written?

Which tests have priority?

UI Test Documentation

Afterwards, we include the tasks opened in the backlog into the sprints in order of priority. The duration of the sprints is 1 week. Not only the QA team but also the developers take and write UI test tasks. We advance UI testing processes as a team.

Photo by Hannah Busing on Unsplash

How do we keep track of the tests written?

We track the written tests with automation level metric. With this level metric, we can track the level of our automation tests. We can track the automation of bugs noticed during the regression process with the Uncovered RC Bugs label. Likewise, we track the bugs found by the automation with the Bugs Without label. Again, with the level metric, we can see and track information such as the number of snapshots written and the percentage of regression tests written.

Automation Level Metrics

The written UI tests run regularly in all opened MRs. All snapshot and regression tests are also run daily every morning. We regularly open maintenance tasks for failing tests. Within the scope of this task, we examine the tests and take the necessary actions.

In addition, we are waiting for the Smoke tests to be successful so that the opened MRs can be merged. If there is a test that fails in the smoke tests, the owner of the MR checks the tests.

At the End of the Day, Our Automation Goal as a Team
Reduce manual testing effort
Having automated all our bugs
Writing more effective tests, covering edge cases
Writing tests that will run stably and generate minimum maintenance costs
Having written smoke & snapshot & regression tests of all pages

Co-author: Mahir Berk Canan

Join Us

Take your career to new heights by becoming a part of our dynamic team at Trendyol. Join us, make a difference as a member of our iOS team, and contribute to our success.

--

--