Published Oct 2019. This information may be outdated by the time you read it
Just like there is a full stack developer, what is a full stack Quality Engineer ?
My personal thoughts
I believe many (Quality Engineer) QE have varieties of different skillsets such as below.
The important components for Full Stack QE are manual testing , SQA processes and know-hows of using tools / technology. The Full Stacker may not be proficient in all tools , but the QE in person is always curious , yearning to learning, humble, collaborative and yet willing to share the knowledge in the community.
Note : Below are some of the tools QE needs to be equipped. These does not mean the QEs need to know everything below — It is not feasible. It depends on your career goals and current situation. The list is also not comprehensive. Usage of tools are not the same as knowledge. This list does not consider other platforms such as IoT , Desktop and Embedded too.
Typical tasks for Full Stack QE
- Identify tests cases and break it down / categorise it (example smoke , sanity or regression)
- Gather business requirements , break it down into test plans , cases and other documents. Validate and clarify requirements with stakeholders
- Develop, enhance and maintain automation framework that covers end to end (backend , database , front end)
- Add , maintain scripts to test cases in automation suites
- Develop internal tools (testing)
- Integrating automation to pipelines — implement and maintain the systems which are automated, scalable and integrated to support Build/Deploy (CI/CD)
- Eliminate any bottlenecks in CI/CD
- Manual testing that is not exclusive only to exploratory , api , security, performance or database
- Risk assessment and monitoring of defects and features — in production or testing environment or public channels
- Participation in forums or beta with customers. Involve in focus group or customer meet ups (pertaining to services and products issues)
- Prepare evaluation (or test reports) reports to team
- Log defects and flag critical or showstopper on that day to team
- Process owner (or contributor or adviser) in quality assurance process , playing a critical role in keeping an eye ball that no lapse in process or requirements, and collaborate / sharing with the team on this
- Keeping an audit trail (if organisations have certain audit requirements) , such as documentations for tracking and conforming. Update them with stakeholders
- Research on new tools , technologies and methodology continuously
The above tasks are just some common work in schedule daily , again it may differ from what you are doing greatly
Manual Testing (Mandatory)
- Exploratory / Regression / Security / System / Integration / Load / Performance / API
SQA Processes (Understand most of it)
- Management of defect tracking
- Understanding of Agile / Waterfall / Lean / Hybrid methodology
- SQA Management plan
- Engineering Techniques
- Execute Technical Reviews
- Managing Multi-Testing Strategy
- Enforcing Processes Adherence
- Change Management
- Risk Management
- Maintaining Records and Reports (Test Plan / Test Cases / Defect records)
Tools that a QE may be using any time
Languages scripting for automation (Any one language or more )
- Java
- Python
- Javascript
- Ruby
- C#
- Bash
- C++
Front End Web Development (Basic — HTML and CSS are important)
- HTML
- CSS
- Javascript
- ReactJS
- Angular
- Vue
Front End Mobile Development (Basic — may or may not be important)
- Swift (iOS)
- Kotlin / Java (Android)
- ReactNative
- Flutter
- Xamarin
Back End Development (Good to have)
- Restful API
- Soap
- GraphQL
Database (Mandatory)
- SQL
- NoSQL
Versioning Control (Mandatory to know either git or svn)
- Git
- SVN
- Mercurial
- TFS
- IBM Rational Clearcase
- VSS
Cloud (Good to know one of them)
- Azure
- AWS
- Google Cloud
Cloud Testing Services (Flexible in using some of them)
- Browser Stack
- AWS Device Farm
- Firebase Testlab
- Sauce Labs
- Experitest
- Kobiton
Front End Tool For Web (Knows some but must know Selenium)
- Selenium or other selenium based variants (example Robot Framework)
- Katalon Studio
- UFT
- TestComplete
- SoapUI
- Ranorex
- Tricentis Tosa
- Sikuli
- Protractor
- Puppeteer
- Webdrive IO
- Nightwatch
- Cypress
Front End Automation Tool For Mobile (Appium is most common)
- Appium
- Kobiton
- Robotium
- Calabash
- MonkeyTalk
- XCUITest
- Expresso
- Selendroid
API Tool (Good to have if you are planning testing API)
- Postman
- Rest-Assured
- JMeter
- Katalon Studio
- Triscentis Tosca
- Apigee
- Karate DSL
Unit Testing Management (Mandatory in your language)
- JUnit
- TestNG
- Unnitest (python)
- Mocha/Chai
- Jasmine
- Jest
Proxy Tools
- Fiddler
- Burpsuite
- Charles Proxy
- JMeter
Performance / Load Testing tool (Know some — I recommend JMeter)
- WebLOAD
- LoadNinja
- SmartMeter.io
- LoadView
- LoadUI NG Pro
- Apache JMeter
- LoadRunner
- Appvance
- NeoLoad
- LoadComplete
- WAPT
- Loadster
- LoadImpact
- Rational Performance Tester
- Testing Anywhere
- Gatling
Security Testing Tools (Not necessary if you are not doing security testing)
- Metasploit
- Nmap
- Wireshark
- Burpsuite
- SonarQube
- Zed Attack Proxy (ZAP)
- Netsparker
- w3af
- Nessus
- John The Ripper
- Sqlmap
- Canvas
CI / CD / Build (Mandatory to know one at least)
- Jenkins
- Bamboo
- Travis CI
- TeamCity
- Apache Maven
- Gradle
- Codeship
- Circleci
Test Management Tools
- Swagger (api documentation)
- Zephyr
- Test Rail
- Test Link
- Confluence
- Xray
- Test Collab
- qTest
Virtualization / Containers (Optional)
- Dockers
- VMWare Enterprise
- Parallels
- Oracle VirtualBox
Operating Platform
- Windows
- Linux
- OS X