Why are full stack QEs needed?
With the adoption of Agile development and DevOps culture, a story/feature is not complete without testing, and rather than being reactive by looking for bugs after development, full-stack QEs will focus on proactively looking for defects throughout the planning, design and development stages. When full-stack QEs work within a developer’s technical stack (as in the example, working within the JS stack as the developer), they can be Agile, prevent bugs, and increase engineering productivity. Full-stack QEs treat testing as defect prevention than defect detection.
Reference: http://syscolabs.lk/blog/
Who is a Full Stack Quality Engineer (a.k.a Test Engineer)?
A Full Stack Quality Engineers (a.k.a. Testers) is the opposite of a traditional black box tester. In contrary, a Full Stack Tester, creates business value by giving fast feedback loops on all layers of a technical process. Full Stack Testers can provide the information about the software quality faster by automating the testing activities of each layer. They are adaptive, collaborative, responsive and culturally fit in as an agile team member.
Full Stack QEs are professionals, or “nerds”, with knowledge of operating systems, databases, web servers, server side codes, browsers and client side code. These skills and flexibility allow the tester to deliver quickly and efficient.
Full Stack Testers also go deeper and specialize in automated testing with usage of different tools e.g. Tosca, Selenium, more examples. Therefore, a base knowledge in programming languages like Java is very normal within this chapter.
Their focus is on building quality in the software rather. They gave priority to Defect Prevention over Defect detection.
How to become a Full Stack Tester:
- Continuous Learning – Reading, Conferences, Sharing
- Continuous Practicing – Practice new techniques
- Continuous improvement – retrospect your practices, process being followed at set intervals and Seek for better solutions.
REMEMBER: Being technical is not enough. Understanding the need for Continuous Delivery, Continuous Integration, Continuous Testing, Its about using the right skills at right time. Technical skills can be gained easily, but change in mindset and ownership are the difficult things to adopt.
In upcoming posts, we will learn in detail about – Skills required for Full Stack Quality Engineer and How to become a Full Stack Quality Engineer.
References:
https://www.valori.nl
https://www.slideshare.net/kmstechnology/
https://www.slideshare.net/NalinGoonawardana/
[Tip] “Building Quality In” – Automation points to consider in while you prepare for the test strategy.
Building quality in means writing automated tests at multiple levels (unit, component, and acceptance) and running them as part of the deployment pipeline, which is triggered every time a change is made to your application, its configuration, or the environment and software stack that it runs on. Manual testing is also an essential part of building quality in: Showcases, usability testing, and exploratory testing need to be done continuously throughout the project.
[Reference: Continuous Delivery: Reliable Software Releases.. – Humble, Jez. ]
While preparing the Test Strategy for any feature, consider the following points from automation perspective:
- The automation approach for each layer – Unit, Integration, Regression etc.
- Technical Debt (Automation Maintenance / Debt)
- Running automated tests after each commit
- Running automated tests as a part of deployment pipeline