Targeting the layers – Test automation strategy paradigm



Why is test automation strategy so important?

My experience has shown that software teams can have different automation strategies, while others may have no strategy at all. It is a good idea to have an automation strategy in place for your software development team. A test automation strategy will help testers work more effectively together.
Richard Bradshaw's automation strategy was a great example of this. To make the information more widely available, I decided to post it as a blog entry.

The test pyramid is a great test automation strategy.

Mike Cohn introduced the test pyramid, describing how different teams have been performing the test automation in the software industry. The test pyramid was not intended to be used for test automation. Companies and teams have started to use the test pyramid as an automated strategy. This is wrong.

It is crucial to testability

All testing efforts must be based on testability. Teams can easily test the software to determine if it can be automated and maintained.

We should not only improve the team's testability, but also address the following:

  • Team- A whole team skills matrix for contributing to test automation.
  • Stakeholders This is to help stakeholders understand the process and ask the team to automate their test. You can help them more if you have a better understanding of their needs.
  • Projects Most often, the new coworkers and the new projects will find themselves in a position where they decide the new tools and frameworks without actually learning about the project. It is not good for anyone.
  • Product Not knowing the product and trying automate the testing. This is bad news for testers as they get and experience a poor experience. This is detrimental to projects and companies.
  • Technology- As the app is web-based, software teams should automate all tests with Selenium. React, a tool that automates at the UI layer, but also allows you to run meaningful automated tests in deeper or target layers, is now available.
  • Infrastructure Software teams release software in just 10 minutes. If the team is able to deliver at such a rapid pace, do they have access to a new environment or pipeline? The tester can create a new environment, and then set up the pipeline to test the results. This will allow the tester to keep pace with the pace. Are there silos in the team or can new members get to the pace of delivery?

Recommend a test automation strategy to your team

https://automationintesting.online/

Context: Restful Booker is built using the React framework. He is explaining how to approach and test a login form. This focuses on automating the test at the targeted layer.

Understanding how a web app works (refer to the diagram above)

  • UI layer - The page will be loaded by the application
  • - JavaScript Layer- React will create the component
  • UI layer – The user fills in the login details.
  • – JavaScript layer- Fill in the details and you will receive an API request.
  • API layer The API has sent JSON
  • - APP code- The JSON will transmit it to the App code in order to verify the credentials.
  • - DB Layer- Although the application does not use any DB, it is recommended that the test verify whether the record is in DB.
  • – APP layer – After accepting your credentials,
  • – API layer – The request sends the token back to the API.
  • - The layer checks that the token is valid and then allows the user to access the room page.
  • - UI Layer - The user sees the area.

What can testers do to implement automated tests?

We now have a better understanding of the system.

  • Would you recommend that testers validate their credentials at the UI layer to be valid? Because the system goes four layers below to verify the same, I don't think so.
  • Is the tester interested in testing which API is correct? Are they able to identify the API? How do they use it? And how can they verify that the data is correct?
  • Do you want the tester to verify that the application renders correctly? They can probably do this in the React layer or the visual testing tool.

We are trying to find the lowest risk layer and automate the test there so that it is easier, faster, and more reliable. Targeted tests, for example, can help you understand situations where API returns 200 and the UI is broken. The right person can be approached by a tester in a group.

Breaking the Myth

This strategy requires that a tester continues to learn about the application as it is constantly improving. Because the application is still in development, there will always be gaps in knowledge when implementing automated tests. To ensure that automated tests are at the target layer, developers and testers must work together. This is why no team can automate 100% of their tests.

Conclusion

I'd like to close with "continuous Learning is a Must". The team must learn together in order to create an automated test that is meaningful for the project.


Comments

Popular posts from this blog

What's new with Nightwatch v2?

Cross Browser Visual Testing on Real Mobile Devices