Today, there is a growing need for enterprises to automate their technology investments. The benefits may either be lower resource utilization or improved operational efficiency coupled with considerable savings in cost. Ultimately automation initiatives enable enterprises to create a wave of digital transformation within their core operations. At Suyati, we utilize our prowess in digital solutions to empower our customers with automated solutions. When we say technology, we imply the holistic technology operations as a whole and not just the tools. It involves the entire process from creating a custom solution to implementing it at the customer location and ensuring that it meets the defined objectives of the entire project. Here is where Quality Assurance takes a central role in ensuring that everything works as intended.
Software testing is critical to ensure that the end consumer experience with a technology product, be it a mobile app or a web portal or any digital engagement platform, is glitch free. However several QA practices have a redundant approach in their functioning and associates often have to perform repeated tasks manually. This reduces the productive time they have to focus on other core tasks that need manual intervention. At Suyati we were faced with such a scenario where QA associates were spending too much time on redundant Regression testing for a client project. We decided to automate the entire regression testing activity of the project with Winium, an automated testing platform. The experience was delightful and following is a snapshot of the entire project and how we enabled automated regressing testing using Winium.
An Overview of the Customer’s Project
The client’s application is a warehouse and logistics management system used in the food and beverage industry. It is a Windows based metro application that connects to the internet to sync regularly or even work offline. Otherwise, it is a stand-alone application that service technicians use to update and track their work status. The application is compatible with desktops as well as Windows based tablets.
The scenario we faced with Regression Testing of the application
Every Tuesday and Thursday, the development team releases a new build with minor changes and bug fixes. It became difficult for the testing team to do regression testing on a daily basis for the full application. Since it is not a web-based application, the process could not be automated through Selenium either. Therefore, the regression testing of the application was a major concern. While we can use Selenium to automate web-based applications and Appium for automating Android and iOS apps, automating Windows based applications were costly and tedious.
How we solved the issue
Since automation was the only way through this, we decided to use a Windows based automation tool called Winium, which works based on Selenium and is a free and open source solution. We automated the major scenarios and created a framework for it. We had to test both the desktop and the Windows mobile applications.
With Winium, the code was reusable and could be used for both applications. We could also automate both Windows store apps as well as Windows phone Silverlight apps. With this implementation, the regression became easier and results were emailed to the concerned team for action. Switching between automating Windows Store applications and Desktop applications also became easier. We implemented the library files of both Windows Store applications and Desktop applications in the framework, so that it automated different application easily. The client just had to switch between the names of the identifier – namely, Desktop Options and Windows Store Options.
Other advantages of using Winium are very similar to that of Selenium – you can use all the languages that it supports, be it Java, C#, Ruby, Python, PHP, Perl, Clojure, Objective C, Java script with node.js. All these languages can be used to automate through Selenium Webdriver API and the language specific client libraries. You can also use any type of Automation framework, be it Junit, TestNG, Modular, Data driven, Keyword driven, Hybrid etc. You can even combine your Selenium and Appium along with Winium and create an entirely new framework to automate all applications under one roof. Open source applications give the power of modifying the framework anyway you want. There are unlimited possibilities to enhance the script you want with these open source tools.
The end result – A Happy Customer
The project was challenging but our team was able to deliver the promise Suyati guarantees for each project- A Happier Customer. Once the automation framework for desktop application was implemented, no time was wasted on regression testing, and we could focus more on retesting of bugs or testing of new features. Hence, the build quality became much better and the client could focus more on new change requests. Overall, the project execution became faster and the team could focus on the new change requests and suggestions.