Test Driven Development for Mainframe Developers

Test Driven Development (TDD) has become a standard best practice for developers, especially those working in an Agile development environment. TDD is a team and individual code development discipline which, when followed correctly, increases the productivity of both individual developers and entire teams. From the programmer’s perspective, TDD has the additional benefit of reducing the amount of time and effort involved in debugging and testing. Instead, TDD enables a continuous refactoring to improve both the functional and structural quality of the code. TDD is programming paradigm agnostic. The process and technique work for all programming languages and all types of development and design paradigms from structured development to functional programming to object-oriented development. However, almost all of the available material and courses on TDD focus almost exclusively on using TDD in object-oriented development. This course presents TDD from the perspective of mainframe development and a programming paradigm neutral perspective that focuses on those best practices in software design that underlie the principles of TDD and are applicable to the mainframe environment and mainframe structured programming languages. The course follows on three main topic streams. The first is how to start using the TDD process and integrating the process into mainframe code development and code maintenance activities. The best practices for TDD are covered in depth including explanations on why these are best practices. This stream concludes with an introduction into the practice of how TDD is used to refactor and improve existing code as well as code under development. The second stream focuses on the integration of TDD into the various other development practices currently in use from shift-left development, to DevOps and Agile processes, lean development, domain driven design and others. The third stream is tool oriented and more hands on based. Students are introduced to the automated unit testing tools available in a mainframe environment and other structured programming environments, such as COBOL development in non-mainframe environments. The primary automated tool explored in the course is the COBOL unit testing is the CompuWare Topaz tool although other tools may also be explored
Before taking this course, students should have intermediate level or programming experience.
3 Days/Lecture & Lab
The course is designed primarily for developers and assumes an intermediate level or programming experience. The course is also appropriate for testers and those in other functional roles with a solid understanding of programming basics.
  • Test Driven Development Introduction
  • An Introduction to Automated Testing
  • The Topaz Unit Testing Framework Total Test I
  • TDD Practices and Methods I
  • The TDD Flow
  • Testing Concepts for TDD
  • Assertions and Predicates:
  • Mocking and Virtualization
  • TDD Practices and Methods II
  • Implementing TDD

Related Scheduled Courses