Software Testing

The speed of digital transformation is already impressive and will only increase. To put this in very concrete terms, consider the following:

Suddenly, a large number of people jumped from a very provincial lifestyle directly into digital times – creating a massive demand for more and more innovative software to support these demands.

Traditional ways of developing and providing software are no longer adequate to meet this new demand. Not long ago, most companies released software annually or semi-annually. Now, iterations usually last two weeks or less. While the delivery cycle time is decreasing, the technical complexity required to provide a positive user experience and maintain a competitive advantage is increasing.

In terms of software testing, this takes us to an inflection point. In most organizations, testers were already racing to keep pace when delivery cycles were longer, and the application was less complex. Each quarter, the development team went through strict quality control, which then tried to validate it as thoroughly as possible in the allotted time – mainly with manual tests.

Now digital transformation initiatives, such as Agile and DevOps, are taking traditional methods to their breaking point. Organizations are launching much more frequently – from monthly on the low end to several times an hour on the high end. And, as organizations increasingly approach continuous delivery (CD) with automated delivery pipelines, quality gates, and final approval / non-approval decisions depend on test results.

SPEED ISSUES:

DevOps is about removing barriers to delivering innovative software more quickly. However, while other aspects of the delivery process are simplified and accelerated, testing consistently emerges as the most significant limiting factor.

Recent GitLab research, aimed at developers and engineers, found that testing is responsible for more delays than any other part of the development process.

AGILE MAINFRAME WITH CONTINUOUS TESTING USING APPLICATION CLUSTERING:

Organizations that develop and test applications in mainframe environments have been striving to keep up with users’ growing demands for new innovative functionality, DevExperience, especially considering the trend that many organizations are adopting development practices and agile testing. On the one hand, mainframe development may require decades of legacy experience, which is in danger of disappearing as a generation of workers retire. In addition, modern customer-driven applications, driven by the mainframe, are being accessed by an increasing number of users and customers via smartphones, tablets, and other devices – challenging the mainframe platform to deliver applications in the Continuous Integration (CI) model, as well as driving the volume of transactions on the mainframe in unpredictable ways. Finally, there is a high cost of providing the additional MIPS needed to support new development and testing requirements on the mainframe – not to mention the time and resources required to install these complex systems.

Due to these factors, new challenges have arisen in mainframe application development and testing operations, such as unavailable systems, inability to accurately model performance and complex test data requirements. However, by employing application clustering to model the main business logic on mainframe platforms and their integration with other internal and third-party systems, teams can break free from these constraints, leading to building faster test cycles, high quality, and much lower costs.

Most new corporate applications are built-in modern, distributed environments and are supported by multiple service teams and delivery partners. Existing mainframe systems provide system-dependent data for these heterogeneous applications – an approach that leads to several restrictions on application development, including unavailable dependencies, a conflict between the various tests of releases developed in parallel, making CI impossible, conflicting delivery schedules and test data restrictions. In addition to these restrictions, it is often very prohibitive for most organizations to purchase the additional MIPS needed to resolve these conflicts in their mainframe environments.

The technology provided to resolve these impasses must take advantage of all currently installed hardware, software, and applications. For each test that will be performed, you must generate a CLUSTER of z/OS components (program versions, DB2 tables, VSAM and sequential files, JCL) that will be different from their current versions on the machine to activate the necessary test conditions. The solution will act in a similar way to Hypervisor (Virtual Machine) or Docker (Container) monitoring the events in which each component of z/OS will be used to redirect to the correct version according to the test. Tests take place as if there were exclusive and independent test isolation for each test running, eliminating any conflict and dramatically increasing productivity.

HOW TO UNLOCK MAINFRAME PARALLEL TESTING IN NEW DIMENSIONS AND ELIMINATE FRICTION POINTS IN A COMPLEX TEST ENVIRONMENT?

Companies are increasingly focusing on the customer experience as part of their market entry strategy, and an essential part of the customer experience is their ability to move through the software quickly and seamlessly. The mainframe is essential to integrate the corporate strategy of DevOps to achieve a successful goal of customer experience.

To reduce the risks of bad customer experience, organizations are doubling their quality initiatives, and the software development industry is adopting continuous testing as a core activity.

development, including unavailable dependencies, a conflict between the various tests of releases developed in parallel, making CI impossible, conflicting delivery schedules and test data restrictions. In addition to these restrictions, it is often very prohibitive for most organizations to purchase the additional MIPS needed to resolve these conflicts in their mainframe environments.

During a test run, using a customizable set of rules, you decide which component will be used: the original version or a different version that belongs to the tester’s test case. As the tester’s point of view, it is executed as it was in an exclusive range that was enabled for this test case. The run that selects the right component in each event, perhaps a program call or data access in a DB2 table or in a VSAM or sequential file, is called a “Test Track”.

The entire process of creating and executing unit, functional and integration tests is automated, saving developers, support and hours of operation, work efforts and complexity of manual tasks to orchestrate the environments of Unit Test, UAT (User Acceptance Test) or Integrated Test. In addition, the technology accelerates testers and developers in the creation and automation of unit or functional tests, allowing product owners to test this code against business functionality requirements.

Mirroring the agile testing cycles of mainframe applications is possible to achieve the same pace as the delivery cycles of the distributed environment, enables Continuous Integration (CI) on the mainframe, also allows organizations to move with confidence at a faster pace, ensuring mainframe integrity and process – an essential element for mainframe delivery teams.

CONCLUSION:

The continuous testing methodology must be integrated with the Corporate DevOps strategy encompassing the Mainframe to reach the CI/CD and must be made possible in all stages of application development so that the company is developing at the speed of digital transformation required by the business. The APT solution is the only App Containerization tool on the market that leverages automation and isolation of programs and data for test cycles through unique agile technology and methods, enabling the implementation of Continuous Testing within the IBM z architecture. With APT, the lead time of the most critical and costly stages of the test cycles is greatly reduced, optimizing time, resources and costs, eliminating any data and code conflicts of applications in unit, functional and end-to-end users experience tests (UAT, IT, etc.), adding higher quality in application delivery, also significantly reducing the business’s Time-to-Market.

Emerson Castelano is an IT solutions specialist and IT manager at Eccox Technology. With an extensive career developed in the area of information technology, performing activities such as business case development and ROI studies, specializing in software for the IBM z platform. A frequent speaker at CMG Brazil (Computer Measurement Group of Brazil), exploring topics such as the implementation of DevOps in Mainframe teams.

2 thoughts on “DevOps Places Software Testing as a Challenge”

Leave a Reply

Your email address will not be published. Required fields are marked *