In 2011, when renowned Silicon Valley venture capitalist Marc Andreessen wrote his seminal essay titled ‘Software is eating the world’ for the Wall Street Journal, he was referring to how every industry in this world will be disrupted by software. He was, of course, referring to how several sectors from agriculture and life sciences to manufacturing and retail was turning to software, web and mobile applications to help improve their processes, efficiency and even core operations.
One key result of this ‘software-ized’ world, is the need for constant product updates, fixes and launch of newer versions. How often do we get a popup message reading “Your update is ready”? At Indium, as a leading independent testing services company, we saw an opportunity to develop test automation frameworks, keeping in mind reduced time-to-market and highly efficient product development lifecycles.
We understand that product managers are hoping their Quality Assurance (QA) teams are ready to implement rapid testing processes and that’s where iSAFE (Indium’s Software Automation Framework Enhanced) fits in. This IP accelerator has been designed to be tool agnostic; meaning it works across various test automation tools including QTP/UFT, LeanFT, Selenium/Appium, SilkTest, TestComplete, Genie, and Ranorex.
While iSAFE is one of our early frameworks for test automation of web applications, over the years, we’ve developed multiple frameworks – iMobi for mobile app test automation, iAVA for security testing using Indium’s Anti-Vulnerability Assessment Framework, iSCOUTE for web monitoring and downtime checks and iFACT for easy browser compatibility testing.
“A testing tool accompanied by clear-cut measurable objectives, automation readiness, a well thought out framework for test automation, a way of storing & managing test data, and industry best practices & methodologies will lead to success of test automation.”
A manual-only test strategy is not enough
There is no doubt that testing, typically the final step in the development process, also has to keep pace and be agile. Additionally, it is extremely important to have a test automation strategy in place. Of course, there are areas where manual testing cannot be avoided, but these are common pitfalls of a manual-only testing methodology.
First, there is the possibility of human errors. With such shortened testing cycles, the likelihood of missing bugs with a manual-only process, certainly increases.
The second limitation in manual testing is that it is difficult to recreate, recall and capture an error. The entire testing process has to be repeated to recreate a bug, thus putting pressure on time.
The third limitation is the need to rewrite multiple testing scripts for different operating systems and browsers, thus wasting valuable time.
Our approach to automation
Testing requires an understanding of not just the tool itself, but knowhow about the users it is targeted for, and the purpose for which a particular tool is used. A pre-scripted, automated tool can often be rigid and limiting. The results will throw up a collection of bugs, but there would be no way for a QA tester to differentiate between the critical and non-critical ones.
As we were gearing up to build iSAFE, we put together a list of common testing challenges, hoping to solve each of them with our framework.
- A chaotic process will increase test costs and time
- While maximum test coverage in minimum time was crucial, the best automation process would be able to differentiate between critical and non-critical bugs
- Maintenance of test scripts for multiple browsers and operating systems was a challenge
- Testing process, often, had to be stopped on finding bugs in the critical path
- Even with test automation, customization and portability were crucial
At Indium, we’ve been entrenched in the world of software testing since 1999. As an independent vendor, we had the experience of using multiple test tools in a variety of contexts.
We have served clients from a cross-section of industries including banking, technology, healthcare, life sciences, retail, education and gaming sectors, and it was crucial to bring our experience to the fore as we built iSAFE.
We believe some of the key differentiations of using iSAFE are the following:
- Higher reusability of test scripts; reduced time for script maintenance
- Run compatibility tests in parallel, thus reducing test time
- Uninterrupted test process, even on failure
- Reduced dependency of technically skilled resources
- A wonderfully designed dashboard for reporting of test results that are contextual and meaningful for taking key decisions.
- Perform database and API test automation
- Last but not the least – ensure a better quality software
Of course, the process of improving iSAFE is a never ending effort for us. The next version (iSAFE 3.5) to be released next quarter, will have an enhanced dashboard, built-in-analytics and generate reports to help product owners develop better software. Additionally, we’re exploring ideas to improve User Interface testing in the upcoming version.
Also, one must keep in mind that all testing cannot be automated. There are certain aspects of the testing process – that have to be manual – and a quality automation framework will allow more time for anything that has to be tested manually.
At Indium, we’ve established a methodology to stay at the forefront of software development methodologies, a key approach to build better testing frameworks. As “software eats the world”, we hope to ensure it is “high-quality software” that is doing the job.