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

Unit Testing

Need to complete information management unit testing and want practical suggestions to ensure rapid project delivery?

What is quality assurance testing?

The objectives of the quality assurance testing phase is to ensure that allUnit Testing software components meet requirements and are ready to transition to production.

What is a test plan?

A plan is a communications tool, which clearly sets testing expectations for all team members. The plan should identify:
  • Test strategy;
  • Test plan;
  • Test data strategy;
  • Test deliverables;
  • Resource plan;
  • Training considerations; and
  • Test schedule.

What is unit testing?

Module testing is generally conducted by the developer who develops the code.

Information management projects generally have have following development work:
  • Data movement software;
  • Data conversion software;
  • Data cleansing routines;
  • Data base development DDL; and
  • Business intelligence and reporting analytical solutions.
Module testing validates that each module's logic satisfies requirements specified in the requirements specification.


Best practices

Should focus on testing individual modules to ensure that they perform to specification, handle all exceptions as expected, and produce the appropriate alerts to satisfy error handling.
Should be performed in the development environment.
Should be conducted by the software developer who develops the code.
Should validate the module's logic, adherence to functional requirements and adherence to technical standards.
Should ensure that all module source code has been executed and each conditional logic branch followed.
Test data and test results should be recorded and form part of the release package when the code moves to production.

Should include a code review, which should:
  • Focus on reviewing code and test results to provide additional verification that the code conforms to data movement best practices and security requirement; and
  • Verify that test results confirm that all conditional logic paths were followed and that all error messages were tested properly.
Testing Procedures

Review design specification with designer.
Prepare 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 procedures

Validate that code readiness review has been completed.
Read code.
Verify that code and 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.

Testing strategies

Unit test data should be created by the developer and should be low volume.
All testing should occur in a developers personal schema.

Summary...

Unit testing is generally conducted by the developer who develops the code and validates that each module's logic satisfies requirements specified in the requirements specification.

It is important that all code be the subject of a formal code review.



footer for Information management page