|
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.
|