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.

Documentation:
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

Experience:

  • 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 recruit@mimos.my