“Quality” mindset I learned as a QA in the pharmaceutical industry which helps me as an Automation Engineer.
By trade, I like to identify myself as a QA Automation engineer. Nowadays, I help my clients and employers automate their quality assurance needs. This primarily involves understanding the business, product and the engineers that build it to create automation suites for End-to-End and Integration tests.
Quality is… !!
Emphasis on quality is like a spectrum in the technology. Some companies treat quality as the first class citizen of their product. For these ‘S’ class companies, quality is one of the required criteria for success. They often believe in “build fast, fail fast” thus automating and catching errors, bugs, feature failure is utmost important to them. Contrary to the bastardization of this popular line - ‘build fast, fail fast’ does not mean failing in production. It usually means failing as fast as possible during development and QA to catch the issues before it hits production and this is where automating End-to-End and Integration tests can give real power.
Then there are some companies which treat QA as something you at the very end to make sure something terrible is not broken. This often leads to a bunch of humans, working in complete or partial isolation, clicking away on your app or shiny website just days before release. This often leads to pissed off developers and frustrated product owners because poor QA associates are opening faux pa issues or they found something very critical which threw a wrench in the project timeline. This setup often leads to and is a result of siloed team structure and break down of communication between developers and QAs.
Eye of sauron
Perhaps I am not the first one to go on an insufferable rant about dysfunctional team structures but I am finding the tendency to treat “Quality as afterthought” or “something alien that someone elses do” very bizarre. This is because before I was commanding the army of Cypress test runners to test away my desired scenario, I was a Quality Assurance associate in the Pharma industry. In the Pharma industry, Quality is like one ring that rules all. It is the watchful eye of Sauron that is making sure you are not taking a wrong step. The medicine that you put in your mouth or the fancy cream that you rub on your skin has gone through very rigorous testing. Each and every step needs to be documented, reviewed and organized. Once or twice a year, the FDA may come knocking on your door to make sure everything is in line. Even a tiny change in the product requires rigorous reviews by Quality Assurance and Quality Control people.
Now granted that Pharma products are serious business and stakes are very high compared to your fancy dating app. I also acknowledge that even the Pharma industry is not perfect. I am not all expecting product owners to run around getting permission from QA engineers for every little change.
Build fast, fail fast… only by automating quality™
What I am trying to highlight is the mindset that is ingrained in you as a pharma QA. That the end user must get the highest quality product. That the end product not only should function as expected but should be highest quality. Building process around quality and making it a seamless cog in the production system is essential. As an automation engineer, I try to apply the same principle as well. I primarily try to build automation test suites, processes and ideally integrate it in CI/CD pipeline to provide continual feedback to developers, product owners and every that care about final outcome. As an automation engineer, my goal is not only to verify each and every scenario where things can can go wrong but also to dial up a notch and make sure the end result is the highest quality experience for the end user.