Is it really possible to be a Full-Stack QA & if yes then list the technical skills required?
Everyone needs an all-rounder whether it is a software developer or Tester these days. Hence we are hearing the term “Full Stack QA” these days so my question is what skill-set makes a Full Stack QA & if we include all the QA skill in one person, Would it be overload to the person which may affect the product quality?
Like developer who masters each layer of an application and technologies all the way from the back-end to the front-end, is called a full-stack developer. In the same way, Is it really feasible for to master all QA practices like Manual, Automation, Security, Performance...etc all the way from the back-end to the front-end for an application for a single person?
irl last edited by
A full stack QA engineer should be skilled in testing Web apps, APIs, performance, Databases, and Mobile.
The common skills that are in-demand are:
Selenium(Java or C#): For web app
API Testing: Postman
DBtesting : DBUnit , Database Benchmark
Mobile: Testcomplete, Appium
These are not listed out from blue, but from the job descriptions that are available in LinkedIn for 3+ year experienced QA roles, especially in the Europe and US regions.
Security testing is not yet considered in the full stack QA role, but it won't be long for adapting that too.
Other key skills or knowledge that are in demand as part of QA are:
Knowledge on CI/CD: Jenkins
Source code management: Git
Architectural style: Microservices
Virtualization: Containers (Docker) and Kubernetes,
Test Approaches: TDD, KDD (RobotFramework) and BDD (cucumber)
Test Methodologies: Agile (Scrum and Kanban) and DevOps, DevSecOps also is emerging
(I hardly came across job descriptions demanding VMsphere in Europe for QA)
Does it over-load the person and affect the quality?
I am not sure about it, because it is a personal choice, some engineers like to specialize and others like to expand their knowledge on many domains and don't prefer sticking to one tool.
Tools change, and only hiring people who are skilled in the specific tools might result in missing out talented resources. Best practice would be to interview for competency (behavioral based interview) and train them as per organizational needs.