One of the mistakes teams regularly make in growing their automation capabilities is in focusing only on the immediate functional testing aspects of it. And while historically, that’s made a lot of sense as this where the majority of manual effort in testing was involved and the major catalyst for automation development, the truth is we need to have a more holistic approach in mind.
Just as software quality goes beyond the realms of functional testing and including everything from your requirements, process, documentation, security, performance – and even to the root to of it all, the code. So, should the testing of all these aspects be brought into your automation framework. After all, if you want to be in a position to reduce your time to market while still ensuring your product meets quality and benchmark standards – then you need to automate it.
Chasing the automation of your test coverage will not resolve the bottlenecks and quality issues you are likely to find in these other areas, which is why it is so important to invest effort in automating them. So, when you are building your automation framework and your daily integration test system, ensure that you cover these aspects in your final solution.
Yes, certain areas of specializations like Performance and Security might require environments and systems that make bringing this into your daily integration builds a challenge, but that doesn’t mean that it should be ignored and teams should work at automating this and bench-marking against these criteria on a daily basis.
And lastly, your reporting and dashboarding of your automation efforts need to encapsulate the entirety of your solution – not just the testing of your code. When code is changed daily, what requirements were impacted by this code change and have they still being met. What documentation, process requirements or defects are linked to the different components of your system and how do you ensure everything is properly maintained. Our reporting needs to capture this big picture to allow teams to effectively make quality decisions. It sounds like impossible goals, but it’s all needed if we are to take our quality seriously while still ensuring we are capable of delivering to production regularly.