Skip to main content

Quality Assurance Roles

:::note Table of Contents

  • Lead Quality Assurance Engineer
  • Quality Assurance Automation Engineer
  • Quality Assurance Engineer
  • Lead Site Reliability Engineer
  • Site Reliability Engineer
  • Release Manager

:::

Quality Assurance works closely with the development team, data, and product to identify defects from design, risks, and performance deviation so that issues can be triaged, prioritized and assigned for rework as needed. The primary purpose of QA is to ensure that the software meets planned functionality and acceptance criteria, is bug-free, and will work flawlessly under different configurations.

Quality assurance also works closely with the SRE team and Release manager to ensure all required items for release are accounted for, environments are deployed and stable and regression tests are passing according to expectations.

Lead Quality Assurance Engineer​

The Lead Quality Assurance Engineer is responsible for oversight and execution of project testing and the organization’s quality standards before a product or service is delivered to the customer. The QA Lead works closely and is aligned with Product Managers, Data Architects, Data Engineers, and Developers to ensure each part of the production process meets those agreed-upon standards. The QA Lead will develop, manage and maintain the test strategy to assure appropriate test coverage and testing of the product, and they will have overall responsibility to implement those procedures and policies with the help of the QA team.

Responsibilities​

  • Act as QA Testing Lead for a portfolio of project work
  • Ensure completion of a testing strategy for each project, which will include functional, non-functional, regression, automation, and performance testing
  • Establish resource requirements to execute test strategies
  • Create and execute test scenarios based on business requirements or user stories, architectural requirements.
  • Manage test suites, cases, defects, test runs within test tracking tools, and generate project level reporting.
  • Report bugs into tracking system with clear and detailed steps to reproduce
  • Participates in project-wide reviews of requirements, system architecture, and detailed design documents
  • Analyze new features; estimate and develop the testing strategy; design, implement and execute the manual tests
  • Deliver test metrics from QA efforts and provide analysis of product quality based on this data
  • Communicate with developers and product managers to identify system requirements
  • Stay up-to-date with new testing tools and test strategies
  • Produce and share standard QA metric reports for each project which includes testing burnup charts, failure %, defects, etc.
  • Ensure accurate and complete project defect details are included for defect tracking
  • Oversee the agile story testing process, and provide guidance on acceptance criteria
  • Handle escalations from project teams as needed
  • Implement policies and procedures as requested by Product management team
  • Lead and mentor a group of QAs/QA automation Engineers
  • Collaborate with QAs/QA automation Engineers on use and maintenance of tests
  • Focus on deadlines and deliverables while prioritizing work by dividing attention and effort between current project workload and ongoing support tasks

Skills​

  • Experienced in leading QA engineers working with agile methodology.
  • Data driven decision maker with high focus on continuous improvement.
  • Excellent interpersonal, written and verbal communication skills.
  • Hands-on knowledge of QA testing tools and processes.
  • Experience with highly scalable, highly available systems and services.
  • Experience working with Agile, Lean and/or Continuous Delivery approaches and best practices, such as Continuous Integration, TDD, BDD, Infrastructure as Code, and e2e Test Automations.
  • Team player with excellent communication skills

Quality Assurance Automation Engineer​

A Quality Assurance Automation Engineer plays an important part in our company’s product development process and interacts with product development teams closely to ensure proper test coverage and high quality of the projects delivered to production. The Automation Engineer creates acceptance and integration test automation scripts and integrates with continuous integration and code coverage tools to ensure 80% or higher code coverage

Responsibilities:​

  • Design and implementation of internal automation tools for QA
  • Building security, load, performance test suites for our applications.
  • Setup CI/CD pipelines for promoting the automated scripts to different environments during SDLC
  • Develop reusable test designs and test cases within an agile model
  • Responsible for running automated tests for each release cycle in different environments and report/fix issues found during the run.
  • Write integration tests for the backend applications
  • Automate regression tests and perform thorough regression testing
  • Assist with load testing of the services and applications
  • Review and provide feedback to any new/existing automation tests in the application.
  • Collaborate and find out the best practices followed by other teams across the organization and add it to our team.
  • Developing, applying and maintaining quality standards for automation with adherence to both internal and external standards

Skills And Competencies​

  • Strong programming background
  • Ability to collaborate with other team members and teams
  • Ability to research, analyze data and derive data-driven solutions
  • Strong problem-solving skills
  • Excellent communication skills
  • Proficient in designing Test Automation Frameworks
  • Keen attention to detail
  • Creative
  • Explorative

Quality Assurance Engineer​

A Quality Assurance Engineer(QAE) ensures that the final product follows the organization’s quality standards before a product or service is delivered to the customer. QAEs perform technical analysis of PBIs, the creation, and execution of manual test scripts based off acceptance criteria and product requirements. QAE is also responsible for the maintenance of test suites, and regression tests, while providing mitigation strategy and guidance for feature implementation as required. QAE is responsible for the security, quality, and coverage of developed test scripts.

The QAE works closely and is aligned with Product Managers, Data Architects, Data Engineers, and Developers to ensure each part of the production process meets the organization’s quality standards. QAE applies and acquires business and product knowledge in the performance of assigned efforts, provides direct input into the ongoing improvement of standards and processes, and incorporates innovative ideas and approaches to test development and product quality.

Responsibilities:​

A QAE has many responsibilities, such as preparing manual test scripts, performing release regression and working with various teams to correct issues that arise in the testing process.

  • Analyze new features; estimate and develop the testing strategy
  • Maintain manual regression suite and coordinate with appropriate team if any issues.
  • Create and execute test scenarios based on business requirements or user stories, architectural requirements.
  • Manage test cases, defects, test runs within test tracking tools and generate project-level reporting.
  • Identify test scenarios to be automated and good understanding of common test patterns.
  • Provide testing effort estimation at project level.
  • Participate in QA/Development professional group.
  • Communicate with developers and product managers to identify testing requirements
  • Prioritize and execute tasks.
  • Update and maintain testing documentation.
  • Provide UAT test demos to key stakeholders
  • Escalate issues and impediments in a timely manner
  • Assist in maintaining test metrics.
  • Stay up-to-date with new testing tools and test strategies

Skills And Competencies​

A good Quality Assurance Engineer must have excellent attention to detail since they need to identify flaws in a final product or service. They also need to have good communication skills since they need to deliver vital information to different teams involved in the production process

  • Knowledge of software QA methodologies, tools, and processes
  • Experience in writing clear, concise, and comprehensive test plans and test cases
  • Excellent communication skills
  • Test documentation skills
  • Keen attention to detail
  • Creative
  • Explorative

Lead Site Reliability Engineer​

  • Work with teams across an organization and ensures core services reliability and keep an eye on capacity and performance.

  • Work closely with development and operations teams to build highly available, cost effective systems with extremely high uptime metrics.

  • Responsible for establishing end-to-end monitoring and alerting on all critical aspects to ensure SLAs and get proactive notifications of possible issues for all systems.

  • Oversee and adapt monitoring and alerting systems. Interact with automated monitoring and healing infrastructure to ensure healthy environments

  • Participate in release cycles of products, deploying code to integration, staging and production environments, integrating with continuous integration (CI) and continuous delivery (CD) tools, monitoring, and change management

  • Build Automation Work with Agile development teams to ensure smooth promotion of code and configuration

  • Perform software updates, peer code reviews, testing, and Common Vulnerabilities and Exposures (CVE) analysis; respond to security threats

  • Create and maintain standard operating procedures (SOPs) for performing maintenance tasks, applying configuration changes, and remediating problems in our environment

  • Identify potential process improvements across the entire engineering organization

  • Define and drive architectural enhancements into system to mitigate potential failure points

  • Provide impact assessment and mitigation plan for changes going into the production environment

  • Responsible for blameless postmortems and proactive identification of potential outages factor into iterative improvement. Investigate root cause of severe and systemic outages, identify corrective actions

Site Reliability Engineer​

  • Build, maintain and support pipelines to deliver developed software and make them available to developers and QA for validation and testing.

  • Build, maintain and support pipelines to deliver releases to customers.

  • Design and maintain processes to deliver Azure cloud infrastructure as designed and specified by developers and data engineers.

  • Combine software and systems engineering to build and run large-scale, massively distributed, fault-tolerant systems.

  • Maintain secure and stable production environments through network, monitoring, and observability infrastructure.

  • Work with developers to deliver secure and scalable solution architecture for customers.

  • Review code developed by other engineers and provide feedback to ensure best practices (e.g., style guidelines, checking code in, accuracy, testability, and efficiency)

  • Contribute to existing documentation or educational content and adapt content based on product/program updates and user feedback

  • Triage product or system issues and debug/track/resolve by analyzing the sources of issues and the impact on hardware, network, or service operations and quality

  • Manage setup of Datadog dashboards along with SRE team to enable alerts and monitoring are available to increase the efficiency of deployments and also to be notified of issues with deployment following releases.

 

Release Manager:​

  • Plan the release of project deliverables and release life cycle.

  • Communicate the project-related tasks such as plans, timelines, requirements, etc. between different teams.

  • Coordinate the release schedule and resources required depending upon the defect backlogs, planned releases, and infrastructure updates.

  • Identify the risks that can delay the release and manage them, such that the scope scheduled, and quality of the release is not affected.

  • Track the progress and find issues, if any. Always work to improve the process of release.

  • Schedule the release readiness reviews before deployment and milestone reviews after each release.

  • Make sure the allocation of Release Engineers to every release.

  • Maintain documentation related to procedures on build and release, various notifications lists, and dependencies.

  • Make improvements in the methodologies used for configuration management and development of software that helps to find ways to use in configuration management.