Software Testing Procedures
Need information
management software
testing procedures and want practical suggestions to ensure rapid
project delivery?
Software Testing Procedures Checklist
Unit testing
Review design specification
with designer.
Prepare unit test plan before coding.
Create test data and document expected
test results.
Ensure that test data validates the
module's logic, adherence to functional requirements and adherence to
technical standards.
Ensure that test data tests all module
source code and each
conditional logic branch.
Conduct unit test in personal schema.
Document test results.
Place test data and test results in
project documentation repository.
Check code into code repository.
Participate in code readiness review
with Lead Developer.
Schedule code review with appropriate
team members.
Assign code review roles as follows:
- Author, the developer who created the code;
- Reader, a developer who will read the code during the
code review—The reader may also be the author; and
- Scribe, a developer who will take notes.
Code review software
testing procedures
Validate that code readiness
review has been completed.
Read code.
Verify that code and
unit test results conform to data movement best
practices.
Verify that all conditional logic
paths were followed and
that all error messages were tested properly.
Verify that coding security
vulnerability issues have been addressed.
Verify that test data and test results
have been placed in project documentation repository.
Verify that code has been checked into
code repository.
Document action items.
System testing software testing procedures
Review design specifications with
designer.
Prepare system test plan and identify:
- System test objectives;
- Methodology that will be used;
- Conditions that impact the test;
- How tests will progress from one test to the next;
- Expected test results;
- Test constraints; and
- System test acceptance criteria e.g. what determines
a successful system test.
Create test data and document expected
test results.
Create the system test environment.
Create system test data.
Document expected results.
Move system test data to system test
environment.
Migrate code to system test
environment.
Back-up system test environment.
Execute work streams that comprise the
system test.
Validate test results. If issues are
discovered:
- Notify developer;
- Fix code;
- Update test data and test results if needed;
- Place test data and test results in project
documentation repository.
- Check code into code repository.
- Restore system test environment test data;
- Re-migrate corrected code to system test environment;
- Execute work streams that comprise the system test;
and
- Confirm that system test achieves system test
objectives.
Document system test results.
Place system test data and test
results in project documentation repository.
Check code into code repository (If
needed)
Integration testing
software testing procedures
Prepare
integration test plan and identify:
- Integration test objectives;
- Methodology that will be used;
- Conditions that impact the test;
- How tests will progress from one test to the next;
- Expected test results;
- Test constraints; and
- Integration test acceptance criteria e.g. what
determines a successful integration test.
Validate that the integration test
plan includes:
- System
and
volume testing;
- Reconciliation
tests;
- Regression testing; and
- Performance testing.
Create integration test
data.
Create the integration test
environment.
Document expected results.
Move integration test data to
integration test environment.
Create an integration test object
migration plan to identify:
- All code included in the test;
- All data definition language (DDL) scripts;
- All data manipulation language (DML) scripts;
- Any other scripts such as Unix shell scripts;
- All system test results;
- All integration test data; and
- All project documentation impacted by the code.
Validate that all objects in the
object migration plan comprise a planned production release i.e. a set
of
components intended to move to production as a planned release.
Migrate all integration test objects
to integration test environment.
Back-up integration test environment.
Execute work streams that comprise the
integration test.
Validate test results. If issues are
discovered:
- Document defects in the defect tracking tool;
- Assign defect severity;
- Assign defect to appropriate developer for correcting;
- Fix code;
- Update unit test data and test results if needed;
- Re-run system test if appropriate;
- Place unit and system test data and test results in
project documentation repository;
- Check code into code repository;
- Restore integration test environment test data;
- Create new version of object migration plan to
identify changed objects;
- Migrate modified objects to integration test
environment;
- Execute work streams that comprise the integration
test;
- Confirm that integration test achieves system test
objectives; and
- Close appropriate defects.
Document integration test results.
Place integration test data and test
results in project documentation repository.
Security testing software
testing procedures
Should be performed in the
production environment under the
direction of the security officer.
Should certify
compliance with system security and integrity
Should address:
- System back-up;
- Recovery; and
- Security audit trails and tracking.
Quality assurance
testing software testing procedures
Prepare quality assurance test plan
and identify:
- Test objectives;
- Methodology that will be used;
- Conditions that impact the test;
- How tests will progress from one test to the next;
- Expected test results;
- Test constraints; and
- Test acceptance criteria e.g. what determines a
successful quality assurance test.
Create quality assurance test data.
Document expected results.
Create the quality assurance test
environment.
Move integration test data to
integration test environment.
Create an object migration plan to
identify:
- All code included in the test;
- All data definition language (DBL) scripts;
- All data manipulation language (DML) scripts;
- Any other scripts such as Unix shell scripts;
- All system test results;
- All test data; and
- All project documentation impacted by the code.
Validate that all objects in the
object migration plan comprise a planned production release i.e. a set
of
components intended to move to production as a planned release.
Back-up quality assurance test
environment.
Prepare a quality assurance test plan
to identify script execution schedule and roles and responsibilities.
Review
test plan with production support team, or release team, that may be
required to migrate code and/or execute scripts in the quality
assurance test environment.
Migrate all quality assurance test
objects to quality assurance test environment.
Execute work streams that comprise the
quality assurance test.
Validate test results. If issues are
discovered:
- Document defects in the defect tracking tool;
- Assign defect severity;
- Assign defect to appropriate team for resolution;
- Resolve defect;
- Update unit test data and test results if needed;
- Re-run system and/or integration test if appropriate;
- Place updated unit, system and integration test data
and test results in project documentation repository;
- Check code into code repository;
- Restore quality assurance test environment test data;
- Create new version of object migration plan to
identify changed objects;
- Migrate modified objects to quality assurance test
environment;
- Execute work streams that comprise the quality
assurance test;
- Confirm that quality assurance test achieves system
test objectives; and
- Close appropriate defects.
Document quality assurance test
results.
Place quality assurance test data and
test results in project documentation repository.
User
acceptance testing (UAT) software testing procedures
Should focus on testing a set
of
requirements to ensure that they meet user expectations.
Should be
performed in the quality assurance test environment or in a separate
user acceptance test environment.
Should follow similar software testing
procedures as
the integration test.
Release test software testing procedures
Prepare release test plan and identify:
- Description of change;
- Roles and responsibilities;
- Change requirements;
- Object migration plan;
- Release tasks and schedule;
- Communications plan
- Back-out plan including release checkpoints; and
- Test Plan
Create release test data--This
may be a copy of production data.
Create the release test environment.
Restore the production environment to
the release test environment.
Move release test data to release test
environment.
Finalize the object migration plan to
identify all objects includes in the release.
Review release plan with release team.
Migrate all objects to release test
environment.
Execute scripts and workstreams in the
sequence identified in the release plan.
Validate test results.
Obtain certification that release is
ready to migrate to production.
Summary...
Standard software testing procedures should be specified in the project
implementation plan and test plan. They should clearly establish test
expectations for all team members.
It is
important to complete the plan
early in the project and manage it carefully to
ensure on time, within budget project delivery.
|