Cyclos is designed to enable the set-up of online banking and payment systems and is managed by the Social Trade Organisation (STRO), a Netherlands-based NGO that promotes social and sustainable economic innovation.
It is a feature-rich solution that is easy to use and maintain, flexible, secure, and highly customizable. The dynamic structure of Cyclos allows organizations to build a dedicated payment system from scratch just by changing configurations. Cyclos provides a range of banking and payment options, a complete e-commerce system, and high and low-end mobile access channels.
You can test custom logic written for Cyclos applications through
Cyclos unit testing
Unit testing comes in handy when customizations to the various modules like user management, transaction handling, or payment processing are made. Through unit testing, you can pinpoint issues at the grassroots level, that is, at the very core level, like classes, methods, or APIs.
Unit tests need to be lightweight, meaning that they test a single outcome at a time. According to the testing pyramid, a good testing strategy will be heavy on unit tests. You can further improve your testing endeavors by integrating your tests into your CI/CD pipeline to ensure that tests are automatically run every time code is pushed to your repository.
Since Cyclos heavily uses Java, you can use JUnit to write unit tests for your code. It is a popular unit testing framework for the Java programming language. It’s an open-source tool used for writing and running tests in a repeatable fashion. JUnit provides annotations to identify test methods, assertions to test expected results, and test runners for running tests.
Cyclos integration testing
Integration testing focuses on the interaction between integrated units or components to detect interface defects. Luckily for frameworks like Cyclos, you need to worry only about the integrations of the ready-made Cyclos modules with your custom code and other third-party integrations like databases and services that form the system.
Here are specific scenarios where integration testing would be essential in Cyclos:
- Testing the integration between Cyclos and external payment gateways is vital to ensure that payment processing is seamless, secure, and error-free. This includes validating the initiation, processing, and completion of transactions, handling failures, and accurately reflecting transaction statuses.
- If Cyclos is integrated with external banking systems for features like account balance inquiries, fund transfers, or loan processing, then integration testing will ensure that these interactions are correctly implemented and data is accurately exchanged and processed.
- Integration testing should verify that SMS and email services correctly interface with Cyclos. This ensures that notifications, alerts, or OTPs (One-Time Passwords) are reliably sent and received in scenarios like transaction confirmations, password resets, or security alerts.
- If Cyclos uses external services for authentication (like OAuth services). In such cases, integration testing should validate that the authentication flow works smoothly and securely, ensuring that user credentials are correctly handled and access control is enforced as expected.
- Cyclos might have batch jobs for end-of-day processing, interest calculations, or report generation. Integration testing should ensure that these batch processes correctly interact with other system components and perform their tasks as scheduled.
- When upgrading Cyclos or migrating to a different infrastructure, integration testing is essential to ensure that all system components still work together as expected after the changes.
- If Cyclos exposes or consumes APIs (for instance, for third-party services or mobile applications), integration testing is needed to ensure that these APIs correctly handle requests, responses, and error conditions.
- Testing the integration between the front-end user interface and the back-end services is important to ensure that user actions trigger the correct workflows and that the system behaves as expected from an end-user perspective.
In all these scenarios, you should focus not only on the ‘happy path‘ where everything works as expected but also on handling and recovering from errors gracefully, ensuring data integrity, and maintaining performance and security standards.
Tools like JUnit, along with integration-specific testing tools, can be used to automate and perform these tests efficiently.
Cyclos End-to-end Testing
With end-to-end testing, we move beyond the technical nitty gritty and focus on the larger picture: how the application behaves for the end user. Since Cyclos is a payment software, this becomes crucial. You do not want to lose customers to competitors by leaking bugs that could have been caught through testing.
When you are performing end-to-end testing, you need to think from the end user’s perspective and write tests that interact with the application in the same way. These tests are usually browser-driven and heavy on the system. Hence, choosing what tests should be automated and what not, is an important question here. Read an article about >which tests should you automate first.
Today market has many end-to-end testing frameworks available, like:
Selenium allows you to automate interactions with a web browser, such as clicking buttons, entering text, navigating through pages, and validating the presence of specific elements or text. Since Cyclos users may access the platform using different browsers, Selenium can be used to ensure that the application works correctly across multiple browsers like Chrome, Firefox, Edge, etc.
Selenium tests can also be integrated into testing frameworks like TestNG or JUnit for managing test cases and generating reports. They can also be integrated into build tools like Maven or Gradle and CI/CD pipelines for automated execution.
However, you might find that Selenium is restrictive regarding ease of use, test maintenance, and ability to automate complex test scenarios. Luckily, there are better alternatives available that overcome these issues.
Of the many test automation tools available in the market, testRigor is one of the few that not only makes end-to-end testing easier but also gives you the power to automate challenging test scenarios.
Most automation testing tools suffer from test maintenance overhead due to their reliance on the implementation details of UI elements. Since testRigor does not require such implementation details during the time of test creation, it is able to combat test maintenance effort and bring it down to a bare minimum.
The use of AI continues beyond there for testRigor. It uses AI to make test creation easier, categorize common images and icons like shopping carts or downward arrow for easy usage in test scripts. It is an intelligent testing tool which uses >generative AI to create test cases with just a description.
Creating and maintaining test cases in a programming language can be time-consuming, even for experienced developers. Another challenge with using such a setup for end-to-end testing is that it sidelines manual testers and even the business stakeholders, who are likely to know more about these user-centric workflows than developers and automation engineers.
testRigor offers an excellent solution for this. It lets test creation happen in plain English language.The test steps are very straightforward.
login click on “Menu” to the right of “Announcements” click on “User Management” check that page contains “User Management” click on “Manage Users” roughly below “User Preferences” click on “create new user” at the top enter stored value “full name” into “Name” enter stored value “newUserEmail” click on “Save” scroll down up to 5 times until page contains stored value “new user” roughly below “Username” check that email to stored value "newUserEmail" and “Welcome” in subject was delivered
Here are some more benefits of using testRigor
- Supports cross-platform and >cross-browser testing without significant configuration steps
- Test maintenance is a bare minimum and takes very little time
- Has provision to support 2FA testing support for Gmail, text messages, and Google authenticator
- Easy integration with most CI/CD tools
- Facilitates easy mocking of API calls and accessing databases if needed
- It’s cloud-hosted and highly customizable, allowing for broad configuration types and speed of test execution
Using Cyclos to manage the payment aspect in your application is a great idea to make your website appealing to your customers. However, even a small error in the application can lead to a high penalties financially and in terms of goodwill.
Hence, be smart in adopting good testing practices and using testing tools that make sure there are no glitches in what you have to offer. Choose test automation tools which support your vision and team’s capabilities to save time, money, and effort and provide great >testing ROI.