Help with testing financial software/credit reports/FICO scrores
Hello all -
I've come into a situation where I need to simulate pulling a credit report via the financial software I'm testing. Does anybody have any advice as to how I can test pulling a credit report to test whether an individual is credit-worthy or not?
Is it as simple as creating several individuals in a DB with a variety of FICO scores and creating test cases around them?
I'm guessing you're getting your FICO scores from a 3rd party service and you're having problems since you don't control what comes back, and you're potentially dealing with sensitive information you don't want in your test database.
There are maybe 2 commonly used approaches.
1) Service simulators. These are sort of like black hole proxy meets record and playback of requests. Basically you run then as a proxy between to record different responses the 3rd party service gives while it's in use. Then you disconnect the 3rd party service in your test enviornment and the service simulator plays back the requests/reponses. In what ever data file they use to store the recorded traffic. You'll need to run some sort of sanitation script to scrub out all the identities and SSN info. During play back mode, it'll block calls to the 3rd party service and replace the responses with ones it has in it's data.
2) If your developers are smart, they would of written a wrapper or proxy around the calls to 3rd party services so they can replace them in the future. Using these same mechanism you can create a stub service to replace the real service.
*3) Some 3rd party services comes with test accounts and service stubs. It's good to check if they have this.
A long while ago, when testing insurance compliance with the FMLA, we created our own database of sample people with the characteristics that we wanted to test. Is it just FICO scores that your application is pulling back and evaluating? Or is there a range of data that is retrieved into an algorithm? The former would be easy to replicate in a stub/driver, the latter would require knowledge of exactly what the algorithm is calculating so you can create/source appropriate data for the various fields required.