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