The client manages foreign exchange transactions for their customers across EMEA. They have unique offerings such as prearranged products, custom analysis and consultancy. These services are powered via their online system. They are customer centric and industry innovator that make use of technology to provide best products to the market. However, with increasing pressure from market competition and government regulations, the company needs to make frequent changes to their online system to address the aforementioned challenges. They need the fastest and most reliable method to make effective changes to their web application.
Their web application must be robust for handling frequent fast changes while keeping it’s reliability intact. A key part of doing changes and making sure the application works flawlessly is by doing proper testing. Old fashioned approach involves tedious amounts of work to execute regression tests that most of the time is done through manual execution. This approach is costly on time and resources. There has to be a way to carry on testing in a more efficient way that can be done as early as possible during development which will reduce risks and costs.
- Identify and integrate automated and continuous testing into the development process that is fast, reliable and economic.
- The tool/process must be dynamic to handle several testing scenarios and must be easy to create , execute and maintain for existing team of developers.
The team created suites of fully automated regression tests based from current test scripts using Selenium. Selenium is an open source technology for automating browser-based applications.
It provided a portable software-testing framework for the client’s web application. The fact that Selenium has the record/playback tool for authoring tests without the need to learn a test scripting language, made it easier for the team to implement. It also provides a test domain-specific language (Selenese) to write tests in a number of popular programming languages, which may come handy if needed in the future.
The automated test suites were integrated to the development process which provides early and better insights. In return provides more time and efficiency to the development process. Issues are traced and fixed earlier on the software development life cycle therefore is less impactful overall.
When development is done, rigorous regression testing is not necessary. In the end, the client was happy to get faster turnarounds on their projects and less to no defects during UAT phase.
Being open source, there was no cost in obtaining the required components to set up the framework. Since testing was integrated to the build process, the developers can now run tests whenever they have updated a piece of code, this reduced project timelines by 15-20%. The developer’s also was able to determine bugs/problems during early stages. Therefore, saving testing time and increasing quality as lesser defects reach UAT/production. Having all of these tests automated meant that the team would be able to test more often and catch more regressions before release. On top of this, test scripts are updated consistently as they are now part of the sprint deliverable. This ensures that testing is always done with the correct parameters and scenarios that are aligned to the current business rules of the client.