Skip to content

Programming challenges for interviewing with Didomi

Notifications You must be signed in to change notification settings

efgallegos/challenges

 
 

Repository files navigation

QA Challenge project

Part 1 - Automated tests of a consent notice

Build Setup

# install dependencies
$ yarn

Launch Cypress

# install dependencies
$ yarn cypress:open

Run test suite headless

# install dependencies
$ yarn cypress:run

Libraries

Part 2 - Test strategy

The consent notices product is made of multiple parts:

SDKs (Web and Mobile) that are deployed on websites and mobile apps to show consent notices APIs that provide configuration to the SDKs and store events collected by the SDKs Administration portal ("Didomi Console") used to configure the SDKs through the APIs In this part, we expect you to present how you would design and execute the entire testing strategy for the consent notices product. The strategy should include:

  • How you would manage a database of tests that grows with new features
  • What tests would be run manually vs automatically
  • How the work of creating and automating test cases would be distributed between product managers, engineers, etc.
  • How every component that is part of the product (backend, frontend, SDKs) would be tested and you would test the whole chain

Proposed test strategy

Having all the test cases, plans and runs in one place centralized will improve the collaboration between developers, testers, product managers and any other stakeholder. A tool that allow you to track results and provide report and metrics of the testing progress and the overall quality of the application under test. I would strongly recommend using TestRails. Manual testing is time consuming so we should use it only when it is appropiated, experience tells me that bug fixes, new features, changes requests of features that are still not automated and and the SDKs that can't be automated or are really hard to automated (like OTT SDKs) would be the ones tested manually. Most teams start automating their backends APIs, then they move to web apps and later mobile automation. If the plan is automate as much as possible due critically and priorization I think the key is to select the right set of tools from scratch in order to avoid code rewritting as much as possible. For mobile Appium would be a good option but it used Selenium and Webdriver under the hood. The work of creating automating test cases should be a team effort, QA can propose a set of test cases candidates to be automated to the engineers and the product owners/managers in get feedback and set priorities. QA can lead the automation creation and leave in the devs the responsability of the automated test maintenance when new code introduced brakes one of the automated test cases.

About

Programming challenges for interviewing with Didomi

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • JavaScript 88.2%
  • Gherkin 11.8%