Steps to fulfill the challenge:
git@github.com:XavierVal/qaiabdtech-challenge2023.git
All task resolutions must be uploaded to a Git repository. Public or private. Add a readme file describing the configuration environment and the basics of the test. These tasks should take less than three hours of work, you can take as much time as you need. Intelligent prioritisation is another goal for these tasks.
We are going to use an open REST/API based on the famous TV show Rick & Morty: https://rickandmortyapi.com/
https://rickandmortyapi.com/api
With three main resources
{"characters":"https://rickandmortyapi.com/api/character",
"locations":"https://rickandmortyapi.com/api/location",
"episodes":"https://rickandmortyapi.com/api/episode"}
Implement a piece of code that allow users to interact with the API in a simple way. The functionality requested is: Given a "Character Name" it returns info about the character, location and the "episode/s" where is present
Example:
>>> Function input:
Character: "Pickle Rick"
<<< Response should contain the following info return:
- Character info -> "species": "unknown", "type": "Pickle", "name_lenght": 11
- Location/s info -> "name": "Earth (Replacement Dimension)", "type": "Planet", "dimension": "Replacement Dimension","population" 230
- Episode/s info -> "episode_name": "Pickle Rick", "episode_id": "S03E03", "characters_count": 15
Take the data you need from the response, there are cases where the data returned more than the needed and other cases where is needed some basic math to solve it.
Feel free to select the output format that fits better for the outputs under your understanding. This is a real example of the expected output for that input.
- Write a test plan for the API Rest data. Test cases must be self-descriptive.
- If necessary, note down any descriptions or clarifications.
- The organisation and format of the test plan are at your discretion.
- Be careful not to overemphasise the importance of prioritising tests!
- The prioritisation of tests is important.
- Develop simple test cases using any tool/framework of your choice.
- The objective is to test simple function and its integration with the endpoints, i.e. ensure the basic correctness of the REST API.
- What kind of improvements you would make to ensure the quality of the SuT, which testing phases you would and would not do and why.
- If you can use any automation framework to do this which one will you select and why.
- Task 2 and Task 3. Once completed, you can expand them as you see fit: new data, new tests, new data, new tests, non-functional specifications, security, CICD, framework improvements, etc. ...... There is a lot to do.
Remember. It is not necessary to test everything. Focus on the main functionality that you are testing/developing and how to archive it.
There are always new tests to design and develop, so we recommend that you work on the design of the initial test plan during the development of Tasks 2 and 3.
I hope the code is clear and straightforward! Good luck.