Hi! I am Amir Ghahrai, the founder and creator of DevQA.io - a site built with the goal of helping testers through their journey in becoming a technical tester.
For over 10 years, I blogged on testingexcellence.com which was mainly focused on software testing topics.
As the role of the QA has now vastly changed from what it was back then, I decided to continue my blogging journey in a new domain (devqa.io) which resonates better with the aim and the goal of the site.
You can also contact me if you have any questions.
I started my career as a Java programmer in early 2000 and then switched to software testing in 2004.
I have been fortunate enough to have worked through the different software development models (from Waterfall to DevSecOps) and have seen how the role of a QA has changed in each transition.
I have seen how the role of a QA has always been on the firing line and how QAs are perceived as 3rd class citizens in the world of software development and delivery.
In the waterfall and V-model days - fear of getting blamed for any defects leaked to production.
In the agile days - fear of losing job for not being technical enough and not being able to write automated tests.
In the DevOps methodology - fear of losing their trade. The industry is striving for 100% automation, automated deployments, automated testing, automated everything.
If developers are better and faster coders why we need QAs (who can’t code) after all?
As if this is not enough, we QAs now have AI and Machine Learning to worry about. Perhaps one day in the near future the algorithms become so intelligent and powerful enough that they can design and code the tests for us.
In any case, testers always feel overwhelmed by the myriads of “things” they have to learn.
Purpose of DevQA.io
Nowadays, testing is not just about functional verification of a software or a web application.
If we care about delivering high quality software, as QAs we have to constantly be thinking about:
- Baking quality in from the start
- Fundamentals of testing
- How we deliver software
- Agile and DevOps practices
- Cloud technologies
- Continuous Integration / Delivery
And as a minimum, we have to know
- Java, Python
- API, REST, HTTP
As can be seen, contrary to the belief that testers are just there to test and find bugs, there are a whole lot of other things that software testers are involved - or should be involved with.
Importance of QA
The industry needs to realize that the role of a QA is fundamental to the development and delivery of good quality software.
But in order for the industry to recognize our values, we QAs have to step up. We have to adapt to the new ways of working and the industry’s demands.
We have to understand that our roles are more than just testing an application. Testing is just a small part of a bigger encompassing Quality Assurance practice.
I believe that our role is to ensure that everyone does their essential bit in delivering high quality software to the end users. But we can only do that if we have enough knowledge of a wide range of technologies and methodologies.
We cannot just turn a blind eye on the underlying technologies that build an application. If we really want to test something end-to-end, we have to know how the system is built.
We don’t have to be expert at everything. But we do have to have the foundational skills and technical knowledge in order to be able to direct our teams through best practices in software development.
Hence, the purpose of DevQA.io - a site built with the goal of helping testers through their journey in becoming a technical tester.