September 2011 , I started as a Systems Engineer with Infosys , a Decade later today I am with Priceline working as a SDET.
Working in the test automation space for 10 years , across multiple organisations and projects with different background made me jot down the below points which serve as guiding force me everyday , I have listed them below so that all of us can benefit from it.
1 Independent Test :
The most important criteria I believe in , all test are independent of each other , they do not touch , interact or have no dependency on other test cases.At start this looks as a burden but in future when the test automation suite grows then this is the saviour for you.
2 Clear and Concise Reporting :
There is no point in running test automation if you cannot report it well. The report should be precise it should be well documented and explain what was tested, which environment was used , how many test cases passed , how many failed. For failure ensure you are reporting the point of failure the expected and actual output.
If you can add graphics , screenshots, logs that is well appreciated !
3 Distribute you Test :
There is a reason that we have test pyramid and we need all should follow it, every application comes with layer and we need to ensure that the test are distributed across all the layers. This results in faster feedback and better control for test execution. The general layer can be Unit , API and then E2E , we can further subdivide them as needed.
4 Clear Test Cases :
Each test case should be clear and pin point what it’s going to do. The less the number of validations the better is the resultant test case for future maintenance.There is no point in adding random stuff in test cases which will be difficult to figure out down the line. In a ideal world the test name should describe what its doing and it should do what it describe no surprises when you look under the code !
5 Automation That adds Value :
The most important , when you are automating think about ROI not short term but about long term. Automation should ease you job and not complicate it right :)
And the most important , Automation is a TEAM effort , involve your developers , your product owner , involve everyone , each of team member should understand what we are doing, why we are doing it and the role it will play towards the success of the project in the long term , we do it as a Team !