DEV Community

Suresh Ayyanna
Suresh Ayyanna

Posted on

Best Practices For Writing Automation Test Code

  1. Follow OOPs Concepts Wherever Possible
    • Abstraction(base classes),
    • Inheritance(multiple implementation of same things/multiple inheritance),
    • Polymorphism(many forms with something different)
    • Data Hiding(hide unnecessary/sensitive info),
    • Encapsulation(Bind small entities into a single large entity)
    • Follow Programming Language Guidelines (class name, Method name, package name, variable names)
  2. Reduce code duplicity (think before writing new code)

    • can I use/make change in existing code?
    • Increase code reusability
    • Make your code generic wherever possible
    • Leave no hardcoded data in source code
    • Keep your static data outside the source code
    • Keep your dynamic data dynamic in test code (fetch it from util files)
    • Test your code properly, use IDE options such as call hierarchy or show usage to test your changes E2E
    • Use Extensive logging- everything which is part of source code should be analysed from logs without looking at the source code
    • Generate and save failure proofs outside the src code- videos/data/screenshots/logs
  3. Focus on making your code scalable and faster without
    compromising the code quality

  4. Your code should be platform and system independent

  5. Use as many assertions as possible focus on automated testing
    rather than automation

  6. Leave no hardcoded data in source code

  7. Always think for the future, separate out tech dependencies so
    that migration to new tech is easy in case it is needed

  8. Keep your tests independent for better results in
    multithreading unless they are related (example publisher subscriber related tests)

  9. Use Proper Documentation (Using comments wherever required)

  10. Create code which is can be easily read and modified by others(Important)

Discussion (0)