Skip to main content
Job Description

Software Quality Assurance (QA) Engineer

Software Quality Assurance (QA) Engineer

Position Purpose & Summary:

The job purpose of a Software Quality Assurance (QA) Engineer is to ensure that software products meet specified quality standards and requirements before they are released to end-users or customers.

The role is critical in the software development lifecycle and involves various responsibilities to guarantee the reliability, functionality, and performance of the software. Software QA Engineer plays a crucial role in delivering high-quality software products, minimizing defects, and ensuring a positive user experience.

The ultimate goal is to contribute to the success of the software development process and the overall success of the organization.

Primary Duties & Responsibilities:

Test Planning:
Develop comprehensive test plans outlining the testing approach, scope, resources, schedule, and deliverables for a software project.

Requirement Analysis:
Analyse project requirements, user stories, and design specifications to understand the functionality of the software being developed.

Test Case Design:
Create detailed test cases that cover various scenarios to verify that the software meets specified requirements.

Regression Testing:
Perform regression testing to ensure that new changes or features do not introduce defects in existing functionality.

Defect Identification and Reporting:
Identify and document defects or issues discovered during testing. Provide clear and detailed defect reports to developers for resolution.

Security Testing:
Assess the security of the software by conducting security testing to identify vulnerabilities and weaknesses.

Maintain comprehensive documentation of test cases, test plans, and test results. Keep track of changes made during the testing process.

Academic Qualification:

  • Degree in Computer Science
  • Software Engineering
  • Information Technology, or equivalant

Professional Qualification and/or Regulatory, Licensing requirements  :

  • Certified Agile Tester (CAT)
  • Certified ScrumMaster (CSM)
  • ISTQB (International Software Testing Qualifications Board) Certification
  • CSTE (Certified Software Tester) Certification
  • CSQA (Certified Software Quality Analyst) Certification

Technical Skills

  • Testing Tools: Proficiency in using both manual and automated testing tools. Familiarity with tools like Selenium, JUnit, TestNG, Appium, Jira/GitLab, and others.
  • Programming and Scripting: Strong programming skills in languages commonly used for testing, such as Java, Python, C#, or others. Ability to write and maintain test scripts for automated testing.
  • Database Knowledge: Understanding of database systems and the ability to write and execute SQL queries for data validation.
  • Version Control Systems: Experience with version control systems like Git to manage and track changes in the source code.
  • Web Technologies: Knowledge of web technologies (HTML, CSS, JavaScript) for testing web applications.
  • API Testing: Ability to perform testing of application programming interfaces (APIs) using tools like Postman or tools for automated API testing.
  • Mobile Testing: Experience with testing mobile applications on different platforms (iOS, Android) using tools like Appium or native testing frameworks.
  • Documentation: Skills in maintaining clear and comprehensive documentation of test cases, test plans, and test results.

Soft Skills

  • Communication skills – Clear and effective communication is crucial for conveying test plans, reporting defects, and collaborating with developers and other team members.
  • Adaptibilty – The software development process can be dynamic, with changes in requirements and priorities. Being adaptable helps QA Engineers adjust to changes and continue delivering effective testing.
  • Leadership and Initiative – Taking the initiative to propose improvements, lead testing efforts, or mentor junior team members demonstrates leadership qualities.
  • Attention to Detail – A keen eye for detail is essential to identify even minor issues that might impact the quality of the software.
  • Teamwork and Collaboration – QA Engineers often work as part of a larger development team. The ability to collaborate, share information, and contribute positively to the team’s goals is essential


  • Strong understanding of software testing principles, methodologies, and practices
  • Proficiency in using various testing tools, both manual and automated, such as Selenium, JUnit, TestNG, Jira/GitLab, Appium, etc
  • Excellent communication skills to interact with team members, developers, and other stakeholders
  • Ability to work well in a collaborative team environment
  • Strong analytical skills to identify and troubleshoot issues, as well as to analyze complex systems
If you are keen to explore this opportunity, send us your resume at