The Software Quality Assurance Engineer I improves the quality of software releases through manual and automation testing, test processes and tool improvements. This is an opportunity to work with software developers, technical support staff, and customers to create customized testing methodologies for our software products and improve the quality of our products. Some of the main responsibilities of this position include:
Manual Testing:
- Understands and executes test cases.
- Analyzes user requirements to create test scripts and record results.
- Reviews manual and automated tests for gaps and suggests potential automation.
- Conducts ad-hoc testing and performs error guessing based on system experience.
Defect Management:
- Identifies and reports bugs in the Test Case Management tool.
- Understands the defect management process, including bug discovery, categorization, fixing, verification, closure, and reporting.
- Communicates findings during testing with the development team and project owner.
Regression Testing:
- Understands and executes regression test cases, recording results in the test case management tool (e.g., MTM/AZDO or Jira).
- Determines when a test fails, communicates this to team members, and logs bugs as required.
Automation:
- Creates test cases that are clear enough for an automation engineer to automate.
Performance Testing:
- Understands the fundamentals of performance testing, including the difference between load and performance tests.
- Analyzes metrics produced by performance tests, such as response times.
CI/CD (Continuous Integration/Continuous Delivery):
- Understands the concepts of continuous delivery methodologies and how they could benefit the product.
- Learns how CI/CD concepts currently impact testing.
- Reviews QA/Dev release definitions to ensure completion and identifies errors in error logs.
Quality Process:
- Follows the QA Process in conjunction with the Agile Process, as outlined on the SCRUM Board and associated documentation.
- Understands the difference between Test Preparation and Test Execution.
- Manually executes tests on the product and records results in MTM/AZDO.
- Creates test data within a test environment.
- Deploys code to a test environment using build scripts.
- Executes tests and raises issues/defects as appropriate.
- Produces test reports based on execution status for a given test phase.
- Manages defect prevention by identifying key tests and risk areas early in development.
Test Management (Plan, Schedule):
- Plans testing for their own projects, including identifying scope, creating test suites, and estimating story points for testing.
- Prioritizes and schedules their own projects, ensuring significant bugs are discovered early and testing plans aim to meet deadlines.
Agile Practices:
- Participates in standard Agile ceremonies such as stand-ups, planning, and retrospectives with some assistance.
- Conveys current work status to the team in stand-ups, answers questions about acceptance criteria, and provides feedback in retrospectives.
Interpersonal Skills:
- Exchanges straightforward information, asks questions, and checks for understanding.
- Builds stable working relationships internally.
What Skills & Experience You Should Bring
- Bachelors Degree in Computer Science or related technical field
- 1 to 2 years of relevant experience in Automation testing( Mandatory )
- Demonstrated testing skills and understanding of QA processes
- Coding experience in C# or Java programming language ( Mandatory )
- Working experience with test automation methodologies and tools ( Selenium - May be ) and other testing tools/frameworks like BDD, Gherkin, Cucumber are preferred.
- Experience with virtualization architecture and controlled test environments
- Knowledge of the JIRA would be an advantage.
- Basic troubleshooting and debugging skills
- Experience of working within a Global Organization would be an advantage
- Experience working in an Agile Development Environment, ideally with experience working with a distributed team