Methodology
Quality Assurance
Processes
 
Quality Assurance
In order to ensure the quality of deliverables in every phase, VeriPark uses a common and proven set of Quality Assurance (QA) principles. These principles allow VeriPark to guarantee the quality of deliverables and build an effective client-centered Quality Assurance strategy.

Phase 1: Discovery

Quality assurance in the Discovery Phase is focused on structuring the approach. This means ensuring that the processes for change management, risk management, and issue resolution are well-defined, and that the development life cycle has been appropriately tailored for the project.

Some of the components that should be considered for the QA of planning and management:
  • The basic development approach
  • Customer expectations
  • Overall scope of the project
  • Team logistics and communications
  • Project planning
  • Responsibilities and roles
  • Progress reporting
  • Project reviews

Phase 2: Analysis

QA in the Analysis Phase involves reviewing requirements for accuracy and completeness. Particular attention is paid to identifying requirements that are difficult or impossible to implement given the customer's environment. QA regarding organizational design activities in this phase should be focused on the integration of the organizational design with the requirements.

Some considerations during requirements gathering:

  • User state design
  • Security (internal and external)
  • Workflow design
  • Information storage policies and limitations
  • Organizational policies and legal restrictions
  • Managing customer expectations (ongoing)
Attributes of good requirements according to the IEEE:

Flexibility Requires minimal effort to modify an operational program.
Integrity, Security Includes factors that protect the software from accidental or malicious access, use, modification, destruction, or disclosure.
Interoperability Requires minimal effort to couple one system with another.
Maintainability Provides ease of maintenance of the software itself.
Portability Provides ease of porting the software to another host.
Reliability Includes factors that establish the required reliability of the system.
Reusability Addresses the extent to which design and code can be reused in another application.
Testability Requires minimal effort to test and ensure that everything performs as intended.
Usability Requires minimal effort to learn, operate, prepare input, and interpret output.
Availability Includes factors required to guarantee a well-defined availability level for the system.
 

Phase 3: Design

QA during the design phase is inherently complex because each component of the application must be accounted for. Generally, an application architect coordinates the QA of the application, supported by the use of domain experts for the QA of particular components. QA of the technical infrastructure ensures that all areas have been assessed, and that the proposed design will provide sufficient performance and scalability for the application.

During design QA:

  • Determine the level of application complexity with regard to integration, security, performance, databases, platforms, specifications, scalability, extensibility, modularity, maintenance, and re-use.
  • Determine the areas of the application that are most at risk.
  • Determine the areas to which the customer is most sensitive. This requires an understanding of the customer's priorities and objectives. This information is outlined in the system requirements document.

Phase 4: Development

QA in the development phase ensures that the system has been created according to the specifications and utilizes a solid technical framework. QA ensures that general coding guidelines and specific client requirements have been properly implemented.

QA during development:
  • Ensure that detailed designs are consistent with high-level designs. The system should be logically organized to facilitate assignment of resources and areas of re-use.
  • Enforce good coding practices and guidelines. Identify areas of excessive complexity for a coordinated detailed design. This will involve design and code reviews at the appropriate time.
  • Implement a team structure that optimizes communication of development issues. Implement the project communications plan.
  • Identify areas that require early assignment of responsibility such as database loading or conversion.
  • Create escalation paths and mentoring teams. Provide checkpoints and reviews for new team members.
  • Emphasize and implement the design objectives for security, performance, portability, scalability, extensibility, modularity, maintenance, and re-use.


Phase 5: Deployment

The major QA focus during the deployment phase is on testing; testing is the final QA checkpoint and assures the quality of the system delivered. Test scripts should not only test the expected functionality of the site but should also test all possible functionality and behavior of the site. QA of the deployment is centered on the configuration of the entire system in a production environment. The focus of this QA effort is to ensure a clean site launch. Deployment requires executing deployment steps and deployment tests to verify that the site is operational.

During test QA:

  • Validate that the system has been constructed exactly as indicated in the functional specifications and associated project change requests.
  • Map which programs and pages satisfy each specification.
  • Develop test scripts that show how to test each function and state in each program and page.
  • Ensure the success of the user acceptance test by executing test scripts and conditions for all possible behaviors. Bang on the system to see if you can get it to break.
  • Develop multiple databases or data sets if needed to implement all of the test scripts. Data preparation is essential for a high-quality testing effort.
  • Implement problem tracking to identify and resolve issues.
  • Develop a system to re-evaluate and escalate problems if necessary. This system should ensure that the priority, severity, and cost of problems are accounted for in setting client expectations.

QA during the deployment phase:

  • Review the site deployment software and hardware configuration information.
  • Identify which key areas of production testing are to be performed once the site is placed in a production environment. These tests must be structured to test all of the configuration parameters.

 
Copyright © 2002-2007 VeriPark All rights reserved. | Privacy Policy