• info@helpingtesters.com
  • helpingtesters

Software Quality Assurance Activities

September 7, 2016
Software Quality Assurance ,quality assurance software, Software Quality ,Quality Assurance activities, Software Quality Assurance quality assurance software, Software Quality ,Quality Assurance activities, Software Quality Assurance

Software Quality Assurance (SQA) is the process of making sure that the software is free from defects or mistakes and performs all the functionalities without complaints just before the delivery.The SQA process talks about the evaluation of the software on the basis of certain activities.

The Software Quality Assurance is measured based on the internal and external quality features of the software. The external quality is measured based on the real-time activities in operational mode and how the software is useful for the end users.

The internal quality is measured based on the style and quality of the code written. Mostly the client will bother about the external quality only. But, in effect for a perfect performance of the software, the internal quality is an important aspect to be considered and maintained.

How to Determine the Software Quality Assurance?

The 2 approaches to determine the Software Quality Assurance are:

The Defect Management Approach

The defects are categorized on the basis of the severity. The counts of the defects are taken and the actions are decided by analyzing the occurrence of defects. The defects come from very minute issues and extend to the coding defects, the non-completion of the requirements and of course if the application does not look good for the customers. Defect management process is based on some principles:

  • Preventing defect is the primary goal of defect management approach. But preventing defects completely is not possible and so the purpose is to find out the defects as early as possible and to minimize the impact of the defects.
  • To prevent the defects some process should be altered.
  • The defect measurement processes should be integrated into the software development process, and thereby the process can be improved.
  • Defect information always helps to improve the processes and hence the defect information is very useful for perfect completion of the software developed.

The diagram below explains the various stages of the defect management approach.

Defect Management Diagram    

The Software Quality Assurance Attribute Approach 

There is a  list of attributes which describes the step by step approach to obtain Software Quality Assurance. The attributes are given as in the diagram below:

    

Quality Attribute Approach

Functionality: The attributes considers the set of all the functions used in the software.

  • Suitability: Ensures the functions of the software are appropriate.
  • Accuracy: Ensures the accurate usage of the functions.
  • Interoperability: Ensure the effective interaction of the software with other components.
  • Security: Ensure the software is capable of handling any security issues

Reliability: The purpose of the attribute is  to check the capability of the system to perform without delay during any conditions

  • Maturity: Less possibility of failure of the software in any activities.
  • Recoverability: The rate of recovery ability once a failure occurs.

Usability: The purpose is to ensure the use of a function

  • Understandability: How much effort a user needs to understand the functions.

Efficiency: The attribute depends on the architecture used and the coding practices.

Maintainability: The way to analyze and fix a fault/issue in the software

  • Analyzability: Finding out the cause of failure.
  • Changeability: How the system response to necessary changes.
  • Stability: How stable the system is when the changes made.
  • Testability: Testing efforts

Adaptability: Ability of the system to adopt the changes in its environment.

SQA Activities to Assure the Software Quality

The Software Quality Assurance of the software is analyzed and ensured by performing a series of activities. The activities are performed as step by step process and the result analysis is reported for the final evaluation process. The activities are performed as step by step process and the result analysis is reported for the final evaluation process.

A Quality Management Plan

A Quality Management Plan is designed and developed for the Software Quality Assurance Process. The plan includes the proper technical methods to manage the Software Quality Assurance activities. The plan requires a  tracking as a live plan based on the  SDLC.

Applying Software Engineering Techniques

The software engineering techniques are selected to achieve software quality. The techniques to be used for Software Quality Assurance are determined by analyzing the requirements collected. The requirement evaluation can be done by using some techniques eg: Facilitated  Application Specification Technique[FAST].

Also, a project estimate is prepared with the help of techniques such as Work Break Down[WBS] and Source Line of Code[SLOC] Estimation.

Technical Reviews

The Formal Technical Reviews[FTR] are conducted to assess the quality and design of the quality management plan. FTR is performed in the presence of the technical people and so will be helpful to find the defects in the early stages. FTR helps to avoid the need for reworking as the reviews in each phase are done with discussing the technical experts.

Applying the Testing Strategy

The testing strategy is designed and applied. The various levels of testing are designed and scheduled. The testing strategies are designed based on the policies of the company, the stages for each test phase execution are designed and scheduled for the concerned persons. Alpha testing and Beta testing with selected clients are also conducted to test the product before delivered.

Ensuring Process Adherence 

The process adherence is the combination of 2 tasks product evaluation and process monitoring.Product evaluation is the process of ensuring all the requirements identified in the product development result to the completion of the functionalities.

Also, the evaluation process is conducted to monitor the standards and procedures.
Process Monitoring is the process of comparing actual steps for the procedures with the expected steps designed in the documented procedures.

The process ensures the procedures and control processes described in the procedure documentation are carried out in the correct way and completed without any critical issues. These process evaluations are checked in the Audit Process.

The Change Control Process

The Change Control is the process which formalizes the request for changes, evaluates the quality/nature of changes, controls the impact of changes. The  Change Control Mechanism is designed and implemented during the design and development stages.

Software Quality Assurance Audits

Software Quality Assurance Audits inspects the Software Development Process by comparing to the established processes. Software Quality Assurance Auditor is the responsible person who reviews and checks the activities are executed to the highest possible standards. The quality of the project handling can be analyzed only through the results of the review submitted by the Software Quality Assurance Auditor.

Generate Reports

Appropriate records for all the activities should be generated for future references. These activities evaluate the quality of a  project and also tests the way of handling project management processes. This will result in a review of the performance of the Test Engineer who is in charge of the Test Management  Processes.

Software Quality Assurance Activities

The Benefits of Software Quality Assurance are:

  • Monitoring and Improving the Project Management Process.
  • Ensuring the Standards are followed for handling procedures.
  • Preventing the severe Software Quality Assurance Issues.

 

Test Phases for a Test Management Process

The Software Quality AssurancevActivities are designed and performed based on the test phases scheduled. The Software Quality Assurance diagram below explains each and every step of the Activities designed. In each SQA phase, the Software Quality Assurance team provides consultation and review of the project plan, work products, and procedures with regards to the organizational policies.

After the completion of the Software Assurance Implementation, an output for the test management review and audit is generated, and this report will be the evidence for the test engineer’s management quality and performance.

SOFTWARE QUALITY ASSURANCE ACTIVITIES

Software Quality Assurance Activities


Once these activities are completed, the next step is to check for:

  • Any defects/weaknesses in any activity/process
  • Improve the system performance by correcting those weaknesses on a priority basis.

The software Quality Assurance [SQA] is accomplished by following some standards such as ISO 9000, CMMI or Six Sigma.

The Project Delivery Life Cycle

The project delivery life cycle incorporates QA activities and the deliverables.The Life Cycle has divided into 5 different phases and the activities and deliverables are associated with each phase.

PHASE 1: ASSESSMENT

This is the phase at which an assessment of the requirements are done and developed for realizing certain business objectives and project design. QA Deliverable: Software Quality Assurance Analyst submits a revised document on the requirement analysis and Quality Assurance Plan.

PHASE 2: PLANNING

This is the phase at which the strategic plan for the project around the information architecture is developed. The functions for various processes are also designed and double checked.

QA Activities:

  • Deciding the standards and procedures.
  • Develop Test Matrix: Design the test matrices.Decide the scope for testing and connect the test objectives to the requirement specifications.
  • Auditing: The standards and procedures are audited and quality standards are ensured.

  QA Deliverables

  • Test Matrix
  • Revised Documents on the testing plan.

PHASE 3: DESIGN

This is the phase in which all the necessary system components are identified based on phase 1 and 2. Then detailed design specifications are created for each component.

QA Activities:

  • Auditing Procedures and Standards
  • Design QA PLAN, QA Test  Plan

QA Deliverables

  • QA Plan for testing.
  • A revision of the test matrix.

PHASE 4: DEVELOPMENT

This is the phase at which the developers constructs the project based on the design phase.

QA Activities:

  • Planning Test cases: The test cases for the STLC are designed.
  • Prepare the Quality Assurance Test cases.
  • Prepare the test environment.

QA Deliverables

  • Submits a set of Test cases.
  • Set up the QA Environment

PHASE 5: IMPLEMENTATION

This is the phase in which the team concentrates on the testing and review of all aspects of the system. The team develop proper documentation for system training, market test plans etc…for making the system ready to launch

QA Activities

  • Executes all test cases in the QA Test Plan

QA Deliverables

  • Test Results and Reports.
  • Bug Report.

Conclusion 

The Software Quality Assurance is also known as the Management Review. The importance of the process is that it ensures the test manager performs the right things in the right way without failure in the specified activities. The set of Software Quality Assurance Activities is designed for the project manager to follow the predefined standard processes. Thus Software Companies are in need of an Software Quality Assurance or Management Review team in Test Management Process.

About the author

Meera Sandeep author

Leave a Reply

Your email address will not be published.