Senior Automation Tester
- Full-time
Job Description
Are you passionate about quality assurance, automation, and ensuring exceptional user experiences? Do you have a proven track record of designing and implementing robust automation frameworks for complex software systems? If so, we want you on our team!
As a Senior Automation QA Engineer at KMS Mexico, you will play a critical role in ensuring the quality and reliability of software products. You will collaborate with cross-functional teams, including developers, product managers, and QA engineers, to design, develop, and maintain automated test suites. Your work will have a direct impact on the overall quality of our products, helping us deliver outstanding solutions to our customers.
Key Responsibilities:
- Design and develop automation test frameworks and test scripts for web and mobile applications.
- Collaborate with development and QA teams to identify test requirements and design test cases.
- Execute automated tests and analyze results to identify defects and performance issues.
- Maintain and expand existing automation test suites, incorporating new features and improvements.
- Work closely with developers to facilitate and expedite the debugging and resolution of issues.
- Participate in agile development processes, including sprint planning, daily stand-ups, and retrospectives.
- Mentor and provide guidance to junior QA engineers.
- Stay updated on industry best practices and emerging trends in automation testing.
Qualifications
Qualifications:
- Bachelor's degree in Computer Science, Software Engineering, or a related field (or equivalent work experience).
- 5+ years of experience in automation testing, with a strong focus on web applications.
- Proficiency in test automation tools and frameworks such as Selenium, Appium, or similar.
- Strong programming skills in JavaScript and some Java is nice to have.
- Experience with continuous integration and continuous delivery (CI/CD) pipelines.
- Excellent problem-solving skills and attention to detail.
- Strong communication and collaboration skills.
- Knowledge of software testing methodologies and best practices.
- Experience with Agile/Scrum methodologies.
- Good documentation skills to maintain test plans, test cases, and test results.
- Proficiency in using version control systems like Git for managing code changes and collaborating with other team members.
Additional Information
Technical Requirements:
Understanding of Node.js:
- Proficiency in Node.js, including knowledge of its core modules and asynchronous programming patterns.
- Familiarity with the Node.js ecosystem, including npm (Node Package Manager) and common libraries.
Unit Testing:
- Proficiency in writing unit tests to validate individual components or functions within your Node.js application.
Mocking and Stubbing:
- Familiarity with mocking and stubbing libraries like Sinon.js for isolating parts of the code during testing.
Testing Frameworks:
- Proficiency in using testing frameworks for Node.js applications such as Mocha, Jasmine, Jest, or NodeUnit.
Integration Testing:
- Ability to write integration tests that ensure different parts of your application work correctly together.
API Testing:
- Ability to test Node.js-based APIs using tools like Supertest or Axios for making HTTP requests and checking responses.
- Knowledge of assertion libraries like Chai or Jest's built-in assertions for creating test assertions.
Scripting:
- Ability to write scripts to automate test scenarios and repetitive tasks.
Performance Testing:
- Knowledge of performance testing tools such as Apache JMeter or Artillery for assessing the scalability and responsiveness of Node.js applications.
End-to-End (E2E) Testing
- Familiarity with E2E testing frameworks like WebDriver.io or Cypress for testing the application's functionality from a user's perspective.
Test Runners
- Experience with test runners like Istanbul for code coverage analysis to ensure that your tests cover a sufficient portion of your codebase.