en flag +1 214 306 68 37

Software QA Process

Setup Plan, Required Team and Cost Factors

Having 35 years of experience in software testing and 22 years of experience in QA consulting, ScienceSoft helps companies establish and maintain an efficient QA process throughout the entire software development lifecycle.

Software QA Process - ScienceSoft
Software QA Process - ScienceSoft

Contributors

Andrei Mikhailau

Software Testing Director, ScienceSoft

Victor Sachuk

Test Manager and QA Consultant, ScienceSoft

QA Process: the Essence

An effective QA process runs along all stages of software development lifecycle, from requirements gathering to maintenance.

  • QA process setup timing: 2-6 weeks.
  • Key steps: analysis of software requirements and existing QA process, QA process (re)design, software testing, QA process monitoring and improvement.
  • Possible team members: QA consultant, QA manager, testing engineer, test automation engineer.

Are you interested in improving the existing QA process? We invite you to check the QA improvement guide by ScienceSoft’s QA experts.

Benefits of a Well-Organized QA Process

Establishing a QA process takes time and effort, but what you get – software quality – is worth the investments. Have a look at some of the key benefits of an effective QA process:

Fewer software defects

QA activities such as software requirements analysis, regular code reviews and unit testing help prevent bugs from arising in the first place or detect all severe software defects at the earliest stages of the development process.

Faster on the market

Accurate implementation of shift-left practices and pragmatic test automation helps optimize testing duration, make the whole development process more time-effective and deliver software on the market within deadlines.

Better customer experience

A properly developed and rigorously tested software with neither critical nor minor defects drives the best user experience and leaves your end users satisfied.

QA Process Setup Plan

Below, we describe typical steps to implementing a stable and effective QA process. Yet, when it comes to your project, we align the QA process activities with your specific needs.

1. 

Analysis of software requirements and existing QA process

A QA consultant analyzes functional and non-functional software requirements to get an understanding of the project’s scope and software specifics to outline a path for establishing the QA process. In case the QA process is already established, a QA consultant analyzes it, evaluates the QA maturity level, points out QA flaws (e.g., tests planning and scheduling problems, management problems), and outlines a path for the QA process improvement or redesign.

There exist several models to evaluate a QA maturity level: globally recognized TMMi and TPI models and customized ones. A customized option is good for software development initiatives that have development and testing in-house. TMMi is suitable for large initiatives, while the TPI model will suit any initiative.

Software Testing Director at ScienceSoft

2. 

QA process (re)design

  • Reviewing functional and non-functional software requirements to improve their consistency and completeness for the development process and future testing activities. Creating requirements traceability matrix.
  • Analyzing potential risks (e.g. tight timelines, changing requirements, etc.) and creating a risk mitigation plan.
  • Planning regular and systematic design reviews to spot logical errors and start creating a test plan earlier.
  • Taking a shift-left approach to testing and moving testing activities closer to the beginning of the software development process.
  • Outlining the test strategy and test plan that include:
    • Testing scope (software components and functions to be tested) at both integration and system levels.
    • Manual and automated testing ratio.
    • Optimal testing team structure, the need for additional team training.
    • Testing schedule.
    • General test entry and test exit criteria (conditions required to be achieved before and after testing).
    • Suitable testing environment.
    • Test metrics (e.g., test coverage, total number of executed test cases per period, reopened and rejected defects rate, defects leakage, etc.) and the procedures for collecting and tracking test metrics. Test metrics are always predefined according to your project’s specifics.

It’s important to accurately define the degree of automation. Frequently executed test cases that do not change much with each iteration are good candidates for this.

Test Manager and QA Consultant at ScienceSoft

3. 

Software testing

As a part of an effective QA process, ScienceSoft implements software testing. QA testing process includes:

  • Designing test scenarios and test cases.
  • Setting up test environment and preparing test data.
  • (optional) Writing test scripts for automated testing.
  • Executing manual and automated tests.
  • Incorporating automated tests into CI/CD pipeline to speed up the testing process.
  • Reporting on the detected issues in the preferred defect tracking system and reporting results of the executed tests on the agreed schedule.
  • Conducting regression testing to validate that no related functionality has been broken within the new development iteration.
  • Conducting release testing.

Tip #1. I recommend implementing cloud-based testing for mobile (e.g., with App Center) and web application testing (e.g., with Selenium Grid). Cloud-based testing environments allow for a wider choice of device and browser combinations, require less investment and are more economically feasible compared to on-premises testing devices.

Tip #2. To make regressing testing less time-consuming in our projects by Agile methodologies, we choose to combine partial and full regression testing, prioritizing tests according to risks and increasing the share of automated testing.

Test Manager and QA Consultant at ScienceSoft

4. 

QA process monitoring and improvement

  • Monitoring flow of quality assurance process activities at all SDLC stages.
  • Collecting and analyzing KPIs (test coverage, requirements coverage, etc.).
  • Continuously improving the QA process (e.g. adjusting the test automation share, conducting root cause analysis, etc.)
ScienceSoft

ScienceSoft

Setup an Efficient QA Process with ScienceSoft

Establishing a QA process from scratch or redesigning the existing one can be an effort- and time-consuming task. In quality assurance since 1989, ScienceSoft knows all QA intricacies and is ready to help you set up an effective QA process.

QA Outsourcing

ScienceSoft will lift the burden of QA off your shoulders and take care of everything: from designing the QA process and running software testing to monitoring QA effectiveness and improving the process.

Outsource QA

QA Consulting

Having doubts where to start with your QA process?ScienceSoft’s QA consultants are ready to help you design a pragmatic QA and software testing strategy, a detailed action plan and calculate QA process setup costs.

Request a consultation

A real-life project example by ScienceSoft

QA Process Improvement for a Global Provider of Security Audit and Compliance Services

QA Process Improvement for a Global Provider of Security Audit and Compliance Services

ScienceSoft helped improve the Customer’s QA process and migrate its product from Oracle to IBM database on time by creating and implementing an effective QA strategy, providing risk analysis and delivering training materials on software testing for a new IBM testing team.

Typical Roles on a QA Team

The size and composition of the QA team depends on the project’s size and complexity. The following roles are generally present within ScienceSoft’s QA team:

QA Consultant

  • Analyzes software requirements
  • Analyzes the existing QA process, assesses its maturity level.
  • Works out a plan to solve problems in the QA process.
  • Designs a new QA process and its setup plan.
  • Analyzes risks bound to changes in the existing QA process or new QA process setup and creates a risk mitigation plan.

QA Manager

  • Builds QA activities into all SDLC stages and controls their execution.
  • Works out the scope of testing activities.
  • Defines the testing plan and manages testing resources.
  • Controls test design and test execution.
  • Ensures that the planned goals are met and delivered on a daily basis.

QA Test Engineer

  • Writes test cases.
  • Creates test data and executes tests.
  • Reports defects and performs re-testing after the defects are fixed.

QA Automation Test Engineer

  • Writes and executes automated test scripts.
  • Reports and validates that the defects are fixed.

Sourcing Models for QA Process Setup

A QA manager and a QA team are in-house

The whole QA process and project-related documentation are under the customer’s control. However, an in-house QA team may lack experience in establishing a QA process, which entails hiring and training expenses, as well as more time on QA process establishment and implementation.

A QA manager is in-house and a QA team is partially or fully outsourced

Partial or full QA team outsourcing reduces QA implementation expenses. Yet, an in-house QA manager has to be skilled in creating a QA process from scratch or planning and introducing necessary improvements to the existing QA process. In addition, a QA manager should establish an effective communication with an outsourced team to ensure swift and easy cooperation.

A QA manager and a QA team are outsourced

An experienced vendor takes care of the whole QA setup and implementation, which saves QA process setup time and costs. Still, companies should be careful when choosing a QA partner due to security and confidentiality risks.

A reliable vendor should have

A reliable vendor should have:

  • ISTQB-certified professionals on board.
  • Experience in the customer’s industry (e.g. manufacturing, retail, wholesale, healthcare, financial services, telecommunications, etc.).
  • International certifications (e.g., ISO 13498, ISO 27001 or ISO 9001 certificates).

Hide

Entrust Your QA to ScienceSoft!

With a portfolio of 730+ testing success stories, ScienceSoft’s team knows all QA ins and outs and is ready to set up a high-quality QA process for your project.

ScienceSoft Recommends: Software for QA Process Automation

As a part of QA activities, ScienceSoft uses the following tools for test automation:

Selenium

Description

  • Works across major web browsers (Chrome, Explorer, Firefox, Opera, Safari).
  • Runs across multiple operating systems (Windows, Mac, Linux).
  • Selenium Grid enables testing on multiple machines and manage different environments from a central point.
  • Requires good programming skills to install and work with.
  • Lacks advanced reporting capabilities.

Best for

Automated web application testing.

Pricing

Open-source.

Apache JMeter

Description

  • Used for load and performance testing.
  • Can run on multiple platforms (Linux, Windows, iOS).
  • User-friendly UI: easy to adopt and operate.
  • Ability to test many protocol types: HTTP, HTTPS, POP, IMAP, LDAP, SOAP and FTP.
  • Allows concurrent sampling by many threads and simultaneous sampling of different functions by separate thread groups.

Best for

Automated performance/load testing.

Pricing

Open-source.

Jenkins

Description

  • Offers plugins for test frameworks like Selenium, Cucumber, Appium, etc.
  • Supports on-demand and scheduled tests.
  • Summarizes test results and displays them as an HTML page.
  • Contains configurations that can be complicated to handle.

Best for

Running automated tests along the CI pipeline.

Pricing

Open-source.

Cost Factors of QA Process Setup

  • The complexity and number of functional and non-functional software requirements.
  • The need to comply with domain specific certifications and standards.
  • (For QA process redesign) Maturity of the existing QA process that will influence the scope of future QA activities.
  • The QA maturity level you need to achieve.
  • The project timelines, number of iterations, and release schedule.
  • The complexity of test environment and test data.
  • The cost of tools applied (when the QA process is set up by an in-house team).

Need to Estimate QA Implementation Costs?

The costs of QA implementation vary depending on the project. Having experience in 730+ successful QA projects since 2010, ScienceSoft estimates costs of QA process setup specifically for your case.

About ScienceSoft

Founded in 1989, ScienceSoft is a global IT consulting, software development, and QA company headquartered in McKinney, TX, with a corporate presence in the Gulf Cooperation Council and Europe. Relying on our 35-year experience in software testing and 22-year experience in QA consulting, we help our clients establish effective quality assurance processes and improve the quality of software. Being ISO 27001 and ISO 9001 certified, ScienceSoft guarantees the security of customers’ data and the high quality of the delivered services. If you need to establish an effective QA process, contact us for more detailed information.