7+ years in Software testing and quality related roles from understanding requirements, designing manual test cases, scripting, execution and defect management.
5+ years strong expertise with context driven, test driven development and exploratory testing with practical experience of using various testing heuristics, with passion for testing and ensuring highest quality.
4+ years of experience with Lean / Agile testing methodologies.
3+ years of experience using one or more of the following automation tools: Selenium components (WebDriver, Grid, etc.), Cypress, Cucumber, Gherkin, JUnit, TestNG, API testing (REST & SOAP protocols) and API Automation.
Develop and maintain automated test suites for web and mobile applications.
Identify areas for automation and write automated tests to ensure repeatability, coverage, reliability, and fast track regression.
Experience using git SCM tools, GitHub or Bitbucket or similar tools.
Experience using CI tools like Jenkins, Azure DevOps or equivalent.
Experience with creating and maintaining large scale test data frameworks to support test automation.
Experienced with coding best practices and defining coding guidelines.
Proficiency in at least 2 different programming languages, preferably JavaScript and Java.
Knowledge of Aviation and Airport Operations is an added advantage.
Good oral and written communication skills.
Ability to work effectively within a release train in a fast-paced environment.
Strong organizational, planning, and follow-up skills and ability to hold others accountable.
Experience in providing product input on business process flows and scenario mapping for business solutions.
Aware of the latest testing and technology trends and using them to improve daily practices.
Experience working with VMs and containers both on-prem and cloud offerings like Amazon and Google Cloud.
Experience with Continuous Integration & Delivery tools and Scrum agile methodology.
Desired Candidate Profile
1. Core Testing Knowledge
Software Testing Principles: Understanding of core testing principles, including functional testing, non-functional testing, regression testing, unit testing, and integration testing.
Test Levels: Knowledge of different levels of testing such as unit testing, integration testing, system testing, and acceptance testing.
Test Types: Familiarity with various test types like smoke testing, sanity testing, performance testing, load testing, security testing, and usability testing.
2. Test Automation Frameworks
Automation Frameworks: Expertise in creating, implementing, and maintaining test automation frameworks. Common frameworks include:
Selenium WebDriver (for web applications)
Appium (for mobile apps)
Cucumber (for Behavior-Driven Development)
TestNG or JUnit (for structuring test cases in Java)
Jest (for JavaScript-based testing)
Robot Framework
Cypress (for end-to-end testing)
Keyword-Driven Testing: Ability to design keyword-driven or data-driven frameworks where test steps are defined through keywords or data tables.
3. Programming and Scripting Skills
Programming Languages: Strong programming skills in languages commonly used in test automation such as:
Java, C#, Python, JavaScript, Ruby, or TypeScript.
Scripting: Proficiency in writing automation scripts to interact with the application and validate expected behavior.
Version Control Systems: Experience with version control systems like Git or SVN for managing automated test scripts and collaborating with the team.
Build Automation Tools: Familiarity with tools like Maven, Gradle, or Ant to automate test execution as part of the build process.
4. Continuous Integration and Delivery (CI/CD)
CI/CD Pipelines: Knowledge of integrating automated tests into CI/CD pipelines to ensure tests are executed automatically on every code change. Tools include:
Jenkins, GitLab CI, Travis CI, CircleCI, or Azure DevOps.
Test Execution and Reporting: Ability to configure automated tests to run as part of the CI/CD process, generate test reports, and integrate with tools like JUnit or TestNG for test reporting.
Test Result Analysis: Analyzing test results and logs, identifying failed tests, and troubleshooting issues to ensure the accuracy of the tests.