/Tntp.QAExercise

Hiring exercise for a new QA Test Engineer

Primary LanguageJava

TNTP QA Test Engineer Exercise

You've been selected as a candidate for the QA Test Engineer position at TNTP. Great! This project is intended to see how you work when producing a test for an actual application.

You'll be tasked with taking the instructions in this project (including a user story, Behavior-Driven-Design scenarios, and some helpful pointers), and providing automated tests. We'll then review your submission for completeness, best practices, and accuracy in terms of testing the requirements.

The project: Produce test cases, with accompanying automated test(s) logic, covering the user stories and scenarios in this document. Your test(s) should be able to arrange the necessary conditions to execute the test, perform the test, and positively assert that the expected outcome was met. You'll be testing against one of our applications (Argus), and should have received credentials in a separate communication.

Let's get started!

Story

As an observer,
I would like to be able to submit an observation for a participant,
So that I may be able to provide meaningful feedback about that participant's performance in the classroom
As an observer,
I would like to be able to view my submitted observations
So that I can ensure that those observations have been recorded accurately
As an observer,
I would like to be able to recall an observation from the "Submitted" status, to the "Saved" status
So that I may make corrections to the previously submitted observation

Scenarios

Given an an observer who wants to record an observation for a participant
When that observer selects a rubric to measure the participant against
Then that observer should be presented with a blank observation form based on that rubric
Given an an observer who inputs complete data and valid for an observation
When that observer submits the observation
Then the user should be informed that the observation was submitted successfully
And that user should be able to view the observation in their list of observations
Given an an observer who inputs incomplete data for an observation
When that observer attempts to submit the observation
Then the user should be informed that the observation is incomplete submitted successfully
And the user should be able to identify incomplete/invalid observation fields
Given an an observer who has submitted an observation that they wish to correct
When that observer recalls the observation
Then that observer should receive a message indicating that the observation has been recalled
And that observer should be able to edit that observation

Technical Restrictions

  • Write the tests using a browser automation framework (e.g. Selenium)
  • Include a test plan that clearly indicates the steps you took to verify that the features work as defined by the requirements above.

Instructions

Feel free to reach out at any time to your contact at TNTP with any questions. Good luck!