Application Testing and Certification

Introduction

Purpose

The purpose of conducting MAPI pre-certification and certification test case execution is to collaborate with each partner and confirm that they have correctly implemented the MAPI APIs and incorporated the relevant business rules mentioned in the MoneyGram Developer Portal.

Once the partner has completed developing their application and internal testing, the pre-certification test case execution will begin. This is an integration test between the partner's application and MoneyGram. If the partner needs to make any code changes during pre-certification, only the impacted areas need to be re-run.

To certify a partner’s application, it is required to run it successfully once using production-ready code. During the certification process, no alterations to the code are permitted except for minor non-functional software changes. In case any modifications are necessary, the entire test set needs to be restarted from the beginning. This measure is taken to minimize the risk of unintended impacts on unchanged parts of the system, even from a small one-line code change.


Test Objectives

  • Help ensure the partner is ready for production implementation.
  • Verify the partner application conforms to documented specifications.
  • Help clarify potential misinterpretations regarding MoneyGram APIs (MAPI).

Testing Scope

  • Verification of the partner application integration with MAPI APIs as documented in the MoneyGram Developer Portal
  • End-to-end verification of test transactions.

Out of Scope

  • Partners’ application – the partner will test this.
  • APIs – Currently in production
  • APIs not implemented by the partner.
  • Settlement processing, files, and/or reports.
  • Any items not documented in PRD (Partner Requirements Document).

References

  • Partner Requirements Document (PRD)

Definitions

TermDefinition
REST APIA REST API is an application programming interface that conforms to the constraints of the REST architectural structure and allows two computer systems use to exchange information securely over the internet.
End-to-End VerificationThe process for end-to-end verification is as follows:

- Transactions are entered in the partner application for each test case.
- A request is sent to and validated by MoneyGram.
- A response is returned to the partner
Partner Requirements Document (PRD)Partner Requirements Document, specific requirements specific for the partner application.



Coverage Plan


Testing Requirements

Test coverage will include all the MAPI APIs implemented by the partner:

  1. API functionality as mentioned in PRD.
  2. API List as mentioned in PRD.
  3. Delivery Options mentioned in PRD
  4. Certification testing will use partner profiles configured with fraud limits (send and/or receives) mentioned in PRD.

Exceptions

  • As documented in PRD



Work Plan

MilestoneResponsible
Pre-certification test casesMoneyGram
Pre-certification test case executionPartner
Pre-certification results analysisMoneyGram
Bug fixing and re-testing failed test casesPartner
Certification test casesMoneyGram
Certification test case executionPartner
Certification results analysisMoneyGram
Bug fixing and re-testing failed test casesPartner

Major Milestones

These are the initial milestones for the testing phase, which occurs after all partner internal development and testing activities are complete. Actual durations and target dates are communicated during regular status meetings.




Testing Approach

Entrance Criteria

The following items must be completed before testing can begin:

  • The partner has a signed contract with MoneyGram.
  • Signed partner/agent agreement with MoneyGram. – a signed contract covers also any other agreement
  • APIs/functionality to be implemented by the partner are defined.
  • Partner setup details have been defined.
  • The partner requirements document is completed and delivered to MoneyGram by the partner’s project manager.
  • All partner application development is complete.
  • All partner internal testing (unit and functional, etc..) testing is complete.
  • The test environment URL is set up and available.
  • Sandbox(testing) credentials (secret and key) are provided to the partner
  • Properly configured test partner IDs have been supplied to the partner.
  • The project manager reviews the Pre-Certification and Certification Test Plan (this document) and walks through it with the partner.
  • Exit criteria are established.

Exit Criteria

The following exit criteria will be used to determine when the certification test effort can be certified by the certification team as complete:

Pre-Certification

  • The partner successfully executed each test case at least once.
  • The partner has sent the MAPI CURL request, JSON response, UI screenshots, and any forms and/or receipts to MoneyGram to be analyzed.
  • MoneyGram has completed the pre-certification results analysis, and all test cases have passed.
  • No outstanding issues remain.

Certification

  • Partner has completed a successful test case execution run on the production-ready application code (all test cases with no code changes).
  • The partner has sent MAPI CURL request, JSON response, UI screenshots, and any forms and /or receipts to MoneyGram to be analyzed.
  • MoneyGram has completed the certification results analysis, and all test cases have passed.
  • No outstanding issues remain.
  • After certification sign-off, your production credentials (secret and key) will be provided through a secure method.

Test Types

TypeDefinitionRequired/OptionalResponsibility
Unit testingThe testing of individual pieces of a process or program.RequiredPartner
Integration testingTesting related parts of a computer system to ensure they function together correctly.RequiredPartner
Functional testingThe process of attempting to detect discrepancies between a program’s functional specification and its actual behavior.RequiredPartner
Regression testingTesting to ensure that unchanged parts of the system work as they did before a change was made.OptionalPartner (when applicable)
User acceptance testingTesting to ensure the system will support the needs of the business or organization.OptionalPartner (when applicable)
Can be done in parallel with Pre-certification
Pre-certification and certification testingIntegration testing of an application to validate it functions with MoneyGram International systems as specified in the requirements.RequiredPartner and MoneyGram




Test Environment

MoneyGram’s sandbox test environment will be used for testing purposes.

Test Data

The test data used when completing the transactions is to be varied and realistic:

  • As the application allows, there may be various names, addresses, cities, ID information, etc.
  • Ensure that data type support is demonstrated for each field. For example, use both alpha and numeric data when allowed.
  • Avoid duplication unless otherwise instructed.
  • Avoid fictional character names, as these are generally blocked on MoneyGram’s system and could cause the test case to fail.
  • Don’t use the same customer and transaction data in your testing. Our standard screening will identify the customer as high-risk and place the transaction on hold or reject it. After several transactions, change the consumer data (name, address, phone, birth date, photo ID number, etc.).



Assumptions & Requirements

  • Partner’s application design is consistent with the MoneyGram Developer Portal.
  • No code changes are needed for MAPI transactional processing.
  • No code changes are needed for MoneyGram’s settlement processing.
  • MoneyGram will not perform validation testing of the partner's front-end application(s).



Certification Environments

Testing

Production




Risks & Contingencies

RiskContingency
Program/code changes are made to partner application during Certification.Certification test cases need to be re-executed.
partner development and/or testing timelines are changed or delayed.Project timelines and schedules will be re-evaluated and revised as needed.




Test Processes

Test Cases, Conditions, and Procedures

The partner will execute a set of pre-defined test cases for each API, requirement, business process, or system feature to be tested. Each test case will have a series of actions (called "steps") with the expected results for these actions listed at a high level. As each test is analyzed, the actual results will be compared to the expected results. When the results are the same, the test will be marked as “Passed.” When the actual results are not equal to the expected results, the test will be marked as “Failed,” and a notification will be provided. Test cases are provided in the pre-certification and certification spreadsheets.

Testing Process Additional Information

  1. Sandbox credentials (secret and key) and URL will be provided for testing.
  2. Where applicable, review and follow the “Business rules to code” section for each API on the MoneyGram Developer Portal. These are additional rules/logic that must be built into the application.
  3. The maximum field lengths the system allows could be shorter than the documentation defines. For a send transaction, follow the maximum field length returned by the “Retrieve required and optional fields” endpoint in the Reference Data API.
  4. The fee and FX are only estimated at the time of the quote. The FX rate is guaranteed for 30 minutes from the time of the quote until the transaction is committed. However, the FX rate may change if the transaction is not committed within 30 minutes. Any exchange rate and fee provided to the customer from the quote should have a disclaimer that it’s subject to change.
  5. When in the pre-certification stage, please follow all instructions for each test case. If you cannot perform a specific task in a test case, please comment on why.
  6. When quoting by receive amount in the Transfers Quote API Endpoint, it is normal that the receive amount returned in the Response is slightly different from the one input in the Quote Request. This is due to the exchange rate, and the calculation does not allow for an exact match.
  7. An agent ID will be assigned to each partner. Do not hardcode the agent ID or security token.
  8. Don’t use the same agent ID to send and receive the same transaction.
  9. Don’t hardcode any of the customer data.
  10. Don’t use the same customer and transaction data in your testing. Our standard screening will identify the customer as high-risk and place the transaction on hold or reject it. After several transactions, change the consumer data (name, address, phone, birth date, photo ID number, etc.).
  11. It is recommended to avoid scheduling your go-live window on a Friday, weekend, or holiday. The go-live is most effective conducted from Monday to Thursday, as MoneyGram can provide optimal support during this timeframe.


Issue Reporting

When issues are found during the certification testing, MoneyGram's team logs them into a defect database. The project team then reviews the issues.
Issues in the current production system must be reviewed for severity and impact on the client, and the project team must determine a course of action.

When an issue is determined to be on the application's client side, it is logged for tracking and documentation purposes.