Software Quality Assurance
Home | About Heinsights | Products & Services | Partners & Associates | Common Sense | Contact Us

What is quality? Who is the customer? What kind of, and how much quality do most customers want? There may be multiple customers for a software product - the end-users, the eventual product maintainers, the business process owners, etc. Often when these customers and / or developers make an attempt to define quality, it is narrowly defined. Usually it is defined as reliability - the absence of product defects, or the absence of product failures during critical moments of system operation. Reliability is one of the more important elements of quality, but not the only one customers expect. Even though they may not be able to define them, customers also expect the following applicable requirements to be addressed in the product:


        Functional and data requirements - customers expect the system to have all of the features and handle all of the associated data required by the business function being automated.

        System and design constraints - constraints imposed by customer or industry standards, hardware limitations, site standards, etc. For example, the mandate to use previously written or purchased software modules or packages to perform certain system functions.

        Security, audit and regulatory requirements - constraints mandated by data sensitivity, economic and legal requirements, and by government or industry regulations.

        Integrity requirements - constraints imposed to ensure data and system integrity. They may also specify the level of system error detection / tolerance. They are generally defined by specifying the validity and accuracy of system input / output and the formulas and processes used to manipulate the data.

        Hardware and software platform and communications requirements - special requirements regarding existing hardware or communication needs or third party vendor software. These often include requirements for interfacing systems. 

        User interface requirements - user interface requirements that affect the system design. For example, ease of use may be a requirement for the delivered product. This requirement might direct the developers in the subsequent Design phase to pursue the utilization of a graphical interface or touch screen technology. Or, the users may be physically challenged, so only certain hardware and software can be considered in the Design phase.

        System interface and conversion requirements - special requirements for data conversion and system interfaces such as data validation/scrubbing, real time data handling, querying/updating of remote databases, etc.

        Operation and performance requirements - special requirements pertaining to the amount of data, hardware, software, training, system availability and system throughput / responsiveness needed to support the operational system.


In summary, systems quality means: meeting all customer expectations, explicit and implicit. It pays for a project to explicitly define all applicable quality requirements very early in the project and then employ quality assurance methods to ensure the requirements are being incorporated into the system design and built into the delivered product.


What is quality assurance? Quality assurance includes more than just testing the product at the end of the development lifecycle - it includes activities performed during every phase of the lifecycle to ensure the deliverables of each phase meet specified requirements and that they are sufficient to perform the work of the next phase. It also includes activities to measure and tune the product development process as the project is being executed. Since this service is much more comprehensive than testing, it will not only help to ensure the quality of the product delivered, but also (through a reduction of project rework) ensure that the product is delivered on schedule and within cost constraints.


Heinsights uses a concept called Verification & Validation (V&V) as an encompassing framework for the lifecycle quality assurance activities that will be performed for you. Within this V&V framework, testing will be one of the key product validation activities performed. The scope of the project Quality Assurance service will include: (1) V&V planning - producing a Software Verification & Validation Plan (including a product test plan), (2) V&V team formation, (3) Project lifecycle V&V execution (including reviews, inspections, testing, metrics collection and evaluation, etc.), problem identification and resolution, and (4) V&V reporting - producing a product Software Verification & Validation Report (including a product test report) and making recommendations for product release.