I just did an online course in Software Testing (Udacity CS258) and I'd like to practice my skills. Can you recommend open source software that's serious about testing, has a great community and preferably some documentation to get started with testing contributions?
Use below site for test automation practice:
Most trending automation tool in the job market is selenium, you can get started using below link:
Most companies use java, and even c# have high demand
There are also emerging tools like cypress, webdriverio, etc but are not popular from a career perspective.
The tools mentioned above is just for UI testing. But SDLC is not just about UI testing, it includes all levels and types of testing. The tools for each type of testing is discussed in the below answer:
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.
Test case management system project. They have on boarding for newcomers and are also quite organised about QA aspect of development.