Selenium Test Automation
The Business Challenge
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.
The company are very customer-centric and an industry innovator who make use of technology to bring the best products to the market. However, with increasing pressure from market competition and government regulations, they needed to make frequent changes to their online system to address challenges. They need the fastest and most reliable method to make effective changes to their web application.
Their web application needs to 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 robust testing. The 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 both time and resources. There needs 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 the 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.
The solution 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 it provides more time and efficiency to the development process. Issues are traced and fixed earlier on in the software development life cycle, therefore problems remain less impactful overall.
When development is done, rigorous regression testing is not necessary, saving resources and reducing timelines.
In the end, the client was happy to get faster turnarounds on their projects and less to no defects during UAT phase.
Since testing was integrated to the build process, the developers can now run tests whenever they have updated a piece of code, which has reduced project timelines by 15-20%. Also, being open source, there was no cost in obtaining the required components to set up the framework.
The developers are now 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 means that the team are 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 company.