Test Management in Hepsiburada Market

İlhan Öztozlu
hepsiburadatech
Published in
6 min readJan 2, 2023

In this article, I will share how we manage our software testing process in the Hepsiburada Market software team.

As software quality engineers, we always work for the quality of the developed software. An audit is needed at all stages of the software development process(planning, development, testing, documentation, etc.) to build quality software.

Based on difficulties and experiences in our projects where we apply Agile project management, we made a 6 steps test management decision. We are successfully developing our projects in line with this decision.

Who are we?

Hepsiburada Market was established to meet your supermarket, water, and flower needs. It has agreements with thousands of merchants and this number is increasing day by day. Customers can order from anywhere in Turkey and the orders are advantageously delivered to customers with fast delivery.

The Hepsiburada Market software team consists of 3 primary teams Before Sales, After Sales, and Mobile. These primary teams are divided into micro units within themselves. At the micro units, there are microservice projects in which many different technologies are used.

If you look at the primary team's architecture,

  • Although each primary team is interdependent, they are free to determine the software development processes. For example; they have their own sprint plans, daily meetings, retrospective meetings, etc.
  • There are one Product Owner, one QA Engineer, and many different levels of developers on each primary team.

6 Steps Test Management Process

In this method, it is intertwined project management and the test process. So the testing process starts before the sprint starts and continues after the sprint is over.

We generally prefer the 6 Steps Test Management Process for projects where we apply Agile project management. In the “Who are we?” headline as it has been explained, each primary team can use their own preferred method. For example, we use this method in the listing unit of the Before Sales team.

This diagram illustrates what the test process looks like in project management.

Let’s explain the 6 steps of the above diagram step by step with an example. In the example; suppose that we receive a critical stock development request from the stakeholders to the listing unit of the Before Sales team.

1. Create a Backlog

We respect everyone’s opinion. For this reason, everyone on the team can add their record to the backlog.

We usually use the backlog in 2 ways.

  • Any person on the team who wants to contribute to the project creates the story (issue type) in Jira.
  • Any person on the team who finds fault in the project creates the bug (issue type) in Jira. If the bug is urgent, it is included in the current sprint. QA send notification through Slack.

✏️critical stock development example; A story is created in Jira for critical stock development requests from the stakeholders by PO. In the story, PO writes detailed information.

Benefits

✅ The development process is not interrupted unnecessarily.

✅ The sprint is not interrupted for non-urgent bug.

✅ Everything(bug, story, task etc.) is recorded in the backlog.

2. Backlog Analysis Meeting

Before the new sprint starts 3 working days ago, Backlog Analysis Meeting is held with the participation of the Manager, PO, and QA. Non-technical topics that are unrelated to the developer on the backlog are discussed at this meeting. In order of importance, tasks and bugs are added to the sprint plan.

At this meeting, tasks and bugs are evaluated according to the following criteria;

  • Manager → Evaluate management and financial criteria.
  • PO → Evaluate sprint planning and stakeholder criteria.
  • QA → Evaluate quality and workflow criteria.

✏️critical stock development example; It is shown below dialog between the Manager, PO, and QA at this meeting.🙂

The information received from the dialogs is recorded in the story at Jira.

Benefits

Brainstorming is done between the Manager, PO, and QA.

No unnecessary meetings. The development process is not interrupted with the developer not attending this meeting.

Non-technical topics that are unrelated to the developer are discussed.

3. Backlog Grooming Meeting

Before the new sprint starts 2 working days ago, Backlog Grooming Meeting is held with the participation of the Manager, PO, QA, and developers. Technical topics are discussed on items planned for the sprint at this meeting. Tasks that technical analysis(backend, frontend, database, security, etc.) is done are divided into sub-tasks.

✏️critical stock development example;

The information received from the dialogs is recorded and the sub-task is opened in the story at Jira by developers.

Benefits

Brainstorming is done between the Manager, PO, QA, and Developers.

✅ For technical topics are discussed, problems can be foreseen in advance.

✅ The BDD scenario document is started to be created.

4. Sprint Planning Meeting

On sprint start day, Sprint Planning Meeting is held with the participation of everyone on the team. The tasks are estimated as S, M, L, and XL with the Scrum Poker game.

✏️critical stock development example; When the task is estimated, it looks like the following at Jira. And the sprint is started.

Benefits

✅ While estimating the task, realistic estimates can be given through the BDD document.

5. Development

It is the biggest step of the test management process. PO, QA, and developers come together and agree on the BDD story document and shake hands. In this way is how development begins.

The BDD document can be updated while development continues. With this document, the developer completes the development and unit tests in a clear way. The developer moves the task to the done step on the Jira board and opens a test task for QA.

Responsibilities of the QA;

  • Test the test-sub-task manually.
  • If the bug is found, open a sub-task and assign it to the developer.
  • If the automation test is to be written, write the automation test with the help of the BDD document.
  • If necessary, execute the load test.

✏️critical stock development example;

Automation testing is also needed in this development. Automation was created using the BDD scenario document.

Benefits

✅ PO, QA, and developers are clearly understood the task through BDD Scenario Document.

✅ Developer and QA’s responsibilities are clear on the Jira board.

6. Deployment

It is completely QA’s responsibility for this step of the test management process.

Responsibilities of the QA;

  • Test, build, and deploy with Gitlab pipeline.
  • Control the prod-release process called Marcopolo of the Hepsiburada.
  • Monitor the process with monitoring software.

✏️critical stock development example;

Benefits

✅ All prod-release is documented on the Gitlab pipeline.

✅ All process is monitored continually with monitoring software(newrelic, kibana, slack alert, etc.).

Summary

In this article, I showed examples of the 6-step test management that we use in most of our applications. With this method, the testing process covers all steps of project management. We have seen that this method has many contributions to us, such as a clear project life cycle and the successful completion of the sprint.

Thanks for Reading!

--

--