Development Guidelines
Test automation is software development. There is no second thought to it. Like software development, we need to follow good design principles and best practices during the development lifecycle of the test automation suite.
In the era of CI/CD and DevOps, there are numerous guidelines, best practices for coding and software design principles that have proven to work in different environments and application complexity.
In this document, we pick a subset of the best practices, industry standards and guidelines that can be applied to our test automation development.
We strongly believe that the below guardrails, principles, standards and practices can be applied in our environment so that we can achieve our goal of providing early feedback to the developers via continuous testing of RHCS.
Guardrails
The below guardrails help us to navigate through the difficult and testing times. It also guides in selecting the best approach.
Readability
Simplicity
Modular
Re-usability
Design Principles
With time, it becomes increasingly essential to follow good design principles that can help us throughout the software development lifecycle. Applying SOLID principles during our development helps in developing a better test automation suite. It is a set of five principles and they are
Single Responsibility Principle
Open/Closed Principle
Liskov Substitution Principle
Interface Segregation Principle
Dependency Inversion Principle
A good reference is available here.