QA Pro Final Task Description

Introduction

Hello and welcome to the final task of the QA Pro programme!

This document describes the task itself, shares the data required to complete the task and links to the templates to be used for results sharing.

Table of contents

Preconditions

The final task

Two steps to complete your task.

Time frame

Expected results of the task

A system to be tested

Features & Functionality

API Endpoints

API: Create User

API: Delete user

Task related document templates

Bugs report template

Test cases template

Test Plan template

Using these documents

Scope of this task

In the scope

Out of the scope

Data to be requested/shared separately

Preconditions

To complete this task you need to have a Gmail (Google) account to use Google Documents and a github account to share the code of your automated tests. You also need to have Intellij IDEA Community Edition (or another IDE) installed to develop and run automated tests.


The final task

Two steps to complete your task.

Step1

You will have a link to the system to be tested, and have the task to:

  • Overview the features and the system;
  • exploratory test it;
  • decompose existing requirements and make mindmap for checklist
  • create manual test cases:
  • at least one for each reported issue,
  • at least on to use an API call,
  • some amount to have:
  • either one feature/module with good coverage,
  • or each feature/module covered by at least one test case;
  • discover and report issues;
  • automate some of the created manual test cases:
  • at least two based on reported issues (regression tests);
  • at least one to use API and UI verifications together;
  • at least one E2E test scenario for smoke testing.

Mindmap, test cases and bug report should be in your project in qase.io.

Instructions for working with qase.io: Final task instructions for Qase.io

Step 2

After you complete Step 1 and report that, you’ll get a link to a new version of an application that is reported as to be fixed for some of the previously found issues. You will need to verify that issues you’ve found are really fixed. Use your bug report, manual test cases and automated test cases to verify that.

After you complete the Step 2, include a list of verified issues to your report in a text format:

[Fixed OR Still reproducible] [Bug_ID] [Bug Title]

After you submit the results of Step 2, the Final Task is considered to be completed.

Time frame

You’ll have 24 assisted academic hours to complete the task, 6 lessons of 2 academic hours each, twice a week. You may spend as much time as you want on the task between classes.

Expected results of the task

  1. Mindmap

Mind Map should have basic functionality description and checklist.

  1. Test cases

        Requirements for test cases have been described in Step 1.

  1. Test run

Test run in qase.io  for all test cases for manual testing with the statuses of testing.

  1. Bug reports

Bug reports with description of all found bugs.

  1. Link to the automated tests code on github
    You need to create a new project for the test automation, use Page object pattern to write test cases. You may use either Selenium or Selenide in your project. You’ll also need to commit a file with test results of the test run that includes all developed test cases, and some documentation/comments to describe how to run the tests.
  2. List of issues reported on Step 1 as well as List of issues re-tested on Step 2.


A system to be tested

Features & Functionality

Meet a new student portal of the NOCODE UNIVERSITY!

A Student Portal is a centralised platform designed to help students manage their academic lives. This portal provides students with a single access point to various academic resources and information, such as course lists, course documents, students and teacher information.

Features and use cases:

  • Course management: Students can view their course information, syllabus all in one place
  • Student & Teacher directories: Students and Teachers can find profiles for anyone at their institution, including contact information and ‘about me’ sections designed to encourage each other to connect
  • New users can register with a sign up form choosing their role: a student or a teacher. They should use their personal emails on a free email domain such as Gmail, Outlook, Protonmail, Yahoo and similar services.
  • If the password is lost or forgotten – there’s a form to reset it.
  • Both teachers and students are able to update their existing profiles with new details or photos
  • Professor spotlight available to registered and non-registered users shows all available teachers at a campus with their contact info and courses they teach
  • Student directory is an easy way to search for students, and it’s available for both teachers and students
  • Both students and teachers have profile pages available to anyone else to get more information about them and could be accessed from Students or Teachers directories
  • Teachers are able to add and describe new courses available to students
  • Course list directory allows to search for all available courses at the university, and to view course details with the list of professors who teach the course
  • Document sharing: Teachers can upload and share course materials, such as readings, lectures, and other relevant information. Students can download those documents to accomplish some reading and course preparation
  • For the purposes of the Student Portal overview for external users there are two demo accounts: roxanne@example.com as a teacher, malik@example.com as a student, with a password set up to 123456 for both accounts.


API Endpoints

 

The system provides an option to use an API to work with it. You have two actions to be accessed via API.

Replace highlighted text with the data you’ll obtain before (e.g. API key) and during (e.g. user data) test creation.

API: Create User

This endpoint allows creating a user inside the specified Softr app within your account. Below is an example of an API call.

Important: If you create user(s) in your test run ensure to delete them after running your tests.

curl --request POST 'https://studio-api.softr.io/v1/api/users' \

--header 'Softr-Api-Key: YGskr7MqMeRYrjQjsB8uEQ8n' \

--header 'Softr-Domain: your.domain.com' \

--header 'Content-Type: application/json' \

--data-raw '{

  "full_name": "John Richardson",

  "email": "johnr@gmail.com",

  "password": "12345678",

  "generate_magic_link":false

}’

Output examples

On error:

Status: 401 Unauthorized


{"code":"UNAUTHORIZED","message":"There is no application with this subDomain ","instance":null,"status":null,"title":null,"type":null,"source":null}

On success:

Status: 200 OK

{"full_name":"John Richardson","email":"johnr@gmail.com","magic_link":null,"created":"2023-02-25 13:22:16","updated":"2023-02-25 13:22:16"}

API: Delete user

Using this endpoint, you can delete a user from the specified. Below is an example of an API call.

curl --location --request DELETE 'https://studio-api.softr.io/v1/api/users/johnr@gmail.com' \

-header 'Softr-Api-Key: YSskw7MqMeRUgjQtsf9uRQ5n' \

-header 'Softr-Domain: your.domain.com'

Output examples

On error:
Status: 404 Not found

{"code":"Not Found","message":"User with email: johnr@gmail.com not found","instance":null,"status":null,"title":null,"type":null,"source":null}

On success:

Status 200 OK

Scope of this task

In the scope

Functionality and features of the application described in the “System to be tested” section of this document.

API endpoints to create and delete users.

Creation of new Test Cases.

Reporting of bugs in features described in the “System to be tested” section of this document.

Out of the scope

Load and performance of the application.

3rd party tools and services.

Bugs in other features not described in the “System to be tested” section of this document.

Other API endpoints.

Data to be requested/shared separately

  • URL of the initial version of the application to be tested
  • API Key for API calls
  • URL and details of the fixed version of the application