This course is a three-day introduction to developing COBOL code using the Test-Driven Development (TDD) methodology. TDD is both a team and individual code development process which measurably increases the productivity of individual developers and entire teams. TDD allows programmers to eliminate the tedious tasks of debugging and reworking code so that they can focus on the creative work of designing and writing code. Many programmers in a wide range of programming languages have embraced TDD because” it makes programming fun again.” TDD is now starting to make in roads in the COBOL programming community as more organizations start to adopt different Agile and DevOps process, including TDD. This course is designed to help COBOL developers make the transition into using TDD in a way that is specifically tailored for COBOL development and maintenance programming. The course focuses on how to set up and use the TDD process for both new application development and for supporting modifications of existing COBOL code; including how to integrate TDD into application development or maintenance activities. The best practices for TDD are covered in depth supported by practical examples. A main topic in the course is an exploration of how TDD is used to refactor and improve existing COBOL code. The class is designed to be about 50% hands on labs and exercises, about 25% theory and 25% instructor led hands on learning where students code along with the instructor. The course closes with students developing an action plan for implementing what they have learned in class into their own development environment. The hands-on portion of the course in OS and vendor agnostic. GnuCOBOL is to provide a safe and robust programming environment, but since the content of the course focuses exclusively on the standard COBOL and not on any OS specific implementations, what students learn can be ported into a variety of different main frame and other environments where COBOL is deployed.
Knowledge and experience in COBOL is essential for understanding the course material. No experience or background in software testing is required.
3 Days/Lecture & Lab
This course is designed for intermediate level COBOL programmers.
- The TDD process -“red, green, refactor”
- Eliminating technical debt with TDD
- Why TDD works and how it supports high quality code
- Integrating the TDD discipline into a development activities
- TDD and programming and design best practices
- Developing a TDD project using a Unit Testing Framework.
- TDD Tools: concepts, architecture and features
- Assertions and matchers
- Implementing and using mocks effectively
- Best practices for developing good test cases and test suites
- Best practices when using TDD and automated testing to improve development
- Code smells and refactoring
- Improving Code Quality using TDD
- Using TDD to refactor code
- Migrating to TDD as a programming discipline