Design, develop, and maintain test programs, test scripts, automated test frameworks and suites using Java-based frameworks such as JUnit, TestNG to validate backend functionalities.
Automating the test solution based on the system design using scripting or programming languages as well as performance tuning.
Engage in in-depth technical dialogues with the software engineering team, comprehend software workflows and use cases, and ensure the system's testability.
Define requirements and propose solutions to streamline the testing process with a strong commitment to ownership.
Collaborate closely with software engineers, product managers, and other stakeholders to understand requirements and ensure comprehensive test coverage.
Implement and execute test plans and test cases to ensure comprehensive test coverage.
Perform API testing using tools like REST Assured (for Java), Cypress (for JavaScript) and other tools to validate data integrity and functionality of backend services.
Deliver timely and precise updates on testing status and quality metrics to stakeholders throughout all testing phases and compile Quality outcomes summary upon project completion.
Requirements:
Bachelor's Degree in Computer Science, Software Engineering, or a related field advanced degree preferred.
At least 5 to 10 years of experience in large-scale software or applications development projects using open-source technologies, with extensive experience in software development, particularly in full stack projects, demonstrating adherence to standard development best practices.
At least 3 to 5 years relevant experience in developing and executing test automation solutions involving devices (UI-based or embedded) and/or back-office systems with familiarity on the full system development lifecycle from requirement, development, to testing and deployment.
High proficiency in C++, Java or Python programming, has played a major role in designing, developing and evolving the test architecture of large scale, highly available solutions.
Strong coding and scripting ability in Python, Shell and/or Ruby on both Windows and Linux platforms, with experience in troubleshooting and optimizing existing codebases.
Coding experience with C#, Kotlin or other Object oriented programming languages is advantageous.
Familiarity with Golang and Laravel codebases-able to write basic test scripts or helpers
Experience testing microservices architectures and RESTful/gRPC APIs
Expert level skills in writing NUnit or JUnit tests scripts and Test cases, has driven positive change towards Continuous testing, DevOps and Agile.
Proficiency in working with SQL, RDBMS and In-Memory Databases.
A sound understanding of agile methods of software delivery and the principles and practices of BDD, ATDD and TDD.
The ability to work closely with technical and non-technical stakeholders in order to determine appropriate acceptance criteria for both business and technical needs.
Excellent communication skills: written & verbal
Ability to make tactical as well as strategic decisions and recommendations based on incomplete or ambiguous information
Strong analytical and problem-solving skills to effectively debug and resolve complex technical issues.