logo for information-management-architect.com
Home
Strategy
Framework
Business Case Analysis
Project Planning
Requirements Analysis
Architecture & Design
Build Phase
Quality Assurance
Transition to Production
Management Information
Business Intelligence
Data Warehouse
Tools
Jobs
Contact David Bowman
leftimage for information-management-architect.com

Software Testing Procedures

Need information management software testing procedures and want practical suggestions to ensure rapid project delivery?


Software Testing Procedures Checklist

Unit testingSofware Testing Procedures
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.



footer for Information management page