The Talent500 Blog
What is an SQA plan? 1

What is an SQA plan?

Software quality assurance (SQA) is a method of ensuring that all software engineering processes, methods, activities and work items are monitored and conform to established standards. Standards may include ISO 9000, CMMI model, ISO15504, or a combination of these standards along with others.  

SQA strives to encompass all software development processes and activities, from defining requirements, coding, debugging, and all other activities until release. As the name suggests, it focuses on preserving and delivering quality for a software product.

Software Quality Assurance (SQA) plan 

A Software Quality Assurance Plan revolves around making sure that the product or service teaches the market trouble and bug-free. It should also meet the requirements defined in the SRS (software requirement specification). 

 The purpose of an SAQ plan is three-fold. It comprises the following:

  • Establishing the QA responsibilities of the team in question 
  • Listing areas of concern that need to be reviewed, audited and looked at
  • Identifies the SQA work products

 An SQA plan will work alongside the standard development, prototyping, design, production, and release cycle for a software product or service. For easy documentation and referencing, an SQA plan will have different sections like purpose, references, configuration and management, problem reporting and corrective actions, tools, code controls, testing methodology, and more.

SQA activities

These are, quite simply put, a set of activities common to normal SQA operations. 

  1.   Creating the plan
    It consists of the engineering activities to be carried out, and ensuring the right skill mix in the team. It also lays out the specifics of the actions to be taken in different situations as well as the tools and procedures specific to the plan.
  2. Checkpoint lists
    Evaluation of quality of activities at each project stage. This means that there are regularly scheduled inspections and adherence to the schedule.
  3. Executing formal technical reviews
    FTRs are used to evaluate the design and quality of the product prototype. Quality requirements and design quality for the prototype are discussed in meetings with the technical staff.
  4. Multi-testing strategy
    Adopting multiple testing approaches to cover all bases and ensure the best possible quality.
  5. Process adherence
    Designers, developers, and other technical staff must conform to established processes and employ defined procedures. It comprises the following:

    Product Evaluation – the product is evaluated against the specifications laid out in the project management plan.Process Monitoring – verifies that the steps taken in software development are  correct and match the steps against the documentation.
  6. Control changes
    Manual and automated control tools are used for validating change requests, evaluating the nature of change, controlling and if required, arresting the change effect. In effect, this makes sure that the software being developed does not stray too far from the outlines.
  7. Measuring Change Impact
    If defects are found, the concerned department issues a fix. The QA team then determines the change and the extent of the change brought by the fix. The change should be stable and should be compatible with the whole project. There are software quality metrics that allow managers and developers to observe these activities and monitor changes throughout the SDLC of the product or service.
  8. SQA Audits
    The audit inspects the entire SDLC process to the established procedure laid out in the SQA plan. Non-compliance and missed faults can be unearthed and fixed due to this.
  9. Record and report keeping
    Keeping SQA documentation and information with associated stakeholders. This includes audit reports, test results, reviews, change request documentation, and other documentation generated during the entire SDLC.
  10. Relationship management
    Managing and interfacing between the QA and the development team, thus keeping roles in check and responsibilities ahead of the individual.

Automated software engineering techniques

There are a number of open source testing tools as well as commercially used  tools available for this purpose. Here are the most used examples.

  1. Selenium
    A portable software testing tool and automation tool for web applications. A test domain-specific language is also provided. To write test cases one can use programming languages including C#, Java, Perl, PHP, Python, Ruby, Scala, and Groovy. Selenium is a product suite of software consist of the following components:

What is an SQA plan? 2

  1. HP UFT

  HPE Unified Functional Testing was previously known as HP QuickTest Professional. It offers testing automation for functional and regression testing for software applications. It is a user-friendly IDE that provides the best sort of API and GUI testing.

What is an SQA plan? 3

SQA implementation phase

Before building an application, developers and the SQA team create a development plan. To ensure that the SDLC plan gets executed, the developers write the SDLC plan while the SQA team writes the Software Quality Assurance plan. The application that is about to be developed is already halfway done if the documents by the developers and the SQA is well written and organised.

In this phase, the SQA team’s responsibility is to ensure the implementation of the proposed features of the intended application. Along with the implementation, the method of developing the application will also be tracked by the application. There are some design methods that can be used such as language or framework. The SQA team helps the development team in selecting the proper framework or language.

The most important task of the SQA team at this stage is to implement clarity of the coding. Developers could easily write the code of the application but there is a tendency to overdo the coding. The SQA team emphasises the organisation of the coding which should be understood easily. Aside from the coding, the comments within the language are also checked thoroughly. The comments should clearly define each function.

The SQA team checks the software’s documentation. The documentation clearly states the function of the application.

SQA standards

In a typical SQA, compliance is demanded against the following standards. This may be a single standard, more than one standard, or a mix of these standards.    

  • ISO9000 
  • CMMI level (Capability maturity model Integration) 
  • TMMi (Test Maturity Model Integration) 
  • ISO15504

To remain compliant with the above-listed standards, there are a few techniques that are listed in the SQA plan. These SQA techniques include auditing, reviews, code inspections, design inspections, simulations, functional testing, walkthroughs, static analysis, standardizations, stress testing, path testing, Six Sigma principles, and more. 

 These techniques when used in conjunction with the defined SQA plan save development costs, time, and maintenance costs, boost reputations, increase product safety and give more benefits.  

 SQA is an interconnected, inter-reliant, and overarching umbrella activity that remains of paramount importance through the SDLC. To say the least, it is a prerequisite for market success and keeping up investor and consumer confidence. It ensures high quality and makes sure that the software product or service remains aligned with the business needs and functions as required when deployed.

 

 

0
Subhojit Hazra

Subhojit Hazra

He is a tech enthusiast and a passionate marketer with an eye for detail. He loves to uncomplicate things and debate on business problems. A quiet guy who likes peaceful evenings and iced coffees.

Add comment