The QA samurai's path:

from user stories to automated tests.

Insight for: QA-engineers, Project Managers

developer-code-css-html-js-it.

Highlights

The Samurai philosophy can be applied to automated test development, as automation should not be the goal but a means to achieve high product quality and meet user needs.

The samurai code states that "a samurai has no goal, only a path." This means that following a designated path with strict adherence to rules will lead to goal achievement.

"Tests for the sake of tests" is a disastrous situation caused by positioning automated tests as the main goal.

Automation is one of the checkpoints on a QA samurai’s path. And this path should be guided by standards and best practices, which can be considered as artifacts.

Artifact: User Story

Evidence

The user's needs and expectations (in the broadest sense of the word) are the starting point of the path. It is meaningless to move forward until this "location" is thoroughly explored.

Here, it is important to find answers to the most complex existential questions: "Who am I? What do I want? Why is this necessary?". A deep analysis, philosophy, and contemplation of meaning. Pure East!

The main treasures that one must take from the starting point of the journey are formulated as follows: As a [description of user], I want [functionality] so that [benefit].

QA image

Example:

As a user, I want to be able to register on the website to access additional features.

As a user, I want to be able to reset my password so that I don't lose access to my account.

As a user, I want to be able to leave a review about a product to help other users make the right choice.

Artifact: Use Case

Enthusiastic

If the first point is important to capture desires without asking how to achieve them, the second "location" will solve practical issues.

What exactly needs to be done to get what you want, and how the system should respond to these steps?

And, as we all know, there are always several ways to achieve what you want. It is important to record all options, each of which must be presented in the form of clear sequential steps and reactions to them.

Example: New User Registration

  • The user opens the registration page on the website
  • The user fills in the registration form fields (name, surname, email, password)
  • The system checks the correctness of the entered data
  • The system sends an email to the specified email address to confirm registration
  • The user clicks on the link in the email and activates their account

Artifact: Prioritized List of Use Cases

Evidence

The further the journey, the heavier the burden. It is extremely important here to carefully consider and indicate which Use Cases will bring greater benefits, and which are more backup. Example: 

Feature:

Registration

QA image

User Story:

As a user, I want to be able to register on the website to access additional features.

Use Case

Prio 1: e-mail registration
Prio 1: via Facebook
Prio 1: via phone number
Prio 2: Twitter
Prio 2: LinkedIn.

Artifact: Test Case

Enthusiastic

Now that it is crystal clear what we are fighting for, it's time to enter the real battle. Numerous Test Cases are deployed under the leadership of a QA samurai to defend each Use Case, which includes both positive and negative scenarios. Everything is aimed at ensuring that the requirements are met. Example: 

User Story:

As a user, I want to be able to register on the website to access additional features.

Feature:

Registration

Use Case:

Email registration

Test case : Registration with correct data

  • Open the web browser and navigate to the registration page of the website.
  • Enter the personal information in the required fields (name, date of birth, address).
  • Enter a valid email address in the email field.
  • Create a strong password and enter it in the password field.
  • Confirm the password by entering it again in the confirm password field.
  • Click on the "Register" button.
  • Check the email inbox for a verification email from the website.
  • Click on the verification link in the email to complete the registration process.

Test case : Checking mandatory fields during registration
Test case : Checking password confirmation

Artifact: Prioritized List of Test Cases

Evidence

The development process is relentless, and resources are always strictly limited. It is necessary to build a strong defense to hold the line. Prioritizing Test Cases allows us to distribute efforts, accurately identifying what needs to be tested and automated first.

User Story:

As a user, I want to be able to register on the website to access additional features.

Feature:

Registration

Use Case:

Email registration

Prio 1 / Test case 1: Registration with correct data (Autotest)

Prio 2 / Test case 2: Checking mandatory fields during registration (Manual)

Prio 1 / Test case 3: Checking password confirmation (Manual)

Artifact: Autotest

Enthusiastic

The concept of "inevitable goal achievement" finally gets its embodiment in an Autotest.

Obviously, product testing is a continuous process, and our QA samurai must always be ready for new challenges. They will have to return to familiar artifacts, analyze them, and make changes if needed. But the traveled path will allow us to confidently state that the value is indisputable, the way to achieve it is evident, the control method is correct, and automation (and resources spent on it) is justified.
We keep our finger on the pulse, and we do it automatically!

QA image

Article Authors

Vladimir Dmitriev
Vladimir Dmitriev Head of QA Unit
Strategic thinker with strong communication and leadership skills. Skilled in driving and implementing initiatives to increase the effectiveness of the QA team.

Need automated tests?

Let's start with a complimentary consultation!