In the new age of mobility, enterprises need to move faster and be more flexible to remain relevant, prompting fundamental changes in how we view the software development world. While this transformation isn’t as monumental as the concept of our physical world changing from flat to round, it does require a paradigm shift in the work processes underlying software development and testing.
Application development workflows are shifting left. In other words, development is moving away from linear left-to-right and top-down Waterfall processes to integrate testing and quality continuously throughout the process, allowing new apps to reach the market faster. Test automation and collaborative methodologies like Agile and DevOps are being embraced as part of an overall Quality Engineering (QE) approach.
Quality Engineering means that software quality is tested, analyzed and improved continuously in the application development lifecycle, differing from the traditional worldview where Quality Assurance (QA) was tacked onto the end of the software development process. This not only reduces time to market, it also delivers the added bonus of improved overall project management and troubleshooting, preventing defects as well as detecting them for a better end result.
Now, as we make this shift from QA to QE, the tools we use for application development also need to change, enabling support for Continuous Integration and Continuous Delivery (CI/CD) methods. Relying on the best test and automation tools and platforms helps smooth the transition to a new QE worldview. With that in mind, here are some popular CI/CD tools available today.
- Using a CI Framework, hourly or daily software builds can be created automatically, simplifying the process of running unit tests and deploying builds to the QA or production environment. Jenkins is a CI Framework that has quickly come to dominate CI/CD builds for improved quality, faster time to market and reduced operational costs.
- For tracking of agile development projects and issues, many developers turn to JIRA from Atlassian. JIRA offers a flexible and mature feature set, as well as a growing supply of plug-ins that fit nicely with many CI/CD stacks, making JIRA the focal point for many development operations.
- Maven is a standard for building Java projects now, replacing some older build automation systems. While there could be a crossover with some of the functionality of CI Frameworks like Jenkins, there are still good reasons to have a standalone build automation system.
- Open source software Gradle has built a growing legion of fans, many of whom find this to be a faster build automation service than Maven. Some of its supporters include the likes of Netflix, Google and LinkedIn.
- Selenium is a great tool for automating web applications for testing purposes. With the support of major browser vendors, Selenium is native to web environments, providing the core technology in countless other browser automation tools, APIs and frameworks.
- QMetry Automation Studio (QAS) is a test automation tool that provides a single, unified solution for web, mobile (including native and web app) and web service test automation. The structured approach that QAS offers helps accelerate QA cycles and enhance mobile service levels
- In order to optimize testing productivity, ApTest Manager integrates testing functions under a single Web interface, allowing test information to be easily shared across groups of any size and geography.
- To assist with continuous delivery of finished applications to market, Chef encapsulates a series of processes, tests and automations, reinforcing DevOps best practices.
- In the realm of ‘freemium’ offerings is Puppet, a platform for automating the delivery and operation of software that powers everything around us. A majority of Fortune 100 companies are said to use Puppet’s open source and commercial solutions.
- The AppDynamics platform enables end-to-end visibility for real-time insights into application performance and user experience to isolate, resolve and automate fixes for continuous delivery of new features.
There’s no question that transitioning from QA to QE delivers speed and flexibility in testing, as well as throughout the entire development cycle, while improving reliability and cutting costs. Relying on the best automation and testing tools and services enables businesses to make this leap successfully, accelerating innovation to get new products and features to market faster for real competitive advantage. And isn’t that the name of the game?