Case Study: From Manual Testing to Automated Testing
By Belatrix Software | Topics: Software Development
“With over 1,500 manual test cases, the quality assurance process for the Client’s main desktop application was quickly becoming very challenging to maintain.”
The Company. This Client is a leading supplier of Enterprise solutions, desktop software, scientific databases, and professional services for biotechnology, drug discovery and chemical research, including software, databases, and web sites which enable customers to create, analyze and communicate chemical, biological, and scientific information more effectively.
The Products. This Client’s products are used primarily in the pharmaceutical, biotechnology and chemical industries. They are also used in higher and academic education and government research. The company’s principal software is the de facto standard and primary communication tool on the chemist’s desktop. The enterprise version of this solution enables information research organizations to deploy application and information solutions using Internet, intranet, and extranet technologies. These solutions are now in use by companies such as Abbot Laboratories, Johnson & Johnson, Merck, etc.
The Challenge. With over 1,500 manual test cases, the quality assurance process for the Client’s main desktop application was quickly becoming very challenging to maintain. The application was constantly growing (more features were added) and we had to find a way to reduce testing times, increase the amount of test cases and improve the system quality overall without introducing more additional testing time. Based on this experience, the Belatrix Quality Assurance team proposed to automate our testing process. Due to the complexity of the application, we had to decide what the best testing architecture would be. These are the problems that have arisen:
- There are several automation tools available (free and open source), but none of them provides a complete solution. Even the licensed ones can prove to be quite expensive and they confine you in their specific architecture and scripting languages.
- We could spend too much time writing complex test scripts, so reusability was very important.
- We could spend too much time maintaining scripts.
Based on these restrictions, we realized we had a few options:
Select a licensed tool:
- Benefits: We could start creating scripts faster, since we do not need to develop anything.
- Risks: The licensed tools could not meet our requirements and we may not be able to adapt the tool’s behavior due to the fact that we do not have the source code. If the tool turned out to be ineffective, much work would have been wasted as it would have probably been developed on a proprietary technology or language.
Select a specific free and Open Source tool:
- Benefits: they are free and we could add more features as needed because we have the source code. They tend to use popular scripting languages, preventing future lock-in.
- Risks: we could spend too much time creating scripts and maintaining them and we should also develop several features to cover our needs.
Use and combine several Open Source test automation tools:
- Benefits: they have a low cost and we could leverage a the best-of-breed approaches.
- Risks: some tools may not work well with the others. However, this can be mitigated with appropriate prototyping.
The Solution. Along with the client, Belatrix decided that the best option was to follow the best approach and select multiple open source tools combined with a custom framework that allows us to:
- Reduce the time to create scripts.
- Reduce the time to maintain the scripts.
- Combine several automation tools in order to get the benefits of each one of them while circumventing their weaknesses.
- Develop special features that could be reused by all scripts:
- Take screenshots
- Connect with a data base
- Create automated reports
Some of the tools and technologies that were chosen include:
- Python as a general scripting language
- Open STA
The Results. Belatrix helped the Client reduce the test processing time by 40%, add hundreds of additional test cases without affecting schedules and keep test cycles under control.
Belatrix was also able to help the Client automate the system deployment process, as well as the system installation, installation testing, smoke tests, feature testing (including integration with other tools), performance testing and all the report generation to produce reliable quality metrics.
Quality Assurance Outsourcing with Belatrix
Belatrix has an impressive track record providing excellent Quality Assurance services to clients worldwide. We cover the full spectrum of Quality Assurance strategies, such as:
- Functional Testing
- Risk-Based Testing
- Graphic User Interface
- Acceptance, Usability and Accessibility
- Performance (Stress and Load)
- Installation and Configuration
- API Testing (N.Unit and MS-VSTester Edition)
- Automation (Python, VBscript, Apodora, Mercury QTP)
- Smoke Test
We invite you to learn how a relationship with Belatrix will give your company a distinctive advantage through low cost, disciplined, and high quality software development and quality assurance services.