You are on page 1of 4

Total Marks: 50

Pass Mark: 38

You have just joined Vitality bringing your wealth of automation experience into the space.

Vitality has built a global platform with a set of capabilities that can be configured differently for
different clients across the world.

 There are currently 20 clients that are using the platform.

Some clients host the platform in their own dedicated cloud environment while other clients may share
an environment in order to reduce costs.

Every environment only has a single version of the common code base and this means that when
deployments are done we need to be sure that we do not break any of the clients in that environment.

There are multiple product teams that continuously make improvement and add new capabilities to the
platform.

They have their own dedicated set of environments (Dev, Test and QA) where they deploy and test
these changes via a CI/CD pipeline.

Once the changes have been signed off in the product QA environment they can be pulled into the client
environments when the clients are ready to do so.

Each client environment consists of a UAT environment and a Production environment.

Each client also has their own development team used to configure the platform to their specific
requirements.

The system is designed in such a way that these configurable elements are completely isolated per client
– this means that client A cannot access client B’s configuration and cannot break client B by making
changes to client A’s configuration.  

The platform consists of a microservice backend, an integration layer, multiple web portals (member
portal, service portal, configuration portal) as well as a mobile app built for iOS and Android.

An example capability provided by the platform is a Rewards Mechanism. The mechanism is cash/game.
For example, Clients answer quizzes and if they get the right score they earn a reward. The questions
presented to the client and how the reward is presented depends on a market configuration. One
Market may opt for simply presenting the cash reward to the client on completion, and another may
offer the client a game of chance to play for a reward, and another may offer the client a choice of either
cash or a game of chance.

You are asked to design an automation framework for their Application, with this feature in mind.

1. How would you test the application at a Platform level? Give an example of a Test Case (5pt)
2. Given a market chooses Gameplay, How would you test a Market configuration? Are there cases
for reuse? Give an example of test cases (5pt)
3. What are your considerations for your automation framework and why? (5pt)
4. Given that the market team has limited test automation resources, how would you design your
framework to ensure minimal work from the Market testing team to use and configure your
framework? (5pt)

Given the pages below

Login Page properties: username id = “username”, Password field id = “password”, login button id =
“login”. Assume website address is Jiravitalityservicing.com

Successful Login
Address - Jiravitalityservicing.com/projects
Browse projects label id = “browse”
5. Write automation code to test the successful and unsuccessful login for the above using a
language of your choice. [20]
- Syntax does not need to be 100% but must show an understanding of core concepts and basic
syntax
- All custom class definitions and methods and variables must be shown
- Reusability is key

6. You have been conducting a quality review for your Script.


You have discovered that it has not been updated for three years.
The TAS functions properly and provides good coverage of the SUT; however, you want to
ensure that it is working as efficiently as possible. [3]
What step should you consider in order to increase efficiency of the script?
A. Ensure consistent naming standards for new automation code
B. Make changes to the TAS in rapid succession to keep pace with leading edge practices
C. Ensure the latest libraries are incorporated into the script
D. Enlist a third party vendor to evaluate the current script

7. Up until now you have provided automated testing for a stable SUT. Because of changing
business demands, the SUT will be updated to include several new features and plug-ins that
communicate via APIs. In what way should you update the script? [3]
A. Improve script recovery to make it more fault-tolerant when API calls fail
B. Update the documentation for the script including its support for APIs
C. Improve the logging to capture the anticipated increase in defects due to API failures
D. Modify the adaptation layer in the Test Automation Architecture to enable the test script to
test via the APIs

8. You have executed an automated test suite for a product that was released to production.
Although your tests passed, there was a major failure in production in an area that is well
covered by your automated tests. You have verified that your tests did pass and that the
reporting of the results was correct.
What should you do now to verify the validity of your tests? [3]
A. Run tests that should fail and verify that they fail
B. Run tests that should pass and verify that they pass
C. Check that the post conditions of each test case are being verified correctly
D. Change your test data and run the tests again

9. When implementing results reporting for test automation, what is a good way to allow the
reader to make a quick assessment of the progress of the test execution? [1]
A. Spreadsheets
B. Traffic lights
C. Detailed reports with percentages of completion
D. Database of results

You might also like