Skip to content

QA Challenge – Cypress Automation Solution#184

Closed
sarkis093 wants to merge 1 commit intodynamox-s-a:mainfrom
sarkis093:guilherme-sarkis
Closed

QA Challenge – Cypress Automation Solution#184
sarkis093 wants to merge 1 commit intodynamox-s-a:mainfrom
sarkis093:guilherme-sarkis

Conversation

@sarkis093
Copy link
Copy Markdown

This PR contains my solution for the QA Challenge.

Overview:

  • API contract validation
  • UI structural validation
  • Frontend/backend synchronization checks
  • Dynamic data update validation
  • User interaction tests
  • Reload behavior tests
  • Negative scenarios
  • Bug identification with evidence

Project structure:

  • cypress/e2e/api
  • cypress/e2e/ui
  • cypress/e2e/negative

Bug identified:
The interface displays "null min" when the interval value is null, indicating missing null handling in the presentation layer.

How to run:

npm install
npx cypress run

Branch: guilherme-sarkis

@campofernando
Copy link
Copy Markdown
Contributor

Hello @sarkis093! Thanks for your submission. Just letting you know that we got your pull request and are in the process of reviewing it. We will soon provide you with our considerations.

@campofernando
Copy link
Copy Markdown
Contributor

Hey @sarkis093, thank you for the time and effort you put into this challenge. There are clear positives in your submission: you chose Cypress as your framework, organized the test suite into logical folders, wrote a well-structured README with execution instructions, and demonstrated knowledge of cy.intercept for API contract validation. The identification of the "null min" bug in the header and the initiative to write a negative test simulating a 500 error also stood out as good signs.

That said, the main concern from our evaluation was that many tests overlap significantly without adding new coverage. For example, the chart count validation appears in multiple files, and tooltip interaction is tested in two separate specs — one of which uses incorrect selectors (canvas, .tooltip) that likely don't work with Highcharts. At the same time, only one of the application's actual bugs was found, which suggests the exploratory analysis against the Figma prototype could have been deeper. Critically, the if (metadata.interval) conditional in your tests skips the validation exactly where the bug lives — a test should fail when something is wrong, not silently pass by ignoring the scenario.

On code quality and best practices: there is a significant amount of commented-out code and descriptive comment blocks that should be cleaned up before delivery — the describe and it descriptions should be enough to convey intent. The entire solution was delivered in a single commit, which makes it harder to review incrementally. Other improvements would include consistent use of baseUrl instead of mixing full URLs with relative paths, avoiding hardcoded cy.wait(5000) in favor of assertion-based waits, and leveraging custom commands to reduce duplication.

Our recruitment team will contact you soon with a final decision.

Best regards.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants