Skip to content

πŸ” Take-home technical challenge for QA / Test Automation Engineer candidates at NaNLABS. Build an automated test suite using Cypress or similar tools, targeting a selected test site or the NaNLABS website. Focus on test strategy, automation quality, and communication

License

Notifications You must be signed in to change notification settings

nanlabs/qa-test-automation-engineer-challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ§ͺ QA / Test Automation Engineer Challenge – Choose Your Test

Welcome to the QA / Test Automation Engineer Challenge! πŸ”πŸ§Ό This challenge is designed to evaluate your ability to test modern web applications with a strong focus on automation, coverage, and clarity.

🎯 Context

At NaNLABS, we believe quality is a shared responsibilityβ€”but we count on QA engineers to lead the way. We want to see how you approach building a realistic and maintainable test strategy, especially in modern JavaScript environments.

Your task is to design and implement an end-to-end test suite using a tool like Cypress (preferred) to automate UI and API flows. You’ll be working with a real or realistic frontend page and API.


πŸ•Ή Choose Your Page to Test

You may test any of the following public pages. Choose one and briefly explain why you picked it.

βœ… Suggested Test Pages

Choose a known test site such as:

Focus on testing a specific user flow (e.g., form submission, login process, navigation, or data filtering) using Cypress or another modern test automation framework.

Note

You can choose a different public test site if you preferβ€”just make sure it’s stable, accessible, and has a clear user flow to automate.


πŸ“¦ Deliverables

πŸ“₯ Your submission must be a Pull Request that includes:

  • A folder with your automated test suite.

  • A README.md that describes:

    • What tool you used and why.
    • How to run the tests locally.
    • What the tests cover and what could be improved with more time.
  • Bonus (if API testing): include a few Postman, Swagger, or Cypress API tests that complement your UI flows.

  • Bonus (if exploratory): include an optional manual test plan or checklist with potential corner cases or exploratory notes.

Tip

You may use GitHub Actions or other CI tools to show test automation in action, but this is not required.

πŸ§ͺ Suggested Folder Structure

/
β”œβ”€β”€ .github/
β”‚   └── workflows/
β”œβ”€β”€ tests/
β”‚   └── e2e/
β”‚       └── [your_test_file].spec.js
β”œβ”€β”€ docs/
β”‚   └── TESTING_PLAN.md (optional)
β”œβ”€β”€ cypress.config.js (if using Cypress)
β”œβ”€β”€ README.md
└── ...

🌟 Nice to Have

πŸ’‘ Bonus Points For:

  • Testing across multiple screen sizes or devices (mobile, tablet, desktop).
  • Including edge cases and failure handling in your tests.
  • Including basic test coverage metrics.
  • Including Postman or Swagger examples for REST API validation.
  • Using GitHub Actions or any CI to run the tests on pull request.
  • Including tests that validate behavior after state changes or updates (e.g., after clicking a button, submitting a form).

Tip

Want extra inspiration? Check out our Awesome NaNLABS repository for tips on structure, testing tools, and automation examples.

πŸ§ͺ Submission Guidelines

πŸ“Œ Follow these steps to submit your solution:

  1. Fork this repository.
  2. Create a feature branch with your test suite.
  3. Commit your changes with clear messages.
  4. Open a Pull Request following the provided template.
  5. We’ll review and provide feedback.

βœ… Evaluation Criteria

πŸ” What we’ll be looking at:

  • Coverage and clarity of your test strategy.
  • Use of best practices in test structure and tool usage.
  • Automation quality and ability to debug failing tests.
  • Clarity of README and instructions.
  • Proactive mindset: testing for edge cases, unexpected inputs, and accessibility.

πŸ’¬ Final Notes

Tip

Don’t overthink itβ€”we care more about how you think than about perfection!

A few tips:

  • Pick something you're comfortable with or excited to try.
  • Make your tests easy to read, run, and maintain.
  • Call out assumptions or tradeoffs in your README.

🏁 Good luck and happy testing

If you have any questions, don’t hesitate to reach out. πŸ§ͺπŸ’¬

About

πŸ” Take-home technical challenge for QA / Test Automation Engineer candidates at NaNLABS. Build an automated test suite using Cypress or similar tools, targeting a selected test site or the NaNLABS website. Focus on test strategy, automation quality, and communication

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Sponsor this project