Automated Testing and TDD for Mainframe Applications

Mainframe systems continue to play an important role in large IT operations. Contemporary software solutions often comprise components that run on multiple platforms, from smart phones and tablets to Windows, OSX, and *nix systems, and mainframes. 

Is it feasible to extend modern software engineering practices like continuous integration; automated deployment; automated unit, component, and functional testing; and test-driven development to this venerable platform? It turns out to be quite feasible. There are several practical approaches to the problem, including commercial products from IBM and third parties; off-platform test drivers such as Cucumber, Concordion, and FitNesse; service virtualization products; on-platform approaches such as Java on zOS Unix System Services; hand-rolled mocking of CICS, DB2, and MQSeries resources; using IBM utilities to isolate and test individual steps from batch jobstreams; and isolated off-platform solutions based on hand-rolled test frameworks running under S390 emulation or mainframe-compatible compilers.

This session provides a summary of several of these approaches. Unfortunately, it isn't feasible to run working examples on an actual mainframe in the context of the conference. We can show code that works and walk through it to illustrate approaches to test automation that are in use in real mainframe environments, and we can demonstrate the emulation-based solutions that don't require a connection to a real mainframe.

To wrap up, we can have a group discussion about the specific testing and automation issues you have in your organization and how you might introduce test automation on your mainframe systems. Better yet, you can share your own stories of how you have solved this problem.

 

 
5 favorite thumb_down thumb_up 0 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Outline/structure of the Session

Very brief introduction just to set context about automated testing and test-driven / test-first development.

Very brief introduction to set context about the ongoing role of mainframe systems - they didn't die after all, they evolved.

Show and walk through code for a roll-your-own approach to automated testing of batch applications.

Show and walk through code for a roll-your-own approach to automated testing of CICS applications.

Show and walk through code for using Cucumber to access DB2.

Show and walk through code for using Cucumber to access CICS applications.

Discuss options for running familiar test automation tools on the mainframe, such as Cucumber on JRuby on Java on zOS Unix System Services, with IBM-supplied jars to access MVS resources like VSAM, DB2, and MQSeries.

Discuss IBM's commercial product offerings that support automated testing, TDD, and service virtualization.

Discuss the option of running zLinux VMs under zOS.

Demonstrate a home-grown unit test framework for batch COBOL applications that runs on a laptop under GNU COBOL.

Demonstrate a home-grown unit test framework for CICS COBOL applications that runs on a laptop under GNU COBOL.

Demonstrate test automation for COBOL and Assembly language applications that runs on a laptop under IBM S390 emulation. (Yes, you can do TDD for Assembly language. Who'd a thunk it?)

Learning Outcome

Awareness of several practical approaches to automated testing and test-driven development for applications that run on an IBM mainframe platform (batch and CICS).

Target Audience

Programmers, Testers

schedule Submitted 2 years ago

Comments Subscribe to Comments

comment Comment on this Proposal

  • Liked Pradeepa Narayanaswamy
    keyboard_arrow_down

    Pradeepa Narayanaswamy - Discover the Power of Pair Testing!

    45 mins
    Workshop
    Intermediate

    In agile teams, it’s inevitable that team members are expected to be more cross-functional and produce high quality product for their customers. How can agile team members become more cross-functional and take ownership of quality? Often times there seems to be a scarcity of testing talents in agile teams. How can agile teams attain highest quality product when working with very few or no testing talents? 

    For agile team members to take ownership of quality, Pradeepa Narayanaswamy exposes the power of “Pair Testing” that greatly supports providing faster feedback and producing high quality product all along as a team. For the scarce testing talents and an effective way to become more cross-functional, one approach is for team members to pair up on various (unit, integration, exploratory and several other) testing efforts that ensures the shared eye on quality and learning. Pradeepa talks about several pairing options and opportunities between various specialties in an agile team. She also talks about some “non-typical” pairing opportunities with DevOps, Operations, Sales, Marketing and Support members to name a few. 

    As a new or an experienced agile team member, learn how to spearhead this technique in your team at various levels and spread the buzz to other teams. As a tester, learn how to get the non-testing talents excited and experience the value of pair testing.

  • 120 mins
    Workshop
    Beginner

    As a business analyst on an agile team, do you spend your time gathering decisions from product owners and passing them on to development teams? Are you tired of simply being a “proxy without power?” As a product manager, do you feel like you are just collecting stakeholder opinions and filtering them for the team? What can you do to boost your impact to your team?

    Be more than a proxy.

    By definition, a proxy means doing a thing “by the authority to represent someone else.” That job can be important, especially when stakeholders and customers have limited available. But teams need more.

    In this workshop, Diane Zajac-Woodie demonstrates how you can be more than a proxy. Through some experiential exercises, you will learn what impact collaboration has on results and why requirements are just as important as ever. Diane also teaches you how to document requirements so people will actually read them. Using acceptance tests, you will practice writing requirements that describe the exact behaviors that you expect in a format that everyone understands.

    Be inspired to embrace your role in an agile environment and leave with new techniques that ensure that you will be more than a proxy when you head back to work.

  • Liked Manjit Singh
    keyboard_arrow_down

    Manjit Singh - Agile Business Development? Yes, For Real...

    45 mins
    Talk
    Advanced

    The presentation is a case study of how Agile (Scrum/Kanban) can be applied to business development (BD).

    Business Development is about managing increasing amounts of investment or determining where to invest. Agile business development is about learning, failing and succeeding quickly in this process. This talk presents a case study from the presenter's personal experience in coaching, training and mentoring 6 BD teams how to apply Agile to their work. 

    The case study will cover how the following challenges of applying Agile to BD activities were addressed:

    • How do you define a Release?
    • How to do release planning?
    • How to define Sprint goals?
    • Do we write User Stories? 
    • Do we size the stories?
    • Do we calculate velocity?
    • How do you do Sprint planning?
    • Do we need a Scrum Master? Who should play this role?
    • What is the right duration of a Sprint?
  • Liked Michael Harris
    keyboard_arrow_down

    Michael Harris - What if you need to scale agile but don't fit the models? A case study.

    45 mins
    Case Study
    Intermediate

    Agile scaling models tend to be based on scenarios where 5 - 10 agile teams are working on the same project/program/product/value stream.   The scaling models provide some good ways of organizing the work that needs to be done to plan, synchronize and demonstrate the outputs of the teams.  This case study describes the path of a development group that has 10-12 teams working on about 50 different software "products and services" within a reasonably narrow-focused energy company.  The case study describes how they went about paring down the SAFe model to meet their needs and then prioritizing the scaled-back scaling transformation using group inputs to a weighted shortest job first exercise.

  • Liked Richard Cheng
    keyboard_arrow_down

    Richard Cheng - Situational Retrospectives – One size does not fit all

    Richard Cheng
    Richard Cheng
    Principal
    Excella Consulting
    schedule 2 years ago
    Sold Out!
    45 mins
    Workshop
    Intermediate

     

    Situation A: Your team is great. You’ve met all your sprint goals and your Product Owner is pleased with the results to date. Yeah!

     

    Situation B: Your team sucked. Zero story points completed last sprint. Team members are complaining and blaming each other for the failures.

     

    These two situations demand two very different retrospectives. The right retrospective can make a good team great and turn a bad situation into a learning opportunity. A bad retrospective can set a team back and create a non-safe working environment.

     

    In this session, attendees will explorer retrospectives techniques and examine the pros and cons of the techniques. The workshop will then explore scenarios and examine how to effectively run retrospectives across a variety of scenarios.

     

    Coming out of this sessions, attendees will have an understanding of applying the right retrospectives based on the state and needs of the team and projects.

     

  • Liked Amber King
    keyboard_arrow_down

    Amber King - Make The Right Changes & Make Changes Right Through Process Co-creation

    45 mins
    Talk
    Beginner

    In the agile community, we celebrate failure as well as success. On our journey to plan @ scale, the Agile Program Management team at Opower had a lot of early failures, but then we started succeeding. How? By not only listening to our stakeholders, but co-creating solutions with them. In this talk, I focus on how process co-creation is helping Opower scale. I’ll describe a specific case study, then we’ll try co-creation together. By the end of this talk, you’ll have specific tips and techniques on how to successfully co-create solutions with your teams that you can take back and use with them tomorrow.

  • 45 mins
    Talk
    Intermediate

    You probably started your Agile journey with Scrum, which helped. But regression testing still takes forever. New feature tests aren't what they could be and are hard to complete within the Sprint.

    If you have active product owners, the POs helped to improve your product, but there is still a disconnect, between the user story and the tests.  And how do you test "as a, I want, so that"?

    Now you hear you need Agile technical practices to keep improving and you find you need to automate. What are you going to do with your testers?  They really, really know your business, but they don't code.

    If you are a manager, a tester or a product owner, come hear Camille as she shares her experience successfully teaching manual testers Automated Test Driven Development and showing product owners how to write great Acceptance Criteria that are easy to automate.

    In this session you will learn:

    • How to get your product owners, testers and developers to understand each other
    • How to make your business scenarios unambiguous and testable
    • How to avoid brittle tests that need frequent rewriting
    • Which tools and languages are better for testers to learn and why
    • Strategies and techniques for testers to learn test automation
    • Where to find inexpensive and free resources to get started
  • Liked Jason Tice
    keyboard_arrow_down

    Jason Tice - Agile Portfolio Management Metrics to Guide your next Enterprise-wide Road Trip

    Jason Tice
    Jason Tice
    Agile Coach
    Asynchrony
    schedule 2 years ago
    Sold Out!
    45 mins
    Talk
    Intermediate

    Are you overwhelmed and/or confused as to which metrics can reveal insights to make fact-based decisions to properly manage your agile software development portfolio.  Join us for a the story of a journey, where we will use the metaphor of “going on a road trip” to explain and demonstrate simple yet effective metrics for agile portfolio management.  As we go on our road trip, we’ll highlight the importance of defining and then using quantitative “roll-up” metrics to enable leadership to make informed strategic decisions without slowing delivery team activities while at the same time providing a foundation for team self-management and autonomy.  We’ll use the road-trip metaphor to depict the challenges that teams and organizations encounter attempting to manage their portfolio without effective portfolio metrics defined.  Think about what driving on a road trip would be like if your car didn’t have a check-engine light or a gas gauge, sound risky???  The good news is: it doesn’t have to be that way, and believe it or not, if you have measurements at the team level creating actionable portfolio-metrics is easier than you think.  As we recommend simple portfolio-level metrics to guide our road trip, we’ll define them, share how to interpret them, discuss the insights they provide, and offer guidance on how to gather or aggregate them from team execution data.  We will also touch on why and how the use of an easy to understand metaphor has aided significantly in creating and sustaining engagement amongst stakeholders for portfolio inception and governance activities.  Participants will leave having learned how to successfully navigate their next enterprise-wide initiative using quantitative data to promote alignment, maximize return on investment, foster engagement and reduce risk - everyone attending will receive a printed guide (worksheet) summarizing recommended metrics for agile portfolio management discussed.

  • Liked Raj Indugula
    keyboard_arrow_down

    Raj Indugula / John Hughes - Dare to Explore: Discover ET!

    45 mins
    Talk
    Beginner

    Ever solve a jigsaw puzzle?  Do you typically design and document all your pieces before assembling the puzzle or know anything about the kind of picture formed by the puzzle?  Hardly.  Usually, the specifics of the puzzle, as they emerge through the process of solving that puzzle, affect our tactics for solving it.  

    This analogy is at the heart of Exploratory Testing (ET) - a fun, focused and powerful approach to testing that has been gaining in popularity in recent years.  While not a new idea, it is often misconstrued as being a random, flailing at the keyboard approach to uncovering problems.  Not quite.  ET is a disciplined practice that involves simultaneously learning about the software under test while designing and executing tests, using feedback from the last test to design the next.  It leverages traditional test design analysis techniques and heuristics, but design and execution become a single inseparable activity.  Within the agile context, there is a need for agile teams to augment their scripted automated tests with a manual testing practice that is adaptable, and ET provides the right fit.

    In this session oriented towards beginning explorers, we will gain a deeper understanding of what ET is, what it isn't, and discuss the essential elements of the practice with practical tips and techniques for: learning the system under test and capturing our understanding to design tests; designing tests on the fly using heuristics; executing tests and observing results; and finally, integrating ET into the cadence of an agile process.

  • Liked Beth Miller
    keyboard_arrow_down

    Beth Miller / Jennifer Hinton - Build Measure Learn - Designing your MVP

    45 mins
    Workshop
    Beginner

    We all know that a Minimum Viable Product is a lean startup technique designed to test and validate if a solution actually solves a customer problem. It is an endeavor to go forth and learn  to then, iterate or pivot as you better understand the problem and solution.  To be successful, it is not only  about learning what the people want but also being able understand the most painful aspects of that problem to then define what is the minimum amount of work you can do to generate early value to them.  But how do we figure that out?  In this 45-minute workshop, you will learn what is an MVP;  why it matters; what makes a good MVP experiment; and how to get started on designing your own. By the end of this 45-minute workshop, you will have:

    1. Created a problem statement, or hypothesis for an MVP
    2. Turned your hypothesis into a list of possible experiments
    3. Collaborated with agilists who will help you formulate your MVP concept and experimentation ideas

     

     

     

     

     

     

  • Liked Simon Storm
    keyboard_arrow_down

    Simon Storm / Mary Lynn Wilhite - Don't just do Agile. Do Agile right.

    45 mins
    Talk
    Intermediate

    Are you struggling to implement Agile at your company?  What could be better than to learn from someone who has done it wrong over and over! We want to share our experiences pioneering Agile at a FinTech company.  After multiple attempts and through sheer stubbornness, we were we able to get it right and improve our release pace by 650% annually.  We will walk through where we went wrong, what we did right, and why we now understand that Agile cannot be successful without profound collaboration, Continuous Delivery, a DevOps culture and a desire to continuously improve.

  • Liked toddcharron
    keyboard_arrow_down

    toddcharron - Improv Your Agile or Scrum Stand-up

    45 mins
    Workshop
    Beginner

    Your Agile Stand-up Meeting Sucks!

     

    Most Agile and Scrum stand-up meetings I see are boring, lifeless, status meetings that don't provide any real value.

     

    In this session you'll learn:

     

    The REAL purpose of the daily stand-up

    The most common bad habits and how to correct them

    The habits good stand-up meetings have

    How you can use Improv to invigorate your daily stand-up

    A whole bunch of Improv exercises you can start using with your team right now!

  • Liked Marsha Acker
    keyboard_arrow_down

    Marsha Acker - Diagnosing and Changing Stuck Patterns in Teams

    Marsha Acker
    Marsha Acker
    CEO
    TeamCatapult
    schedule 2 years ago
    Sold Out!
    120 mins
    Workshop
    Advanced

    Do you want to be able to “trust the wisdom of the group” but find it difficult? Do you ever feel like you’re having the same conversation over and over again with no real progress? Do you ever feel like you are stuck in a disagreement and not sure how to move forward?

    If any of these issues are standing in the way of your work with groups and teams ‐ ‘how’ you are having (or not having) the conversation is likely contributing to your challenges. Research consistently demonstrates that team effectiveness is highly dependent upon the quality of the communication between team members. Yet it’s easy to get into the flow of daily work and be really focused on the ‘what’ in our conversations without much attention to the quality of ‘how’ we’re communicating.

    As an agile coach one of the most important ways you can serve your team is to help them unlock the wisdom that exists within the team itself and have the conversations they need to have. We’ll explore a framework for learning to ‘read the room’ using four elements for all face-to-face communication. We’ll do some live practice to apply the framework to a conversation and then identify some typical patterns of “stuck” communications that can lead to “breakdowns” in teams.

    This will be an interactive session with people actively engaged in both large group and small group discussions.

  • Liked Anu Smalley
    keyboard_arrow_down

    Anu Smalley - Product Owner Must Be’s

    45 mins
    Talk
    Beginner

    We often talk about what the Product Owner Must "Do" - they must own the Product Backlog, they must manage the product backlog and the priorities, they must refine the backlog, they must answer the team's questions.

    We very rarely talk about what the Product Owner must "Be".

    During this session I will highlight what I have learned from my experience as a Product Owner and a Product Owner coach, what I believe are the main Must "Be's" for a Product Owner.

  • Liked Brandon Raines
    keyboard_arrow_down

    Brandon Raines - Agile Planning and Estimating Techniques in a Federal World

    Brandon Raines
    Brandon Raines
    Agile Coach
    Shokunin LLC
    schedule 2 years ago
    Sold Out!
    45 mins
    Talk
    Beginner

    The government is seeing the merit of using agile practices to develop software.  However, the fallacy that you can’t estimate projects using agile in the government still exist.  The result is that many projects that want to use Agile begin in a very waterfall way developing the initial plan and are forced to stick to that plan throughout the project despite using sprints throughout the ‘development phase’.  Many falsely believe they are stuck in the tradition of estimating everything in the beginning.  During this presentation, through lecture and based upon real experiences, we will demonstrate techniques for developing a project plan and estimating techniques to satisfy the typical government compliance requirements using Agile practices and principles.  In essence, we will together learn how to build the bridge from the traditional government practices to a brave new world where we can plan, estimate and still inject agility.

  • 45 mins
    Talk
    Beginner

    The Zombie Retrospective - presented by Tommie Adams 

    So they say the retrospective is one of the strongest and most powerful tools in the agile scrum methodology tool kit, and is often overlooked or skipped. So how does a scrum master find ways to creatively explain and express the importance of this agile scrum ceremony, or even the basics of agile scrum in general. How does the scrum master explain the importance of banding together as a team in this brave new agile scrum world.  In many organizations, nowadays, the teams are even made up of outside vendors as well as in house associates. So how do you even start to pique the interest and the importance of team collaboration to a bunch of folks who are strangers to one another on a agile scrum team?  Even more specifically, how do you explain how the retrospective ceremony will help improve the way they work with one another over time?

    My answer: ZOMBIES!!!  Everyone loves zombies, right?  So come, take a bite!

    Tommie works for Marriott International in Bethesda MD. His background is in theater and communication which he studied at Grinnell College in Iowa. He has worked for Marriott International for 26 years with jobs ranging from reservation sales associate, to group sales manager, to functional IT tester to his current position as scrum master for the Marriott Rewards Agile Scrum Team. A native of Omaha, Nebraska, his hobbies include photography, cello and learning the ukulele, (you know, in case you were curious.) 

  • 45 mins
    Talk
    Intermediate

    “Running a football team is no different than running any other kind of organization…” -- Vince Lombardi

    Large enterprise scale software development is a team sport. In order to win in this game your software needs to be of the highest quality, which is almost impossible to achieve with testers on the sidelines. To build a winning a team you need the right players, but great teams don't always need the best players. Great teams win because they find ways to let the individuals on their team be great. 

    The wave of DevOps in the industry is in a broader sense an effort to let developers and system engineers do what they do best by eliminating or simplifying tasks that forced individuals into activities beyond their expertise. Pre-DevOps roles were like trying to ask Payton Manning to play both quarterback and running back at the same time. DevOps is the manifestation of empathy between two distinct sets of skills allowing the other to focus on what their best at. What about testers? How can the team expand their empathy to their role? What can the developers, program managers, and others do to let testers be great? Please join me if your curious to hear about the practices, tools, and culture that can make your software a winner with quality.

     

     

     

  • Liked Ken Furlong
    keyboard_arrow_down

    Ken Furlong - How to Organize Multi-Team Programs

    45 mins
    Talk
    Intermediate

    Why does the Agile community encourage cross-functional teams?  So many large organizations have naturally organized into system-specific teams.  This is a very common and logical approach.  At scale, though, it creates serious impediments to organizational agility and getting things done.  We'll discuss the roots of that phenomenon, one of our key interests in cross-functional teams, patterns for enabling such a team structure, some failure modes, and how to prevent them.  Please join us!

  • Liked Kate Seavey
    keyboard_arrow_down

    Kate Seavey / Sheya Meierdierks-Lehman - The Dark Side: Using Dark Stories to Help Product Owners Prioritize Mundane Maintenance

    45 mins
    Workshop
    Intermediate

    Delivery teams know from experience the importance of maintenance such as applying patches, upgrading, and conforming to the latest security and accessibility regulations. Product Owners, other value team members, and system stakeholders are focused on functionality and end user satisfaction. Maintenance isn’t sexy and can sink in priority until it fails to be included in releases.

     

    The Security community has been using Dark/Abuser/Evil Stories using the persona of a Black Hat Hacker to uncover vulnerabilities. In this workshop participants will assume the role of Delivery Team members and use the power of personas to write “Dark Stories” that bring to life the full impact of failing to perform necessary maintenance.  The intent is to give Product Owners a complete understanding of the importance of maintenance so they can appropriately prioritize maintenance and keep their systems strong.

  • Liked Dave Nicolette
    keyboard_arrow_down

    Dave Nicolette - Shit Agile Coaches Say

    Dave Nicolette
    Dave Nicolette
    Consultant
    Neo Pragma LLC
    schedule 2 years ago
    Sold Out!
    45 mins
    Talk
    Intermediate

    "Language does not just describe reality. Language creates the reality it describes." - Desmond Tutu

    The agile community has evolved into a group of highly enthusiastic proponents who bring a high level of excitement to everything they say and do. Agilists speak a strange sort of insider jargon in which plain English words have very unusual, and often counterintuitive meanings.

    They may describe your multi-billion-dollar enterprise as "dysfunctional" and on the verge of "failure." They may suggest your teams "sprint" to get work done, and yet do so at a "sustainable pace." They may tell your management that agile helps teams "go faster" while assuring your teams that agile isn't about "going faster." They may insist that agile is more about culture and mindset than about practices, and then measure your progress in terms of how faithfully you follow a prescribed set of practices.

    There are many more examples of this odd insider jargon, starting with the seminal buzzword itself, "agile." Over the years, the way agilists speak has confused and turned off many who might otherwise have benefited from applying agile values and principles. The presenter will share several stories of the unintended effects of agile-speak, and will invite you to share your own tales of woe and amusement.