Early testing through test automation (3 min read)
Husny Jeffrey
Senior Test Developer @ Grab | Ensuring Quality of Million-Dollar Features
Early testing through test automation taught few good lessons to our team.
Recently our team developed a microservice which is exposing 4 endpoints for the consumers.
As the tester in the team, I have automated 100 plus test cases related to these endpoints by covering 100% of testing.
Also, we have a Jenkins job which is pulling the latest automation code from GitHub and running on nightly basis. Then the results are being sent to the relevant parties (Test Manager, Test Lead, Automation Engineer etc..) through an email.
Regarding this case I received an email stating that the service (microservice) is UNSTABLE.
Root cause for this was a failing of a test case even though there were no changes done to the automation suite.
Later, I was informed that there was code change done by the Dev team which was not communicated to me.
The change was that, an attribute was removed from the response. Because of this minor change the test case “verify all the attributes in the response” was failing.
This use case taught us few good lessons.
- Before doing any change to the microservice, it should be properly communicated to the team members (i.e. The tester) who will be impacted due to this change. (Even though we have been practicing this, we have missed it this time. Hereafter we need to make sure not to miss this)
- API automation suite must be running with every Dev commits and code should not be merged to the remote repository if any test cases are failing. (We have started working on this)
What if we don’t have a proper automation suite? What could happen to our consumers? What is the impact? If not for the automation suite we might not be able to discover these minor issues in the early stage and it can be a root cause for application downtime to our consumers.
However, we have notified this issue early. Therefore, we have done the needful without impacting consumers.
This lesson has taught us to do more automation to get early and frequent feedback on the applications we are developing.
Husny Jiffry
Senior Quality Engineer - Sysco LABS, Sri Lanka
Very brilliant article covering a lot of aspects.
Talks about Containers, Kubernetes, Cloud, Linux and Open Source in General
7 年Can’t agree more that it's quite important to cover as many negative cases as possible. This will help overcome production embarrassments.
Director Quality Engineering at Social Catfish
7 年Well done buddy....keep up the good work and keep on track....