robinpowered / sdet-interview-challenge

Tasks for prospective SDETs to complete during the interview process.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Robin SET Interview Challenge

Welcome!

Here you will find a set testing assignments to perform when interviewing with Robin. These tasks represent testing scenarios similar to what you can expect to encounter while working at Robin.

We do not expect you to spend more than two hours total on these challenges.

Getting Started

Pre-requisites

Once node is installed clone this repository. Please ensure all work is done on a new feature branch:

git checkout -b robin-challenge-solutions
npm install

Challenges

There are two challenges to be completed. First, you will write some typical REST API tests. After that, you will write some ideas about more nefarious tests that could/should be considered.

Challenge 1: REST API Testing

For this challenge you will be writing some tests against the Open Brewery DB REST API. This API is publically available and has no authentication requirements.

Javascript and JEST tests are preferred, however other languages and frameworks may be used instead. If you use another technology, please include instructions on how to run the tests along with with your submission.

This project is wired up to run JEST tests with either of the following commands:

npm test             # Runs all tests one time
npm run test:watch   # Runs tests any time the files are modified. 

exclamation point DO NOT write or execute any tests that could be considered nefarious or DoS attempts!!! This API is not owned or operated by Robin and we wish to do no harm.

You should spend 60-90 minutes writing positive and negative tests against the API. It would be preferred to go deep against a single endpoint (like list) than to have shallow coverage for all four endpoints.

Your tests should be written under test/openbrewerydb and should pass consistently.

Challenge 2: Your Darker Side

Now that you have written some standard REST API tests, put on your evil hat. For this challenge we want you to write a list of test scenarios (as text, not executable test cases), which WOULD be construed as nefarious and/or DoS attempts! What evil things would you do to ensure the robustness and security of this API.

Your test cases should be added to Challenge2-TestCases.md Again, this is a text list of scenarios and NOT something that you should be executing. We wish to cause no harm to the API.

You should spend ~30 minutes on this task.

Preparing and submitting the challenge

Please submit your response via email in the form of a git patch. Please check to make sure all your changes are committed before generating the patch file. Once generated you can attach the patch file and email it back to the person who sent you the challenge. The patch file can be generated by running the following command.

git format-patch master --stdout > <yourname>-solutions.patch

We look forward to seeing your solutions!

About

Tasks for prospective SDETs to complete during the interview process.


Languages

Language:JavaScript 100.0%