Responsibilities:
- You write test automation scripts, involving both back-end and front-end components according to our best practices and quality standards.
- You build tools, frameworks, and other infrastructure needed to support test automation.
- You review and validate application requirements and technical specifications to define test specifications for functional, integration, and performance tests.
- You search for opportunities to enhance all test case automation-related activities.
- You work as part of a cross-functional scrum team (POD), developing applications and services using agile development methodologies.
- You will provide technical guidance to other members of the team on test automation as required.
- You collaborate with the development team to analyze the bugs and work closely to address production bugs at the earliest.
- You stay up to date with new testing tools and testing strategies, proactively evaluating and improving our testing methodologies for continuous improvement.
- Should work collaboratively with the team in writing test scenarios and their execution (in case the need arises).
Requirements:
- You are an outstanding QA automation engineer with +5 years of relevant experience in test automation and our test automation stack.
- You have a bachelor's or master's degree in computer science.
- You have a strong understanding of software development and test automation principles, such as BDD and TDD. You have experience in working in continuous integration and continuous delivery environments.
- Excellent problem-solving and analytical skills.
- Good communication (written and verbal) skills.
- Strong interpersonal skills, and the ability to coach other engineers.
- Experience in developing software in a regulated environment is a plus.
UI Automation with Selenium:
- Proficient in Selenium WebDriver for automating web-based applications.
- Strong knowledge of locators and strategies (XPath, CSS Selectors, ID, Class).
- Experience in handling dynamic web elements and writing optimized XPath/CSS selectors.
- Familiarity with browser debugging tools and techniques for identifying UI elements.
- Expertise in handling synchronization issues using waits (Implicit, Explicit, Fluent).
- Capability to manage browser settings and profiles for different testing needs.
API Automation with RestAssured:
- Proficient in automating REST APIs using the RestAssured library.
- Strong understanding of HTTP methods (GET, POST, PUT, DELETE, etc. ).
- Familiarity with handling request/response payloads in JSON and XML formats.
- Ability to validate response codes, headers, and payloads.
- Knowledge of token-based authentication mechanisms (e. g., OAuth, JWT).
- Experience in chaining API requests and validating dependencies between API responses.
Programming with Java:
- Strong proficiency in Java for scripting and automation.
- Knowledge of object-oriented programming concepts.
- Experience with exception handling, collections framework, and Java Streams API.
- Familiarity with file handling, parsing JSON/XML, and reading/writing to databases.
- Understanding of multithreading for handling parallel execution.
Functional Testing:
- Ability to design and execute comprehensive test cases for functional verification.
- Experience with both manual and automated regression testing.
- Knowledge of boundary value analysis, equivalence partitioning, and other testing techniques.
Frameworks and Tools:
- Strong knowledge of testing frameworks like TestNG and JUnit.
- Familiarity with BDD frameworks like Cucumber for writing Gherkin scenarios.
- Experience in building and maintaining custom automation frameworks (Data-Driven, Keyword-Driven, or Hybrid).
- Proficient in building tools like Maven or Gradle for dependency management.
- Working knowledge of version control systems like Git.
CI/CD and Integration:
- Experience in integrating test automation with CI/CD pipelines (e. g., Jenkins, GitHub Actions, or GitLab CI).
- Ability to set up and configure jobs for running automated tests.
- Familiarity with generating and publishing test execution reports (e. g., Allure, Extent Reports).