This document provides an overview of testing methods for mainframe applications. It discusses how testing needs have changed from the past where testing involved examining batch job outputs or online screen outputs, to modern approaches like test automation, virtualization, and DevOps. It covers different levels of testing maturity and factors to consider when planning tests. Black box and white box testing techniques are described, such as model-based testing, use case testing, and debugging. The presentation emphasizes the importance of testing to ensure stability, reliability, and compliance with changing requirements.
It describes the MMC storage device driver functionality in Linux Kernel and it's role. It explains different type of storage devices available and how they are handled from MMC driver point of view. It describes eMMC (internal storage) device and SD (external storage) devices in details and SD protocol used for communicating with these devices in Linux.
Most of this session will focus on Kernel Module Programming. We will briefly talk about the interaction of different layers of operating system from userspace to kernel space. Starting from simple Hello World kernel modules, we will learn the development of more sophisticated modules related to device drivers and interrupt handlers. We will also briefly touch upon the shell scripts and how they can be used to extract system level information. Since, this will be a hands on session, attendees are expected to try the examples on their machines. Basic understanding of operating systems and C programming is expected for the tutorial.
LCU13: An Introduction to ARM Trusted FirmwareLinaro
Resource: LCU13
Name: An Introduction to ARM Trusted Firmware
Date: 28-10-2013
Speaker: Andrew Thoelke
Video: http://www.youtube.com/watch?v=q32BEMMxmfw
A Journey into Hexagon: Dissecting Qualcomm BasebandsPriyanka Aash
Mobile phones are quite complicated and feature multiple embedded processors handling wifi, cellular connectivity, bluetooth, and other signal processing in addition to the application processor. Have you ever been curious about how your phone actually makes calls and texts on a low level? Or maybe you want to learn more about the internals of the baseband but have no clue where to start. We will dive into the internals of a qualcomm baseband, tracing it's evolution over the years until its current state. We will discuss the custom, in-house DSP architecture they now run on, and the proprietary RTOS running on it. We will also cover the architecture of the cellular stack, likely places vulnerabilities lie, and exploit mitigations in place. Finally we will cover debugging possibilities, and how to get started analyzing the baseband firmware—how to differentiate between RTOS and cellular functions, how to find C std library functions, and more.
GDDR Solution Design and Implementation Techniques EMC
This EMC Engineering TechBook draws on GDDR field expertise, highlighting best practices relating to both technology and project management disciplines required to achieve success during GDDR implementations.
This presentation includes a detail of various real time operating systems and it focuses on Vx Works. It will also help you understand what not is a RTOS.
Βασικές αρχές που διέπουν τη θεωρία των Λειτουργικών Συστημάτων, όπως αναφέρονται στο βιβλίο "Λειτουργικά Συστήματα Α’ & Β’ Τάξης 1ου Κύκλου" για τα Επαγγελματικά Λύκεια. Στις διαφάνειες παρουσιάζονται συνοπτικά βασικές αρχές και θεωρία από τα 5 πρώτα κεφάλαια.
AMD has been away from the HPC space for a while, but now they are coming back in a big way with an open software approach to GPU computing. The Radeon Open Compute Platform (ROCm) was born from the Boltzman Initiative announced last year at SC15. Now available on GitHub, the ROCm Platform bringing a rich foundation to advanced computing by better integrating the CPU and GPU to solve real-world problems.
"We are excited to present ROCm, the first open-source HPC/ultrascale-class platform for GPU computing that’s also programming-language independent. We are bringing the UNIX philosophy of choice, minimalism and modular software development to GPU computing. The new ROCm foundation lets you choose or even develop tools and a language run time for your application."
Watch the video presentation: http://wp.me/p3RLHQ-fJT
Learn more: https://radeonopencompute.github.io/
Sign up for our insideHPC Newsletter: http://insidehpc.com/newsletter
Writing Character driver (loadable module) in linuxRajKumar Rampelli
It covers the step by step approach on how to write a simple loadable character device driver in linux. What are Device files in linux detail. How user application interact with character driver using a device file.
MIPI DevCon 2021: MIPI I3C Application and Validation Models for IoT Sensor N...MIPI Alliance
Presented by Eyuel Zewdu Teferi, David Schumacher and Souha Kouki, STMicroelectronics
This presentation provides a global overview of using MIPI I3C® protocol for on-board communication among subsystems of an IoT sensor node. It includes adoption of MIPI CTS by using SysML models of requirements and test cases as an approach to manage I3C application use cases requirement validation.
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...Roberto Pérez Alcolea
It is well known that organizations connect software testing with software quality: making sure that the code does what it supposed to do.
Unfortunately, many organizations believe that testing is a slow process that causes stagnancy in the project. Organizations say that due to slow testing process they are not able to meet set milestones, but it doesn’t have to be this way.
The testing stage is also part of the developer experience, and making it such that engineers are productive and continue delivering software not only fast but with confidence is crucial.
In this talk, we will explore a few approaches that we are taking in order to deliver a more consistent and delightful testing experience for JVM engineers at Netflix. The end goal: speed up engineers’ feedback loop by running tests locally constantly as much as possible.
Enhancing Quality and Test in Medical Device Design - Part 2.pdfICS
Join us for the second installment of our webinar series, during which we explore the interesting and controversial aspects of quality and test solutions used in engineering for medical devices.
In this session, we'll weigh the pros, cons, motivations and alternatives for the canonical forms of software tests.
We'll also differentiate Medical Device Verification from other forms of testing to ensure you don't pay twice for the same result. And, we'll discuss how the concept of "reliability" in medical devices has evolved for software, and how "durability" might have more value.
If you’re developing medical devices and are trying to improve the value and efficacy of your quality budget, this session is a can't-miss!
It describes the MMC storage device driver functionality in Linux Kernel and it's role. It explains different type of storage devices available and how they are handled from MMC driver point of view. It describes eMMC (internal storage) device and SD (external storage) devices in details and SD protocol used for communicating with these devices in Linux.
Most of this session will focus on Kernel Module Programming. We will briefly talk about the interaction of different layers of operating system from userspace to kernel space. Starting from simple Hello World kernel modules, we will learn the development of more sophisticated modules related to device drivers and interrupt handlers. We will also briefly touch upon the shell scripts and how they can be used to extract system level information. Since, this will be a hands on session, attendees are expected to try the examples on their machines. Basic understanding of operating systems and C programming is expected for the tutorial.
LCU13: An Introduction to ARM Trusted FirmwareLinaro
Resource: LCU13
Name: An Introduction to ARM Trusted Firmware
Date: 28-10-2013
Speaker: Andrew Thoelke
Video: http://www.youtube.com/watch?v=q32BEMMxmfw
A Journey into Hexagon: Dissecting Qualcomm BasebandsPriyanka Aash
Mobile phones are quite complicated and feature multiple embedded processors handling wifi, cellular connectivity, bluetooth, and other signal processing in addition to the application processor. Have you ever been curious about how your phone actually makes calls and texts on a low level? Or maybe you want to learn more about the internals of the baseband but have no clue where to start. We will dive into the internals of a qualcomm baseband, tracing it's evolution over the years until its current state. We will discuss the custom, in-house DSP architecture they now run on, and the proprietary RTOS running on it. We will also cover the architecture of the cellular stack, likely places vulnerabilities lie, and exploit mitigations in place. Finally we will cover debugging possibilities, and how to get started analyzing the baseband firmware—how to differentiate between RTOS and cellular functions, how to find C std library functions, and more.
GDDR Solution Design and Implementation Techniques EMC
This EMC Engineering TechBook draws on GDDR field expertise, highlighting best practices relating to both technology and project management disciplines required to achieve success during GDDR implementations.
This presentation includes a detail of various real time operating systems and it focuses on Vx Works. It will also help you understand what not is a RTOS.
Βασικές αρχές που διέπουν τη θεωρία των Λειτουργικών Συστημάτων, όπως αναφέρονται στο βιβλίο "Λειτουργικά Συστήματα Α’ & Β’ Τάξης 1ου Κύκλου" για τα Επαγγελματικά Λύκεια. Στις διαφάνειες παρουσιάζονται συνοπτικά βασικές αρχές και θεωρία από τα 5 πρώτα κεφάλαια.
AMD has been away from the HPC space for a while, but now they are coming back in a big way with an open software approach to GPU computing. The Radeon Open Compute Platform (ROCm) was born from the Boltzman Initiative announced last year at SC15. Now available on GitHub, the ROCm Platform bringing a rich foundation to advanced computing by better integrating the CPU and GPU to solve real-world problems.
"We are excited to present ROCm, the first open-source HPC/ultrascale-class platform for GPU computing that’s also programming-language independent. We are bringing the UNIX philosophy of choice, minimalism and modular software development to GPU computing. The new ROCm foundation lets you choose or even develop tools and a language run time for your application."
Watch the video presentation: http://wp.me/p3RLHQ-fJT
Learn more: https://radeonopencompute.github.io/
Sign up for our insideHPC Newsletter: http://insidehpc.com/newsletter
Writing Character driver (loadable module) in linuxRajKumar Rampelli
It covers the step by step approach on how to write a simple loadable character device driver in linux. What are Device files in linux detail. How user application interact with character driver using a device file.
MIPI DevCon 2021: MIPI I3C Application and Validation Models for IoT Sensor N...MIPI Alliance
Presented by Eyuel Zewdu Teferi, David Schumacher and Souha Kouki, STMicroelectronics
This presentation provides a global overview of using MIPI I3C® protocol for on-board communication among subsystems of an IoT sensor node. It includes adoption of MIPI CTS by using SysML models of requirements and test cases as an approach to manage I3C application use cases requirement validation.
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...Roberto Pérez Alcolea
It is well known that organizations connect software testing with software quality: making sure that the code does what it supposed to do.
Unfortunately, many organizations believe that testing is a slow process that causes stagnancy in the project. Organizations say that due to slow testing process they are not able to meet set milestones, but it doesn’t have to be this way.
The testing stage is also part of the developer experience, and making it such that engineers are productive and continue delivering software not only fast but with confidence is crucial.
In this talk, we will explore a few approaches that we are taking in order to deliver a more consistent and delightful testing experience for JVM engineers at Netflix. The end goal: speed up engineers’ feedback loop by running tests locally constantly as much as possible.
Enhancing Quality and Test in Medical Device Design - Part 2.pdfICS
Join us for the second installment of our webinar series, during which we explore the interesting and controversial aspects of quality and test solutions used in engineering for medical devices.
In this session, we'll weigh the pros, cons, motivations and alternatives for the canonical forms of software tests.
We'll also differentiate Medical Device Verification from other forms of testing to ensure you don't pay twice for the same result. And, we'll discuss how the concept of "reliability" in medical devices has evolved for software, and how "durability" might have more value.
If you’re developing medical devices and are trying to improve the value and efficacy of your quality budget, this session is a can't-miss!
Behavior Driven Development is one of the most commonly misunderstood techniques in DevOps, but it is also one of the key enablers of both an Agile culture and true continuous deployment. This talk will attempt to fill in the missing pieces on exactly what BDD is and how your teams can use it to increase communication, drive quality, and reduce waste. We will also connect the dots on why you need a test-first strategy to enable trunk-based development, continuous integration, and continuous deployment. If your business still struggles with monthly or quarterly big-batch releases, this talk will show you what your teams must do to evolve to the next stage of continuous delivery.
Learn how to establish a greater sense of confidence in your release cycle, along with the practices and processes to create a high-performing engineering culture within your team.
Behaviour Driven Development: Oltre i limiti del possibileIosif Itkin
The QA Financial Forum: Milan 2019
23 January at the Excelsior Hotel Gallia.
Anna-Maria Lukina, Exactpro Business Development Director
The QA Financial Forum: Milan is one of the leading fintech conferences in Italy. The event focuses on the latest achievements in software risk management and automation of software testing. The predominant theme of the Milan event will be Quality Assurance for the entire Software Development Life Cycle (SDLC).
The topics under discussion will feature:
- Technologies for Automation & AI
- DevOps & CI/CD
- Value Stream Management
- Test Data Management
- Regulatory Compliance
- App Security & DevSecOps
- Testing and quality assurance of Blockchain platforms
The official language of the event is Italian.
Building and Scaling High Performing Technology Organizations by Jez Humble a...Agile India
High performing organizations don't trade off quality, throughput, and reliability: they work to improve all of these and use their software delivery capability to drive organizational performance. In this talk, Jez presents the results from DevOps Research and Assessment's five-year research program, including how continuous delivery and good architecture produce higher software delivery performance, and how to measure culture and its impact on IT and organizational culture. They explain the importance of knowing how (and what) to measure so you focus on what’s important and communicate progress to peers, leaders, and stakeholders. Great outcomes don’t realize themselves, after all, and having the right metrics gives us the data we need to keep getting better at building, delivering, and operating software systems.
More details:
https://confengine.com/agile-india-2019/proposal/8524/building-and-scaling-high-performing-technology-organizations
Conference link: https://2019.agileindia.org
Despite the belief that a shared context and collaboration drives quality, too often, software testers and quality professionals struggle to find their place within today's integrated agile teams. This session is a practitioner’s view of testing and testing practices within an iterative/incremental development environment. We will begin with a discussion of some of the challenges of testing within an agile environment and delve into the guiding principles of Agile Testing and key enabling practices. Agile Testing necessitates a change in mindset, and it is as much, if not more, about behavior, as it is about skills and tooling, all of which will be explored.
Value Driven Development by Dave Thomas Naresh Jain
Agile, OOP... are like good hygiene in the kitchen, it results in meals with consistent quality and predictable prep and service times. It doesn't result in great meals nor substantially impact the ROI! Lean Thinking clearly shows that the only way to make a significant impact is to improve the value chain by improving flow. If everyone is following best practices no one has competitive advantage. Major improvements in the value chain depend on continued disruptive innovations. Innovations leverage people and their ideas. We use case studies to illustrate the different business and technical innovations and their impact. We conclude with a discussion of how to build and leverage an innovation culture versus a sprint death march when dealing with high value time to market projects.
More details: https://confengine.com/agile-india-2017/proposal/3608/value-driven-development-maximum-impact-maximum-speed
Microservices at Scale: How to Reduce Overhead and Increase Developer Product...DevOps.com
As a cloud native application grows in size—more microservices, more dependencies, more teams—there’s a corresponding increase in…
Complexity: Over time, the application becomes a lot harder for a single developer to reason about and contribute to. Staying on top of READMEs and managing cross-team communication is practically a full-time job.
Scaling challenges: The reality of building, deploying, and testing a 100+ service distributed application means developers are going to spend a lot of time sitting around waiting.
But it doesn’t have to end up this way, and there are concrete steps that DevOps engineers can take to keep their developers moving quickly even as an application grows. In this webinar, we’ll show you how to use open source products to:
Make it easy for your developers to code and run on-demand tests against a production-like environment—without having to constantly deal with the complexity that comes with a large application
Codify the relationship between all your services and tests, making your system self-documented and easy to understand
Keep your integration tests running fast so that devs can more easily write and debug their tests and get the quick feedback loops they need
Facilitate remote, in-cluster development and give every developer their own isolated namespace—and never again ask a developer to deploy the application on their laptop
Intelliware’s Chief Technologist, BC Holmes, provides a pragmatic overview of Agile testing. Complete with many examples, this presentation is ideal for those looking for a practical take on software testing in an Agile environment.
Agile Testing: A pragmatic overview and new entry in Intelliware’s Agile Methodology Series.
What you’ll learn in this presentation:
Intelliware’s Chief Technologist, BC Holmes, provides a pragmatic overview of Agile testing. Complete with many examples, this presentation is ideal for those looking for a practical take on software testing in an Agile environment.
The presentation covers:
- Why do we use Agile testing?
- What Agile testing isn’t
- What Agile testing is: unit testing and test-driven development (TDD)
- High-level properties of good tests
- Testing in different languages
- Test suites and code coverage
- Using mock objects to help isolate units
- Beyond unit testing
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0Joakim Lindbom
Corporations are struggling with overly complex systems and system landscapes. DevOps is presented as one piece of the puzzle to go for much leaner and simpler landscapes - all in order to increase the readiness for change and innovation.
The presentation also discusses the the basic thought error behind organising according to Design-Build-Run, which is the basis for most ICT IM outsourcing.
Similar to How to test a Mainframe Application (20)
Opening keynote at GSE Nordic conference in Reykjavik 2016.
I have also put the whole presentation on Youtube including all videos. It is located at
https://www.youtube.com/watch?v=hNgpiKM6kfg
It is recorded not with my own voice and flat Danish pronunciation, but with a synthetic voice. Which might be quite suitable for the subject.
The imbedded videos are reterieved from
https://www.youtube.com/watch?v=K-4mp_e5v4A
https://www.youtube.com/watch?v=x-vS0WcJyNM
https://www.youtube.com/watch?v=LSZPNwZex9s
https://www.youtube.com/watch?v=BlbQsKpq3Ak
A presentation for PL/I and COBOL developers about Java. Not a course, but a technical deep dive. Parts are reused from an earlier Jave on Mainframe presentations, but most is new stuff.
A presentation for the Danish parliament Heathcare Committee concerning proposed changes to the Electronic Patient Journal legislation from 2006. The recommendations were in line with the other witnesses and helped change the legislation.
IT in the Age of Globalization. Keynote speech from the GSE Nordic Conference 2006 - before the financial crisis. It was meant as a presentation on “Hey, Who Stole my Computer” requested the year before at Riga one late evening over a glass of good beer.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
1. FOR MORE INFORMATION PLEASE CONTACT
Xact Consulting A/S
Arnold Nielsens Boulevard 68A
DK-2650 Hvidovre
+45 7023 0100
info@Xact.dk
www.Xact.dk
Enterprise Modernization
S505. How to test a Mainframe Application
GSE Nordic Conference
May 2017
Michael Erichsen,
Xact Consulting A/S,
michael.erichsen@Xact.dk
Welcome to a presentation about how to test a mainframe application.
1
2. Disclaimers
• This is NOT a presentation
about how to replatform
from a mainframe to a
Microsoft platform
• If you want to hear about
that subject, then you could
spend the next hour much
better anywhere else!
There has been some confusion in the conference invitation about the presentation I
was invited to give.
If this had led you to expect a presentation on how to change platforms from z/OS to
Microsoft, then I am going to disappoint you.
2
3. More Disclaimers
IANAT
– I Am Not A Tester…
But I am co-author of one of the
testing tools discussed
This is a presentation about testing.
I am not a tester myself, but I do spend most of my time these days setting up test
environments and building test tools.
3
4. Remember back in the 2. Millennium?
Let us start with a flash back to the recent past.
Do you remember back in the second millennium, where we used to sail in Viking ships?
We discovered America, but were careful enough not to tell anybody about it.
4
5. Remember back in the 2. Millennium?
That was when applications were monolithic.
5
7. Remember back in the 2. Millennium?
7
And the user interface was Leporello lists in batch.
7
8. Remember back in the 2. Millennium?
8
And green screens on line.
8
9. Testing – Old Style
Batch programs were tested by resetting the master file or database.
Then you created an input file.
You submitted the batch job.
And finally, you examined the output and compared it to the expected result or the
output of a previous run.
9
10. Testing – Old Style
Online programs were tested by starting a transaction, entering data, pressing “Enter”,
and then examining the output on the screen.
Or perhaps taking a screen shot for documentation.
10
11. This was good enough for your Grandfathers,
but probably not for you?
This way of testing was perhaps sufficient in the millennium, where we sailed the long
ships with dragon’s heads.
But today we need something else.
11
12. Testing in the 3. Millennium
• Stability and reliability have
always been the hallmarks
of the mainframe
– Changing test requirements
– Changed environment
– Shorter time to market
– Developers, testers and
operations staff are not
sitting close to each other
any more
Testing is changing completely now, and it has suddenly become very interesting.
Stability and reliability have always been the hallmarks of the mainframe.
But that is not enough anymore.
12
13. Testing in the 3. Millennium
• Stability and reliability have
always been the hallmarks
of the mainframe
– Changing test requirements
– Changed environment
– Shorter time to market
– Developers, testers and
operations staff are not
sitting close to each other
any more
We have moved from green screens to client/server, monolithic and spaghetti to
modular and structured, from small tight groups to globally dispersed, virtual teams.
And compliance requirements are added on top of it all.
We live and work in a time of liberalization, economic challenges, concentration of
corporations and a focus on shareholder value rather than using the revenue for
company building.
13
14. Testing in the 3. Millennium
• Stability and reliability have
always been the hallmarks
of the mainframe
– Changing test requirements
– Changed environment
– Shorter time to market
– Developers, testers and
operations staff are not
sitting close to each other
any more
• Instead we got DevOps
• Reduce time used to provide
new solutions
• Test faster and more
completely
– Test automation
– Test virtualization
– More flexible test environments
– Promotion depending on test
and quality assurance
DevOps is the current buzzword.
It means that we need to be faster and better.
All the time.
Testing needs to be automated to speed deliveries up.
This requires more and more parallel test environments, and it requires that we use test
virtualization to make them more independent of each other.
14
15. Testing in the 3. Millennium
• Stability and reliability have
always been the hallmarks
of the mainframe
– Changing test requirements
– Changed environment
– Shorter time to market
– Developers, testers and
operations staff are not
sitting close to each other
any more
• Instead we got DevOps
• Reduce time used to provide
new solutions
• Test faster and more
completely
– Test automation
– Test virtualization
– More flexible test environments
– Promotion depending on test
and quality assurance
We now have new flexible and modern test environments available, like Micro Focus
Enterprise, Compuware Topaz, and the IBM products formerly known as Rational.
The Rational products includes the IBM developer, the IBM debugger, Rational Team
Concert, all the tools in the Test Workbench, and zD&T, which is a complete mainframe
on Intel hardware.
15
16. Testing in the 3. Millennium
• Stability and reliability have
always been the hallmarks
of the mainframe
– Changing test requirements
– Changed environment
– Shorter time to market
– Developers, testers and
operations staff are not
sitting close to each other
any more
• Instead we got DevOps
• Reduce time used to provide
new solutions
• Test faster and more
completely
– Test automation
– Test virtualization
– More flexible test environments
– Promotion depending on test
and quality assurance
Finally, promotion is increasingly combined with test and quality assurance.
Nobody will be allowed to put anything in production, unless they can prove that it is
tested, that all the changes are covered by the test, and that coding standards have been
followed.
16
17. Testing Maturity
Introduction to Software Testing (Ammann & Offutt)
Level 0
•There’s no difference
between testing and
debugging
Level 1
•The purpose of testing
is to show that the
software works
Level 2
•The purpose of testing
is to show that the
software doesn’t work
Level 3
•The purpose of testing
is not to prove
anything specific, but
to reduce the risk of
using the software
Level 4
•Testing is a mental
discipline that helps
all IT professionals
develop higher quality
software
So, why do we test in the first place?
This is an attempt to discuss testing maturity.
If you sit there thinking that testing and debugging is the same thing, you are given a
round zero.
If you test to prove that the code that I have written does not work, you are some levels
more mature. But not too respectful, I might say.
If you focus on risk reduction and quality improvement, you score the highest marks.
17
18. Typical Software Quality Factors
William C. Hetzel, The Complete Guide to Software Testing
• Functionality (exterior quality)
– Correctness
– Reliability
– Usability
– Integrity
• Engineering (interior quality)
– Efficiency
– Testability
– Documentation
– Structure
• Adaptability (future quality)
– Flexibility
– Reusability
– Maintainability
Here are some good factors to consider when you plan your tests.
The list itself demonstrates how far modern testing has moved.
18
19. Typical Software Quality Factors
Hetzel, William C., The Complete Guide to Software Testing
• Functionality (exterior quality)
– Correctness
– Reliability
– Usability
– Integrity
• Engineering (interior quality)
– Efficiency
– Testability
– Documentation
– Structure
• Adaptability (future quality)
– Flexibility
– Reusability
– Maintainability
•How many
factors
do we
actually
test for?
And it puts the big question to all of us:
How many factors do we actually test for?
19
20. Release Culture
Company A (Old story,
possibly an urban legend):
– It is better economy to ship early
and often
– We have a monopoly, and it is
cheaper to pay damages (and
lawyers) than to have better
quality
Company B (Real life):
– Every version must be both
forward and backward compatible
– Thorough testing
– Wide beta programs
The culture aspect is important.
It is really a part of your corporate culture.
If all that matters are shareholder values for the current quarter, then you risk losing
focus on your customers.
And in the longer run:
Losing focus on your real business.
Company A cocktail party.
Company B is how IBM is expected to work.
20
21. Where do we validate our Input?
• The 3270 model leaves no choice
• The distributed model leaves nothing but choices
– In the client?
– At entry to the mainframe?
– At entry to every module?
The first question we meet is:
Where do you validate your input?
This is traditionally different from mainframes to distributed platforms.
But it might be worth reconsidering?
21
22. Where do we validate our Input?
• The 3270 model leaves no choice
• The distributed model leaves nothing but choices
– In the client?
– At entry to the mainframe?
– At entry to every module?
• An all too true story
– Mainframe developers have validated certain data for decades
– Front end developers do not ask
• They just code the same test in the front end
In many shops, there is no consensus in this matter.
This results in the same validation happening in different layers of the applications.
And even a service catalog will not help you, if nobody is using it, anyway.
22
23. Quote of the Day
• “If debugging is the process
of removing software bugs,
then programming must be
the process of putting them
in”
– Edsger Dijkstra
• Stolen from
http://www.marcofolio.net/
Debugging is not the same as testing.
But this quote probably goes for both efforts.
23
24. The Real Architecture Model Cycle
Experience
shows
limitations
Before we dig into some of the many methods, techniques and tools for testing, I would
like to remind how architecture models evolve.
First somebody gets annoyed by the limitations in their practical work.
24
25. The Real Architecture Model Cycle
Experience
shows
limitations
Improvement
ideas
Then someone gets some good ideas for improvement.
25
26. The Real Architecture Model Cycle
Experience
shows
limitations
Improvement
ideas
Bestseller
with new
terms for
everything
If one of them is ambitious enough, then he gives it a name and writes a book about it.
It is always a “he”, and sometimes the book becomes a best seller.
26
27. The Real Architecture Model Cycle
Experience
shows
limitations
Improvement
ideas
Bestseller
with new
terms for
everything
Part of
curriculum
This is new and exciting, so some universities put in into their curriculum to show that
they are on the leading edge.
It is beaten into the heads of the poor students.
27
28. The Real Architecture Model Cycle
Experience
shows
limitations
Improvement
ideas
Bestseller
with new
terms for
everything
Part of
curriculum
Vendors
create new
tools
No tool vendor wants to be left behind, so they all develop or buy a tool to support it.
28
29. The Real Architecture Model Cycle
Experience
shows
limitations
Improvement
ideas
Bestseller with
new terms for
everything
Part of
curriculum
Vendors
create new
tools
Students
become
architects
In the meantime the students graduate.
They get jobs, and since they are on the beat with the newest trend, they become
architects in the companies, where you work.
29
30. The Real Architecture Model Cycle
Experience
shows
limitations
Improvement
ideas
Bestseller
with new
terms for
everything
Part of
curriculum
Vendors
create new
tools
Students
become
architects
Everybody
must use new
terms and
tools
Now everybody else must use the new tools and terms, or they are fast becoming
obsolete.
30
31. The Real Architecture Model Cycle
Experience
shows
limitations
Very soon somebody gets annoyed by the limitations in their practical work, and the
cycle starts all over.
So, I will not have a slide in this presentation about Test Driven Development, because
that might have become obsolete since I started speaking.
31
32. Processes
Waterfall?
– Test planning
• Finding an error before it has been
made is brilliant
• Finding errors late in the project is
expensive
Agile?
– ”Shift Left”?
• Finding an error as soon as it has
been made
Can they be combined?
– Or will that be too expensive?
The big movement in the development and testing process today is going from waterfall
to agile.
We know the limitations of the waterfall model, and we are annoyed by them.
It is too rigid and too slow for the requirements of today. Errors found in the test phase
become expensive, and they can delay a project.
But we should try not to throw out the baby with the waterfall.
I have seen test planners finding errors that the coders had not yet made, because of the
helicopter view of the testers.
32
33. Quote of the Day
• “Walking on water and
developing software from a
specification are easy if both
are frozen”
– Edward V Berard
• Stolen from
http://www.marcofolio.net/
If an environment is too agile, you might fall through.
33
34. Testing Methods
• Static testing
– Review
– Walk through
– Inspection
– Verification
• Dynamic testing
– Black box
• Treats software under test as a black-box without knowing its internals.
• Tests are using software interfaces and trying to ensure that they work as expected
– White box
• Looks inside the software that is being tested
• Uses that knowledge as part of the testing process
To start to discuss and categorize testing methods, we have a distinction between static
and dynamic testing.
Static is what we do at code review meetings, at the desk top, or at home with a print
list and a glass of good single malt.
Dynamic is computer aided.
It comes in two flavours: Black box, and white box.
34
35. Black Box Testing
Viktor Farcic: Technology Conversations
• Efficient for large segments
of code
• Code access is not required
• Separation between user’s
and developer’s
perspectives
This is a listing of some of the advantages of black box testing.
35
36. Black Box Testing
Viktor Farcic: Technology Conversations
• Efficient for large segments
of code
• Code access is not required
• Separation between user’s
and developer’s
perspectives
• Limited coverage since only a
fraction of test scenarios is
performed
• Inefficient testing due to
tester’s lack of knowledge
about software internals
• Blind coverage since tester has
limited knowledge about the
application
And some of the disadvantages.
36
37. Black Box Testing
Model-based testing
Use case testing
Specification-based testing
All-pairs testing
Fuzz testing
Exploratory testing
These are the main methods for black box testing.
They are much more advanced than just entering data into a green screen.
They all look at both how to develop your test cases and how to automate them.
Model-based testing is used by a method called “Model Driven Design” by defining test
cases to test that the model is implemented.
37
38. Black Box Testing
Model-based testing
Use case testing
Specification-based testing
All-pairs testing
Fuzz testing
Exploratory testing
Use case testing uses test cases based on analysis of success and some failure scenarios.
Specification-based testing uses Boundary Value Analysis, Decision Tables, and State
Transitioning tests.
All-pairs testing tests all possible discrete pairs of input parameters.
Fuzz testing is an automatic test of invalid, unexpected or random data.
And Exploratory testing will develop test cases as you go and get new ideas from
experience.
This could be the basis of a long list of requirements to your test tool vendors.
38
39. White Box Testing
Viktor Farcic: Technology Conversations
• Efficient in finding errors and
problems
• Required knowledge of internals
of the software under test is
beneficial for thorough testing
• Allows finding hidden errors
• Programmers introspection
• Helps optimizing the code
• Due to required internal
knowledge of the software,
maximum coverage is obtained
This is a listing of some of the advantages of white box testing.
39
40. White Box Testing
Viktor Farcic: Technology Conversations
• Efficient in finding errors and
problems
• Required knowledge of internals
of the software under test is
beneficial for thorough testing
• Allows finding hidden errors
• Programmers introspection
• Helps optimizing the code
• Due to required internal
knowledge of the software,
maximum coverage is obtained
• Might not find unimplemented
or missing features
• Requires high level knowledge
of internals of the software
under test
• Requires code access
And some of the disadvantages.
40
41. White Box Testing
• Debugging (single stepping)
• Post-mortem debugging
(Dump analysis)
• Unit testing
• Integration testing
• Component Interface
testing
• System testing
• Acceptance testing
• Regression testing
• Usability testing
• Accessibility testing
• Security testing
• Internationalization testing
• Code coverage
• Fault injection
White box testing calls for a discussion about testing techniques.
We will only touch it very lightly, but go into more details about some of the tools.
41
42. Code Coverage Criteria
• Function coverage
• Statement coverage
• Branch coverage
• Condition coverage (or
predicate coverage)
Code coverage was one of the first methods for systematic software testing.
Modern tools often report on code coverage after testing on a function and statement
basis, but we might consider more advanced criteria as well.
Branch coverage checks that each branch of each control structure has been executed.
For example, given an if statement, have both the true and false branches been
executed?
Condition coverage (or predicate coverage) checks in the same way if each Boolean sub-
expression has been evaluated both to true and false.
42
43. Fault Injection
Parasoft JTest as an example
(AD 1999)
– Analyse Java class using
introspection
– Generate input data intended to
break the code
– Shoot at it
– Create a report on what was
broken and how to fix it
This depends on the wish to
validate on the unit level
Fault Injection is wide spread in Java development.
Java has a language feature called introspection, which reports which methods can be
called with which arguments.
This is used to generate automated test cases, that analyses a program, injects all
interesting input, and reports on missing validations and error handling.
I have once used the tool mentioned here to make a critical Java application bullet proof.
43
44. Test Automation
Front end tools
– Hiperstation
– IDz Generic Service Client
– TestRunner
– SoapUI
Host tools
– Headless Code Coverage
Lifecycle tools
– Embed in lifecycle management
Automated tests are important for speeding up the development and test life cycle.
We can use front end tools that only need to know about the interfaces.
Code coverage can run as part of automated test as what is called headless Code
Coverage, where it is running as a batch job without a graphical user interface.
And they can and should be embedded in your lifecycle management as parts of the
promotion procedure.
44
45. Quote of the Day
• “Always code as if the guy
who ends up maintaining
your code will be a violent
psychopath who knows
where you live”
– Rick Osborne
• Stolen from
http://www.marcofolio.net/
Some programmers claim that if a program has been hard to code, it should also be hard
to read.
Maintainers do not agree.
Neither do white box testers.
45
46. Security Testing
• Authentication and
authorization
• Resilience (DoD attacks,
injections etc.)
– Chaos Monkey (Simian Army)
A different area that needs testing is security.
We now know that mainframes can be attacked and penetrated.
We need to develop formalized tests of authentication, authorization and resilience.
This is not only a task for network and firewall departments.
46
47. Security Testing
• Authentication and
authorization
• Resilience (DoD attacks,
injections etc.)
– Chaos Monkey (Simian Army)
An interesting tool has been developed by Netflix engineers to test the resiliency and
recoverability of their Amazon Web Services.
It was called “Chaos Monkey”, and now they have a complete suite, so they called it
“Simian Army”.
Chaos Monkey is a resiliency tool that helps applications tolerate random instance
failures.
47
48. Security Testing
• Authentication and
authorization
• Resilience (DoD attacks,
injections etc.)
– Chaos Monkey (Simian Army)
• Privacy
– The EU ePrivacy Directive
– The EU General Data Protection
Regulation
– Privacy By Design
– Privacy By Default
– The Right to be Forgotten
But not only must we protect our companies and our systems.
We also need to protect the security and privacy of our current customers and of others
that use our systems and might be our future customers.
48
49. Security Testing
• Authentication and
authorization
• Resilience (DoD attacks,
injections etc.)
– Chaos Monkey (Simian Army)
• Privacy
– The EU ePrivacy Directive
– The EU General Data Protection
Regulation
– Privacy By Design
– Privacy By Default
– The Right to be Forgotten
This has long been an ethical requirement, but thanks to visionary and resilient
politicians in the European Union we now have “The EU ePrivacy Directive” and “The
General Data Protection Regulation”.
It must become law in each member state by May 6th 2018.
Some of the important principles are “Privacy By Design”, “Privacy By Default”, and “The
Right to be Forgotten”.
These principles must be obeyed by our application design and our test data
management.
49
50. Test Data Management
• The Achilles’ heel of many test
teams
• Test data creation
– By hand
– By tool
• CA Test Data Manager (Datamaker)
• Compuware’s Test Data Management
• InfoSphere Optim Test Data
Management
– From production data
• Masking/Anonymization/Pseudonym
ization
– EU directive
• Test data backup and restore
Test Data Management is a very big discussion in itself.
There are other presentations on that subject at the conference, such as S503 - The
Impact of Inefficient, Ineffective and unsecure Test Data By Kim Mortensen and Gerald
Pfeiffer, and S510 - Where does your test data come from? By Bill Alexander.
50
51. Test Data Management
• The Achilles’ Heel of many test
teams
• Test data creation
– By hand
– By tool
• CA Test Data Manager (Datamaker)
• Compuware’s Test Data Management
• InfoSphere Optim Test Data
Management
– From production data
• Masking/Anonymization/Pseudonym
ization
– EU directive
• Test data backup and restore
• Synchronizing code changes,
data structure changes, and
test data
– Synchronization Big Iron
zD&T
I will just mention that when you are expanding your test environments to a farm of
zD&T mainframe systems running on Intel, one of the biggest challenges is precisely test
data management:
How do you create a consistent and sufficiently large set of test data?
And how do you update your test data, when applications change?
51
52. z series Development and Test Environment
• zD&T, RD&T, RDzUT,
zPDT, ADCD…
• Fast and economic
deployment of test
environments
Z Series Development and Test Environment is the mainframe on Intel hardware.
It is a less expensive and much faster way of setting up all the parallel test environments
that we need today.
Setting up a new z/OS system with out-of-the-box settings can be done in a few days
from scratch, and even faster when you have a golden image to clone.
52
53. z series Development and Test Environment
• zD&T, RD&T, RDzUT,
zPDT, ADCD…
• Fast and economic
deployment of test
environments
– The heavy lift is load
and adaptation of
data, applications,
configurations, and
customizations
What takes time and effort is to identify and extract applications, data, configurations,
and customizations on the big iron, and then to adapt them to the new test
environment.
53
54. Tools
• Service test
• Performance test
• Unit test
Let us now look at some test tools.
54
55. Service test
Product Company
HiperStation Compuware
IBM Developer for z Service Client feature IBM
LoadRunner HPE
Rational Test Workbench IBM
SoapUI SmartBear
Service test is done by tools running outside the mainframe.
They are doing a black box test to check the interfaces and API’s you have exposed to
front end clients.
These are some of the most popular tools.
55
56. Performance Test
Product Company
Application Performance Analyzer IBM
FreezeFrame Macro4
InTune BMC
Mainframe Application Tuner CA
SmartTune ASG
Startool Serena
Strobe Compuware
Performance test is done by your usual on line monitors like MainView, Omegamon,
Tmon, and Sysview.
And with profiler products such as these on this list.
56
57. Unit test
Product Company
Topaz for Total Test Compuware
XaTester Xact
zUnit IBM
Unit test tools have been top of the mainframe testers’ wish list for years.
Now they are finally becoming available.
IBM has zUnit, which is part of IDZ, IBM Developer for z systems. I will point a
presentation about that one.
Compuware recently announced Topaz for Total Test. I will point to a presentation on
that one too.
And Xact also recently announced XaTester, which I will go a bit more in detail on in a
moment.
57
58. Quote of the Day
“A bug is not an error,
it is a test that was not written”
– Extreme programming
So, with a bit of luck, it might be time to say goodbye to some of the bugs?
58
59. The New Kids on the Block
• Rational Integration Tester
• zUnit
• Topaz
• XaTester
Let us go into details om one integration tester and three unit testers.
They are two different categories, but in practical use, they seem to overlap.
Rational Integration Tester can be used for test virtualization at interfaces like a call to
MQ or a distributed program link in CICS.
59
60. The New Kids on the Block
• Rational Integration Tester
• zUnit
• Topaz
• XaTester
ZUnit tests single modules in batch.
Topaz test single modules, but can also provide test virtualization for some calls.
XaTester was built to test single modules, but user requirements have made it evolve
into some integration testing and quite a bit of test virtualization.
60
61. Rational Integration Tester
Rational Integration Tester is a scripting-free environment for developing tests for
service-oriented architecture (SOA) messaging and business process integration
projects.
It can virtualize several messaging solutions (for example, JMS, TIBCO, MQ, CICS
distributed program link, and CICS Transaction Gateway) by using a plug-in for the
different environments.
61
62. A Sample Application
Imagine an application that is called by a front end, and which communicates with
another application using MQ.
It could look like this.
62
63. Test Virtualization
What you would like to do was to test your application independently of the other
application.
So, you would like to stub or mock up the MQ call and get the expected result back,
even though the other application was unavailable.
63
64. RIT Installation
You must set up a server for Rational Integration Tester with a repository.
You must install an exit in your MQ system.
And, you must install the Rational Test Workbench on your workstation.
You can then define that certain MQ calls should be intercepted by the exit and that the
requests and responses are recorded by the server when running the application.
64
65. RIT Simulation
Now you can define that all requests are redirected to the server, and the proper
responses are returned.
You can also use an editor to define which data is returned in which fields by the server.
65
66. Rational Integration Tester
The user interface is the Rational Test Workbench, which is shown here.
I have been using it in a project, where the response time for the remote application was
two to three days.
The test virtualization reduced testing time to seconds.
66
67. More Sample Applications
The limitations of the integration tester are seen, when you want to test single modules
in batch or online.
67
68. Unit Test
The unit tester is similar to the integration tester, but it operates at the module level. So,
we need some more packaging around the module to test it.
This is a generic view of a unit tester.
68
69. Unit Test
Unit testers typically have graphical user interfaces and tools to record and edit test
data.
They can have parses that analyses the data definitions of sources of the modules under
test.
And they can have repositories to save test cases, test suites, and test data.
69
70. zUnit
zUnit is not a separate product, but a feature of Developer for z Systems.
It provides a code-driven unit testing framework for Enterprise COBOL and PL/I.
zUnit is an adaptation of the xUnit framework, which is derived from the Java
environment.
It generates COBOL or PL/I programs that can call the modules under test.
Bill Alexander will tell you much more about it in his presentation.
70
71. Topaz for Total Test
Topaz for Total Test from Compuware automates both the creation and the execution of
unit tests
It integrates tightly with Xpediter, but can run stand alone or integrated with IBM
Developer.
It generates data stubs, program stubs and test result assertions.
It can call subprograms with parameters collected by Xpediter
It can integrate to tools like SonarCube, and Code Coverage can be used during the test-
run.
Kim Mortensen will tell you more in his presentation.
71
72. XaTester
XaTester is a unit test and integration test tool for COBOL, PL/I, EGL, Fortran, RPG and
Assembler programs on Mainframe and iSeries.
This is the Eclipse based user interface, which can run stand-alone or embedded in IBM
Developer for z.
72
75. XaTester Installation
To install XaTester you need a separate server for the test engine and the repository.
The test engine includes a scheduling feature.
You also need to install a host agent, when running on z/OS.
75
76. XaTester Installation
If you want to run XaTester in CICS, you also need to install some CICS components.
IMS is handled as batch.
If you want to run XaTester from Eclipse or from IBM Developer, you also need to install
a plug-in on your workstation.
76
77. XaTester Extraction
First, you must get the data definitions of the modules under test.
COBOL, EGL and RPG can be extracted by XaTester and stored in the repository for later
use.
Structures for other languages like PL/I, Fortran and assembler can be defined in an
editor in XaTester until somebody requires us to build a parser for this language. Or they
plug in their own parser.
77
78. XaTester Testing
You add the module or modules you want to test in an editor window, where you also
define input data.
This can be typed directly or you can define an SQL query to retrieve the data.
If you have more than one module, you can define the output from one module as input
to the next.
Then you run the test and examine the result.
78
79. XaTester Regression Testing
You can save the result from at test in the repository.
Next time you run the test, the results will be compared to the results of the previous
run.
Fields like time and date can be excluded from the comparison.
79
80. XaTester Code Coverage
If you have RDz or IDz on your system, and you have configured the headless code
coverage feature, then XaTester can use it to display, which statements have not been
tested.
80
81. XaTester Mock up
When you test a module that calls submodules, you can ask XaTester to generate a mock
up module, which can be called to return the recorded values, if that module is not
available.
This is supported both in batch and in CICS.
81
82. XaTester Demo
But let us just spend a few minutes to see what such a unit tester looks like in a web
browser interface.
It is a test of a COBOL program that calculate a risk factor based on the age of the
customer.
82
86. Feature Comparison
3 Unit Testers, 1 Integration Tester
Category XaTester TopazforTT zUnit RIT
Runtime Main batch, called
batch, CICS, IMS, iSeries
Main batch Batch Any
User Interfaces Eclipse, Browser Eclipse Eclipse Workbench and
browser
Programming
Languages
COBOL, PL/I, assembler,
EGL, RPG
COBOL COBOL & PL/I Any
Execution Environments PC, host and a server PC and host PC and host Server and host
Execution integration Stand alone, Idz, local
scheduling, submitting
to night batch
Stand alone, Idz and
Topaz
Workbench/Xpediter
Idz N/A
Testing Test suites, Code
coverage, Advanced test
script support,
SonarCube, External
reporting, repository
with test artefacts
Test suites, code
coverage, SonarCube,
External reporting
Test suites Test suites, Repository
with test artefacts
This is a short comparison chart between the products.
Since all vendors are presenting at the conference, you can dig deeper yourselves, if you
are interested.
None of the tools support DB2 Stored Procedures or Websphere application server.
86
87. Feature Comparison
3 Unit Testers, 1 Integration Tester
Category XaTester TopazforTT zUnit RIT
Runtime Main batch, called
batch, CICS, IMS, iSeries
Main batch Batch Any
User Interfaces Eclipse, Browser Eclipse Eclipse Workbench and
browser
Programming
Languages
COBOL, PL/I, assembler,
EGL, RPG
COBOL COBOL & PL/I Any
Execution Environments PC, host and a server PC and host PC and host Server and host
Execution integration Stand alone, Idz, local
scheduling, submitting
to night batch
Stand alone, Idz and
Topaz
Workbench/Xpediter
Idz N/A
Testing Test suites, Code
coverage, Advanced test
script support,
SonarCube, External
reporting, repository
with test artefacts
Test suites, code
coverage, SonarCube,
External reporting
Test suites Test suites, Repository
with test artefacts
Nor do they support an ISPF user interface, which I would not expect anybody to want
anyway.
None of them support C or C++.
Both Topaz and XaTester can be invoked from tools like Jenkins.
For XaTester external requests can be made using a REST API.
87
88. Feature Comparison
3 Unit Testers, 1 Integration Tester
Category XaTester TopazforTT zUnit RIT
Virtualization Submodules and DB2
(including rollback)
Submodules and
VSAM/QSAM
(Automated using
Xpediter)
Subroutines, VSAM Really many
Integration Apache Ant, CentraSite
ActiveSOA, CICS DPL,
CTG, DB2, Java, JDBC,
Jenkins, MQ, SAG
WebMethods, SAP,
Tibco, WAS Service
Integration Bus
Test data creation File import, recording File import, recording File import File import, recording
When reading this chart, you should keep in mind that the integration tester does not
really compare directly to the unit testers.
88
89. The Final Test
We are almost done now, but it is never over without a final test.
89
90. The Final Test
Well known
fact
A study at Manchester Metropolitan University involving dropping 100 slices under
laboratory conditions established that toast typically lands on the floor butter-side-down
because of way it is typically dropped from a table, and the aerodynamic drag caused by
the air pockets within the bread.
90
91. The Final Test
Well known
fact
The toast is invariably butter-side-up when dropped.
As it falls, it rotates; given the typical speed of rotation and the typical height of a table,
a slice of toast that began butter-side-up on the table will land butter-side-down on the
floor in 81% of cases.
91
92. The Final Test
Well
known
Fact: Cat
righting
reflex
Cats possess the ability to turn themselves right side up in mid-air if they should fall
upside-down, known as the cat righting reflex. This enables them to land on their feet if
dropped from sufficient height, about 30 cm.
92
93. The Final Test
So, what happens if you tie a slice of toast to the back of a cat and push it down from a
table?
And how do you design a practical test for it?
93
94. To Summarize
• Automated testing and quality assurance is a matter of survival
• We are expanding the scope of our testing rapidly
– But many areas are still more or less unhandled
• The main issue is not tools, but processes and focus
• Pinpoint the needs of your business
– Then define your processes and methods
– And finally select the tools that suit your requirements
To summarize the presentation.
Automated testing and quality assurance is not just something nice to have in this day
and time.
It is a matter of survival.
The scope of our testing is expanding rapidly, but many areas are still more or less
unhandled.
The main issue is not the tools, but to have the right processes and to keep the focus.
You should pinpoint the needs of your business.
Then you should define your processes, methods and best practices.
And finally, you could select the tools that suit your requirements.
94
95. Hand-on Session and more Information
• If you want to know more about zUnit, go to session S510, or
catch Bill Alexander
• If you want to know more about Topaz for Total Test, go to
session S608, or catch Kim Mortensen
• If you want to play with XaTester, you can join the hands-on
session at 15.15, or catch Steen Brahe at the demonstration
booth in the coffee break area
95
96. FOR MORE INFORMATION PLEASE CONTACT
Xact Consulting A/S
Arnold Nielsens Boulevard 68A
DK-2650 Hvidovre
+45 7023 0100
info@Xact.dk
www.Xact.dk
Enterprise Modernization
Moderniza-
tion
Conversion
Business
Software
Consultants
Thank you for listening to this presentation about testing.
96