The Journey . . .    
Always Possibilities    

Mozaic Group Partners Enhances Functional and Regression Testing Services for Profile Banking Application Projects

 New Tool Improves Thoroughness of Profile Project Testing, Increases
Testing Speed, and Reduces Risk of Future Issues

Warminster, Pa., USA – January 2018 – Mozaic Group Partners (MGP), the leading, independent, global provider of Profile banking application services, has enhanced its services toolbox by adding a combination functional code validation and regression testing tool that ensures faster and more comprehensive testing of Profile development projects.

Created to provide a comprehensive set of comparative test results quickly, the tool is used proprietarily by MGP consultants during Profile project engagements with client institutions. The tool reduces project time and costs by boosting consultant productivity during both the functional and regression testing phases of a project.

The tool has been used most often in projects that affect deposit and loan transactions, MRPC/SQL/XML inquiries, and database updates. MGP consultants have used the tool to test effectively against 15 to 20 user-specified procedures per testing instance, which has included millions of accounts. The tool’s functional and regression test processes are run locally in non-production environments, which protects the security and integrity of an institution’s Profile production directory.

“This tool significantly enhances the testing efficiency of Profile projects because it quickly provides us with a comprehensive and comparative review of both the intended results and unintended consequences,” explains Tom Locke, the MGP senior developer and analyst who developed the tool. “This enhances our ability to interpret issues and apply our expertise with more expediency.”

The Functional Side

MGP’s tool validates new code effectiveness by using a series of conditions and parameters on user-selected procedures. This allows developers to apply new code to target accounts and then compare the results against expected goals.

Some Profile institutions, as well as the application vendor, might also have functional application testing tools, however, these tools typically only provide a template to test the intended effect that the new code has on the target accounts, and does not include application regression testing, which ensures the integrity of the remainder of the accounts in the database.

“In application code enhancement projects, regression testing has a premium value attached to its effectiveness because there are typically many more non-target accounts than target accounts. Bottom line, you don’t want your code to enhance or fix an issue for 1,000 accounts only to create new issues for 10 million others,” says Locke. “The tool boosts the integrity of our testing on both sides of the development.”

 One Tool Tackles Both Functional and Regression Testing

Profile financial institutions the world over can attest to application enhancement projects that solve one issue, only to unleash a riot of other account problems in the database. The biggest concern when regression testing a Profile development project is the sheer number of accounts that can be affected, which is all the more reason that the regression testing needs to be inclusive and comprehensive.

While MGP’s tool is combination functional/regression test solution, the tool’s greatest value is realized on the regression side of the testing equation, where speed and comprehensiveness are keys to success. This is particularly true with accounts that require complicated processing and have dependencies. For example, regression testing against a code modification implemented for loan commitments potentially has a cascading deleterious effect on every loan in a customer’s portfolio not to mention the effect on participating syndications. Regression testing in this instance is paramount to making sure nothing gets broken.

Test Example 1: CD Ladder Conversion

Favored clients are allowed to convert from less favorable CD products under type 3700 to more favorable products 3750. These clients are identified by customer code 8 (CIF.CCODE=8). Customer #123 has the following accounts:

Account                 Type             Balance            Rate            To Be Converted
xxxxxxxxx123        3010             $10,000.00        3.0%           No
xxxxxxxxx124        3700             $5,000.00          2.5%           Yes
xxxxxxxxx125        3700             $6,000.00          2.6%           Yes
xxxxxxxxx126        4400             $8,000.00          1.0%           No

During conversion, two accounts will be closed and reopened under type 3750 with new account numbers. The new account numbers may be xxxxxxxxx127 and xxxxxxxxx128.

A problem is reported that the current software incorrectly populates DEP.GLSC as part of the conversion. A fix is made for GLSC that introduces two problems:

  1. Rare cases where permanent holds are not moved to the new account.
  2. Rare cases where the unconverted accounts had DEP.CCLD updated.

[ZUTBLREGRESS]  Regression Testing

                              Test Number: 35
                                   Delete: N
            Record Count to Display Stats: 500
           Record Count to Prompt to Quit: 500
 Log Successful Records(.vs. only errors): Y
                              Description: Test CD Ladder Conversion
                                Test Type: 5 (Procedure Call)
                         Transaction Code:
                    Database Select Query: ACN FROM CIF WHERE CCODE=8
                  No. of Days to Backdate: ___
            Tran Amount Column +/- Amount:
                        Executable String: do convertLadder^ZCDLADDER(ACN)_
               Ignore table.col,table.com: TTX.TIM,HIST.TIME,DEP.GLSC

Note that DEP.GLSC is ignored for this test. The change to DEP.GLSC would be tested under current enhancement test procedures and ignored in this case to eliminate unnecessary noise for regression testing.

When the test starts, it prompts for the export or the location of where the new code resides. Processing selects each customer, executes the old software, and stores the objects locally for CIF, DEP, TTX, PHLD, HIST and others.  The new software is loaded and the process is run again. A comparison is done record-by-record, field-by-field, with any differences reported. The code is executed under TP. Any database updates are rolled back when the test completes, which leaves the database unchanged.

All tables and columns will be compared between the results from the current software and the new for CIF, TTX, HIST, DEP, PHLD and others. This includes all six accounts, regardless if any fields change.

File        Key(s)               Column        Current Software         New Software
Customer:   47xxxxxxxx success
Customer:   48xxxxxxxx success
Customer:   49xxxxxxxx success
Customer:   50xxxxxxxx success
Customer:   51xxxxxxxx success
Customer:   52xxxxxxxx success
Customer:   53xxxxxxxx success
Customer:   54xxxxxxxx success
Customer:   55xxxxxxxx success
Customer:   56xxxxxxxx success
Customer:   57xxxxxxxx success
. . .

500 records processed, 0 differences found:
. . . 
49,500 records processed, 0 differences found:

At this point, the test encounters the errors.

File       Key(s)           Column    Current Software       New Software
DEP       xxxxxxxxx123       CCLD      Oct 1, 2017            Nov 12, 2017
DEP       xxxxxxxxx126       CCLD      Aug 12, 2017           Nov 12, 2017
PHLD      xxxxxxxxx127,1               Record exists          Record missing
PHLD      xxxxxxxxx128,1               Record exists          Record missing

Customer: 11xxxxxx success
Customer: 11xxxxxx success
Customer: 11xxxxxx success
. . .
50,000 records processed, 4 differences found:
DEP.CCLD                  2
PHLD                      2

From setup thru the regression test, results on thousands of records can be achieved in a few minutes. Additionally, no prep work is required and it is not necessary to coordinate databases with other team members because no other users are affected.

Test Example 2: Statement Corrections

Let’s consider another example that involves changes in statements, which, in several odd cases, were displaying incorrect interest and maturity options.

                              Test Number: 150
                                   Delete: N
            Record Count to Display Stats: 500
           Record Count to Prompt to Quit: 500
 Log Successful Records(.vs. only errors): Y
                              Description: Test XML Statements After Maturity Change
                                Test Type: 7 (MRPC/XML)
                         Transaction Code:
                    Database Select Query: ACN FROM CIF
                  No. of Days to Backdate: ___
            Tran Amount Column +/- Amount:
                        Executable String: $$^ZMOZSTMT(.Return,1,ACN,64557,64648)
               Ignore table.col,table.com:
. . . 

XML     ACN=6156xxxx    ZStmt,ZAccts,ZIFreq
            Current:    Annual with no compounding
                New:    Annual with compounding

XML     ACN=6156xxxx    ZStmt,ZAccts,ZAcct,Zloption
            Current:    Payout Interest
                New:    Remain on Deposit

XML     ACN=6156xxxx    ZStmt,ZAccts,ZAcct,ZMaturityVal
            Current:     5,855.69
                New:     5,856.73

5,620,000 records processed, 153 differences found. Last processed ACN=6157xxxx at 02:48 PM

“Unfortunately, in too many circumstances, Profile institutions do not have a sure-fire regression tool that can successfully test and compare the effects new code has on millions of accounts, particularly if those accounts have complicated attributes. And to test manually or in small batches is prohibitively expensive from several perspectives,” explains Locke. “Our tool delivers full, comparative test results quickly, which enhances our consultants’ ability to readily interpret the issue and provide the best solution. The tool works very well testing for changes that have unintended consequences on current and backdated deposit and loan transactions, periodic statements, projected account activity, XML results, retirement account processing, history inquiries and hundreds of other types of test cases. From an institution’s perspective, use of the tool by our consultants also guards against the threat of future errors, which certainly adds value and provides peace of mind."

To talk about how your institution can take advantage of MGP’s consultant services and our functional code validation and regression test tool, contact either of MGP’s two co-founders; Allan Mattson at This email address is being protected from spambots. You need JavaScript enabled to view it., or Marlon Lucero at This email address is being protected from spambots. You need JavaScript enabled to view it..  You can also contact us from our website.

About Mozaic Group Partners: 
We are the leading, independent, global provider of Profile banking application services. We partner with Profile institutions to develop, implement, fix, enhance and protect the investment your financial institution has made in its banking system. With more than 250 client engagements in 18 countries and counting, we have helped more institutions solve their Profile issues than any other services provider on the planet.

###

 If you found this news article helpful, please share it with someone who might also benefit from its content.

 

 

Providing A Global Reach for Profile Services

MGP Website Country Map FINAL 3 22 19

We Are Mozaic Group Partners

We are the leading, independent, global provider of Profile banking application services. We partner with Profile institutions to develop, implement, fix, enhance and protect the investment your institution has made in its banking system. With more than 280 client engagements in 21 countries and counting, we have helped more institutions solve their Profile issues than any other services provider on the planet.