Software QA FYI - SQAFYI

Auditing Software Testing Process

By:

In this tutorial you will learn about Auditing Software Testing Process - Introduction, Types of Testing Process Audits, Audit to verify compliance, Audit for process improvement/problem solving, Audit for Root Cause Analysis, Internal Audits, External Audits, Why Audit Software Testing Process? How to Audit, What can be audited? and Summary.

Introduction:
To ensure transparency and reliability of the IT systems it may be necessary to audit the Software Development Processes including the most important aspect Software Testing Process.

Auditing is an important activity in organizations. In the context of testing it helps us ensure that the Testing processes are followed as defined.

Types of Testing Process Audits
There can be various reasons to conduct Audits. The Audits may serve aim to achieve certain definite goals. Based on that we can classify them as follows:

Audit to verify compliance: In this type of auditing the prime motivation is to judge if the process complies with a standards. In these scenarios, the actual testing process is compared with the documented process. For example ISO Standards require us to define our Software testing process. The audit will try to verify if we actually conducted the testing as documented

Audit for process improvement/problem solving:
In this type of audit the motivation is to audit and trace the various steps in the process and try to weed out process problems. For instance it is observed that too many software defects escaped detection even though the testing process was apparently followed. So the audit is done as a preliminary step to collect facts and analyze them.

Audit for Root Cause Analysis
In this type of audit the motivation is to audit the testing process is to find a Root Cause of a specific problem. For example the customers discovered a huge problem with the software. So we retrace our testing steps to find out what went wrong in this specific case.

Internal Audits

Typically the internal audits are initiated from within the organizations

External Audits

External Audits are done by and initiated by external agencies

Why Audit Software Testing Process?

Auditing Test Process helps the management understand if the process is being followed as specified. Typically Testing audit may be done for one or more of the following factors:

To ensure continued reliability and integrity of the process
To verify compliance of standards (ISO, CMM, etc)
To solve process related problems
To find the root cause of a specific problem
To detect or prevent Fraud
To improve the Testing process

Auditing of the Testing process may also be done if the Software Product is a mission critical one such as used for Medical Life Support Systems This is done to prevent any loop holes or bugs in the system

How to Audit
Typically the Audit of the Testing Process will include the following steps:

reviewing the Testing process as documented in the Quality Manual This helps the auditor understand the process as defined.

Reviewing the deliverable documents at each step

Document reviewed include
............... Test Strategy
............... Test Plans
............... Test Cases
............... Test Logs
............... Defects Tracked
............... Test Coverage Matrix
............... any other relevant records

Each of the above document provides a certain level of traceability that the process was followed and the necessary steps were taken

Interviewing the Project Team at various levels PM, Coordinator, Tester Interviewing the Project Team members gives an understanding of the thought process prevalent in those conducting the Testing Process. This can provide valuable insights over an above what was actually documented

ISACA ww.isaca.org provides guidelines and standards for Auditing Information Systems & Software Development Lifecycle

CISA stands for Certified Information Systems Auditor

Similarly independent agencies may verify the Test Processes and SDLC for ensuring compliance with FDA ( Food and Drug Administration)

What can be audited?
Whether the test process deliverables exist as specified

The only thing that can be really verified in an audit is that the process deliverables exist. The process deliverables are taken as a proof that the necessary steps were taken to do the testing. For example if Test Logs exist, we assume that testing was done and the Test Logs were created as a result of actual tests executed.

A separate exercise may be initiated to verify the authenticity of the Test Logs or other test deliverables

Full article...


Other Resource

... to read more articles, visit http://sqa.fyicenter.com/art/

Auditing Software Testing Process