Roles and responsibilities
We are looking for a talented Software Quality Assurance Engineer to join our team. The ideal candidate will have a strong understanding of software testing methodologies and experience in automation testing.
Responsibilities:
- Develop and execute comprehensive test plans and test cases.
- Identify, report, and track defects.
- Perform functional, regression, integration, and performance testing.
- Collaborate with development teams to ensure high-quality deliverables.
- Automate test cases using appropriate tools and frameworks.
- Analyze test results and provide insights to improve product quality.
Required Skills and Experience:
- 5+ years of experience in software testing.
- Strong understanding of software development lifecycle (SDLC) and testing methodologies.
- Experience with test automation frameworks (Selenium, Appium, Cypress).
- Proficiency in programming languages like Java, Python, or JavaScript.
- Knowledge of database testing and SQL.
- Experience with CI/CD pipelines and tools.
- Excellent problem-solving and analytical skills.
- Strong communication and teamwork abilities.
Preferred Skills:
- Experience with performance testing tools (JMeter, LoadRunner).
- Knowledge of security testing and penetration testing.
- Experience with test management tools (Jira, TestRail).
- Understanding of cloud-native testing.
It is our policy to provide equal employment opportunities to all individuals based on job-related qualifications and ability to perform a job, without regard to age, gender, gender identity, sexual orientation, race, color, religion, creed, national origin, disability, genetic information, veteran status, citizenship or marital status, and to maintain a non-discriminatory environment free from intimidation, harassment or bias based upon these grounds.
Desired candidate profile
A Software Quality Assurance (QA) Engineer plays a critical role in ensuring that software products meet the required standards and function as expected before they are released. Here are key skills and competencies that a Software QA Engineer should have:
1. Testing Techniques
- Manual Testing: Ability to perform functional, regression, integration, and user acceptance testing manually.
- Automated Testing: Knowledge of automation tools like Selenium, QTP, or TestComplete to execute repeatable test cases.
- Unit Testing: Understanding of testing individual components of software, using tools like JUnit or NUnit.
- Performance Testing: Familiarity with tools like JMeter, LoadRunner, or Gatling for performance and load testing.
- Security Testing: Knowledge of security testing practices to identify vulnerabilities (e.g., SQL injection, XSS) and tools like OWASP ZAP.
2. Knowledge of Testing Methodologies
- Agile and Scrum: Familiarity with Agile methodologies and Scrum frameworks, including participating in sprints, stand-ups, and retrospectives.
- Waterfall: Experience working in traditional Waterfall projects.
- Test-Driven Development (TDD): Familiarity with the concept of writing tests before the code itself.
- Behavior-Driven Development (BDD): Using tools like Cucumber for specifying and validating business logic.
- Risk-Based Testing: Identifying high-priority areas based on risk analysis.
3. Testing Types
- Functional Testing: Validating that the software works as intended from a functional standpoint.
- Non-Functional Testing: Testing aspects like usability, performance, scalability, and compatibility.
- Regression Testing: Ensuring new code changes don't negatively impact existing features.
- Exploratory Testing: Performing unscripted testing to find unexpected issues.
- User Interface (UI) Testing: Ensuring the software’s interface is user-friendly and adheres to UI design guidelines.