[TOC]
Our QA certification process has been designed to help you to, from start to finish, develop an automation solution for a real application.
- The focus is on developing/showing your skills for REAL solutions, not completing toy problems.
The app is not perfect, nor is it used in production currently, but it is true to something you might be testing against in the industry.
Important This was developed for internal use at STG. We're happy to share, but it's not going to be perfect for your use. ALSO, it was written for Bitbucket's readme markdown processing... Github's is better, but the end result is a bit clunky.
We offer both Automation and Advanced Automation certifications for the following. Note, several are in "beta" and are not as well supported.
- C# and Webdriver (beta)
- Java and Webdriver
- JavaScript and Webdriver
- Python and Webdriver
- Cypress.io (a JS tool, beta)
- Fork the stg-qa-app repository, and clone it to your computer.
- Get the test application running on your machine.
- Follow the instructions for the basic or advanced certification.
- See the task specific docs for some FAQs about each, as well as links to tutorials/documentation that will be helpful for each language.
Ask if you have questions!!!
Fork and clone the stg-qa-app repository.
Set up your BitBucket account for Git authentication. There are two methods you can choose from when using a Google Account for Atlassian.
- Install Docker
- Download Docker Desktop
- Login or Register a user on Docker Hub
- Make sure to login using the CLI:
docker login
- Install Node / NPM (Optional)
- Download node.js
- If not installing, you'll need to use the manual
docker
commands provided.
- Open a terminal to the project's root directory.
- Launch the
Docker Desktop
application - Open a terminal to the project's root directory.
- Start Server:
npm run docker-up
- To run without NPM:
docker compose -f src/main/docker/app.yml pull
docker compose -f src/main/docker/app.yml up -d
- To run without NPM:
- Open Browswer: localhost:8080
- View the server logs:
npm run docker-log
ordocker compose -f src/main/docker/app.yml logs
- To tail the server logs:
npm run docker-tail
ordocker compose -f src/main/docker/app.yml logs -f
- Stop the Server, in a terminal:
npm run docker-stop
- Stop without NPM:
docker compose -f src/main/docker/app.yml stop
- Stop without NPM:
- Remove the application and database containers, including all data, in a terminal:
npm run docker-down
- Remove without NPM:
docker compose -f src/main/docker/app.yml down
- Remove without NPM:
The application will take up a good amount of processing power on your machine - shutting it down when not working on the certification is a good idea.
Using the
npm run docker-down
ordocker compose -f src/main/docker/app.yml down
command(s) will remove all data from the database. To restore the default data, start the application with theup
commands.
This is used at STG for the following certifications, based on the language/framework you use to complete the Automation Engineer steps:
- C#/Webdriver Automation Certification
- Java/Webdriver Automation Certification
- JS/Webdriver Automation Certification
- Python/Webdriver Automation Certification
- Cypress.io Automation Certification
Note: Each of the following steps has a general set of instructions and acceptance criteria, and then a link to language/framework specific instructions if you would like more guidance for your work.
JavaScript, Python, C#, and Cypress.io currently have language/framework specific instructions, Java is still pending.
Ask if you have any questions, or if anything is unclear.
The Steps
- Step 1 - Task: Initialize Framework
- Step 2 - Story: Home Page
- Step 3 - Story: Log In as User
- Step 4 - Story: Log In as Admin
- Step 5 - Task: Page Objects and other Models
- Step 6 - Story: Viewing/Editing Person Records
- Step 7 - Story: Adding/Removing Movie Records
- Step 8 - Story: Searching Movies
- Step 9 - Task: Pull Request
Remember to save your work often - commit and push your code to your repository regularly.
This is used at STG for the following certifications, based on the language/framework you use to complete the Advanced Automation Engineer steps:
- C#/Webdriver Advanced Automation Certification
- Java/Webdriver Advanced Automation Certification
- JS/Webdriver Advanced Automation Certification
- Python/Webdriver Advanced Automation Certification
- Cypress.io Advanced Automation Certification
Pre-requisites:
- You must have completed the Automation Engineer certification for the same language
- OR have specific permission on skipping ahead from a member of QA Leadership.
- You are expected to have a deeper understanding and more experience than the Automation Engineer certification requires.
- You should have your code ready from the Automation Engineer certification to build on going forward.
Note: Each step for the Advanced Automation Engineer certification has a set of instructions and acceptance criteria, but does not have language/framework specific instructions.
Feel free to come to us with questions, but know that you are expected to either already understand the process, or be able to do much of your own research for this level of certification.
Ask if you have any questions, or if anything is unclear.
The Steps
- Step 1 - Task: Cleaner Tests Using APIs
- Step 2 - Task: Reading and Writing Files
- Step 3 - Task: Reporting
- Step 4 - Task: Cross-Environment Testing
- Step 5 - Task: CI/CD Pipeline Testing
- Step 6 - Task: Submission for Code Review