Roles and responsibilities
- 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 test 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.