Testing Mortgage Application Software
– Lessons Learned
For many people, buying a house and getting a mortgage is one of the biggest events because the mortgage is such a huge responsibility. For the bank or insurance company, financing a mortgage is also critical because it means an increase in revenue for them. Considering all the rules and regulations, a lot of mortgage systems have been developed to help the banks and insurance companies handle mortgage applications. Many business and calculation rules are implemented in these systems, which makes testing mortgage application software difficult. Testers need to have knowledge of the business rules of each mortgage type, but this unfortunately requires deep expertise in the domain, application, and functions to test. If you are in the market for mortgage application software testing services, contact XBOSoft today!
Based on our hands-on experience, here are some of the most important lessons learned for testing mortgage applications.
- Marital Status: Are you single? Or married? Or divorced? One factor that mortgage companies consider is the repayment ability for the applicant in relation to marital status. In most cases, if the applicant is married, repayment ability is stronger than a single applicant and, therefore, more money can be borrowed from the bank. If the applicant is divorced, maybe the situation is worse since extra money may be needed as compensation for the divorce. With more recent societal changes, we now have the LGBT category and in some European countries, such as the Netherlands, there is the “partner” relationship status. In summary, rules for different types of relationships can vary.
- Age of Applicant: Age will definitely affect the amount of the mortgage that you qualify for, but do you know the exact boundary of this field? Do you know the exact retirement age? Do you know other rules regarding age? For example, in some countries the retirement age is 65. However, you cannot simply used boundary test cases only based on this number. When the bank evaluates your repayment ability, the bank also checks your distance from retirement. Therefore, we also need to create test cases for when the applicant will be retired – a clear indication that income will start to decrease.
- Income: This is the most important factor in evaluating the amount to approve for a mortgage. Usually, there are different income categories. The income calculations for mortgage purposes not only include the money coming into your pocket, but also your predicted expenses. For example, income in the mortgage application may include: annual salary, bonus, holiday, benefits, welfare, and compensation owned or due based on divorce. Usually, the final income used for the calculation of mortgage amount approved is calculated based on each category. However, rules are changed if there is more than one applicant. For example, if there are two applicants, the total income is not a simple addition of their individual incomes. Each applicant may be weighted differently, and if there are three applicants, the middle income might not be involved in the calculations. The testing team must design different test cases based on the number of applicants. Because income is such a driver in mortgage approval, there are many other rules that you may need to account for, such as the applicant’s length of employment at their current and previous employers. An applicant that moves from job to job for whatever reason may have a different risk profile. Changes in income are also a potential determining factor. While an increasing income may be seen as beneficial to the applicant’s ability to repay a mortgage, income stability is also important. For instance, if increased from $50,000 last year to $150,000 this year, there could be a rule that discounts the higher income because of the probability that their income would return to the previous amount.
- Previous Mortgage: Another special situation that needs to be considered is if the applicant already has a mortgage, which means that the applicant is applying for a second mortgage. In this case, some numbers in the calculation change, such as the interest rate and the percent of the appraised value of the property that the bank is willing to finance. Depending on the country, sometimes this is regulated as well. In addition to a second or third mortgage, a related variable is the applicant’s previous mortgage(s) and history of payments. If the applicant has shown the continuing ability to pay on time and is willing to take on higher payments, this is also a factor.
- Mortgage and Loan Type: These two basic components for mortgage applications will definitely demand ample test case coverage but require a deep understanding of the definitions and different options. For example, we need to consider four different mortgage types: new building, existing building, second mortgage, and changing one mortgage type to another. At the same time, there are different loan types. For example, a linear mortgage means payments are the same every month while interest-only loans mean that you only need to pay the interest and finally pay the entire principal amount at a predefined date. Of course, different loan types will have different interest rates, and in different countries and even different states, there are different loan types (e.g. 15-year fixed, 30-year fixed, 7-1 ARM, etc.).
- Rules Change Every Year: The bank or government usually updates mortgage rules or calculations at least once per year. Sometimes, they completely change the rules and sometimes they change key numbers, like interest rate and the maximum allowed mortgage amount based on FHA or other government-based caps. When these changes happen, the testing team needs to collect all information and analyze how these changes impact the application before updating the test cases accordingly.
If your test team starts a project testing mortgage application software, don’t forget these important lessons learned. The ones listed above are the most important, based on our experience, but there are many other detailed functions the testing team needs to understand and build into the test cases. As software quality engineers and software testers, our roles are increasing (rather than shrinking) with Agile development methodologies. Being involved in all parts of the lifecycle requires that we deepen our expertise not only in a technical sense but also in domain knowledge so that we can contribute to user stories from both clear points of view and domain-oriented logic. Doing this, combined with knowledge of the competitors’ software and how they implement their logic, will give you a head start in providing value to your team.