Challenge Overview
Challenge Objectives
-
Refactor the way we group the test cases in our framework.
Project Background
In this series of challenges, we’re creating an E2E testing framework that will help us test different applications within the Topcoder platform.
Currently, we target the Connect app.
Technology Stack
-
Node.js
-
Selenium
-
Webdriver.io
-
AWS S3
-
CircleCI
Code access
Repo: https://github.com/appirio-tech/qa-framework-js
Branch: develop
You will find a self-registration link on the challenge forum in case you don’t have access to the repository.
If you’re not already in our Github organization, the first time you’ll use the link it’ll send you an invitation to the organization. Then you’ll have to use the link again to get an invitation to the team so you can access the repo.
Individual requirements
For this challenge, we target the following pages:
-
Landing
-
Login
-
Registration
-
Forgot password
For each page, you need to:
-
Create a folder with the name of the page inside the /test/specs folder. Use CamelCase for multiple words.
-
Split the test cases from the /test/specs-legacy into 4 types (create a separate file for each type inside the page folder):
-
GUI & Navigation
-
Field Validation
-
Positive E2E
-
Negative E2E
-
-
The test scenarios (types) should be executed in the same order as in the list above.
-
We should move to the next scenario only if the previous scenario pass the tests. For example, if there’s any failed test case in the Field Validation scenario, we should not run the E2E (positive/negative) test cases.
-
Maintain a spreadsheet (preferably Google Sheet) with the details of each test case. You will find a link to the Google Sheets for the targeted pages. You will need to update the spreadsheets if anything is missing.
-
Copy the existing test cases to the correct folder/file or create new (test cases) ones if needed.
Important Notes
-
Some pages may not have all 4 types of testing scenarios. For example, the Landing page only has GUI & Navigation test cases.
-
We’re trying to clean up and refactor the framework and we don’t need to execute the test cases from the /test/specs-legacy folder.
-
Note that the tests will run on CircleCI and not locally.
What To Submit
Submit a zip file with:
-
A git patch for the latest commit in the develop branch. Make sure to mention the exact commit you used so the reviewers can apply your patch.
-
The updated spreadsheets. If you submit a link to your Google Drive folder containing the spreadsheets. The reviewers will verify timestamps of the files and if there was any change after the end of the submission phase, your submission will be treated as you didn’t provide those files.
Should you have any doubt, feel free to ask in the challenge forum!