The Requirements/Test Summary
The Data Warehouse ETL job should...
- copy over the simple 'dimensions' such as products, currencies, offices, personnels correctly
- handle being run against an initialised mifos database
- handle simple hierarchy (loan officer, center, group, client, loan/savings account) creation.
Involves handling new entries and catering for status changes when making groups, clients and accounts active. - handle when a client without a group membership is created and has its status changed and has a loan and a savings account.* handle when a client without a group membership is created and has its status changed and has a loan and a savings account.
- handle when a group without center hierarchy is created and has its status changed and has a client with a loan and a savings account and has its own savings and loan account as well.
- handle when a center has a savings account.
- handle moving a client from one group to another in the same center.
- handle moving a client from one group to another in the same branch
- handle moving a client from one group to another in a different branch
Basic Copy Data and Status Tests
Requirement |
Test |
Result |
---|---|---|
The ETL job should copy over the simple 'dimensions' such as products, |
Setup up an office hierarchy, some loan and savings products, some system users (loan officer and non loan officers) and run ETL |
Pass. |
|
|
|
|
|
|
|
|
|
|
|
|
Requirement
The ETL job should handle being run against an initialised mifos database
Notes
Just in case this edge case produced unexpected results. When testing ensure the job points to the correct source and destination database names by inspecting and editing the initialise dataware house 'bat' file and the jndi settings for kettle and the jndi setting for the report designer and for the bi server.
Test - run ETL against an initialised mifos 1.6.1 database
Result
Pass.
Requirement
The ETL should handle simple hierarchy (loan officer, center, group, client, loan/savings account) creation which involves new entries and catering for status changes when making groups, clients and accounts active. Also clients without group membership and group without a center hierarchy should be
Test - setup a center hierarchy down to clients having loan and savings accounts
Result
Pass. All new customers and accounts are added to the datawarehouse as expected
Requirement
The ETL should handle when a client without a group membership is created and has its status changed and has a loan and a savings account.
Test
Client: BO 1 / client w/o group mem xxx 0003-000000028
Savings: savings product 1 # 000100000000052
Loan: loan prod 1 # 000100000000053
Result
Pass. new client and accounts are added to the datawarehouse as expected
Requirement
The ETL should handle when a group without center hierarchy is created and has its status changed and has a client with a loan and a savings account and has its own savings and loan account as well.
Test
Group: group w/o center hierarchy 0004-000000029
Group Loan: group load # 000100000000055
Group Savings: group savings product # 000100000000056
Client: client of group w/o center xxx 0004-000000030
loan: loan prod 1 # 000100000000059
Savings: savings product 1 # 000100000000058
Result
Pass.new group, client and all accounts are added to the datawarehouse as expected
Requirement
The ETL should handle when a center has a savings account.
Test
Center: center with savings a/c 0004-000000031
savings: center savings # 000100000000061
Result
Pass. Center and savings account added as expected.
Basic Copy Data and Status Tests
Requirement
The ETL job should copy over the simple 'dimensions' such as products, currencies, offices, personnels correctly
Notes
It is possible to create queries to test this more exactly. I didn't this time because I've used this simple area a lot and chose to only do inspection so as to spend more time on the riskier areas (customers, accounts and transactions).
Test
Setup up an office hierarchy, some loan and savings products, some system users (loan officer and non loan officers) and run ETL
Result
Pass. Looked good on simple inspection using queries and also current reports.
Requirement
The ETL job should handle being run against an initialised mifos database
Notes
Just in case this edge case produced unexpected results. When testing ensure the job points to the correct source and destination database names by inspecting and editing the initialise dataware house 'bat' file and the jndi settings for kettle and the jndi setting for the report designer and for the bi server.
Test - run ETL against an initialised mifos 1.6.1 database
Result
Pass.
Requirement
The ETL should handle simple hierarchy (loan officer, center, group, client, loan/savings account) creation which involves new entries and catering for status changes when making groups, clients and accounts active. Also clients without group membership and group without a center hierarchy should be
Test - setup a center hierarchy down to clients having loan and savings accounts
Result
Pass. All new customers and accounts are added to the datawarehouse as expected
Requirement
The ETL should handle when a client without a group membership is created and has its status changed and has a loan and a savings account.
Test
Client: BO 1 / client w/o group mem xxx 0003-000000028
Savings: savings product 1 # 000100000000052
Loan: loan prod 1 # 000100000000053
Result
Pass. new client and accounts are added to the datawarehouse as expected
Requirement
The ETL should handle when a group without center hierarchy is created and has its status changed and has a client with a loan and a savings account and has its own savings and loan account as well.
Test
Group: group w/o center hierarchy 0004-000000029
Group Loan: group load # 000100000000055
Group Savings: group savings product # 000100000000056
Client: client of group w/o center xxx0004-000000030
loan: loan prod 1 # 000100000000059
Savings: savings product 1 # 000100000000058
Result
Pass.new group, client and all accounts are added to the datawarehouse as expected
Requirement
The ETL should handle when a center has a savings account.
Test
Center: center with savings a/c0004-000000031
savings: center savings # 000100000000061
Result
Pass. Center and savings account added as expected.