Chapter 40: Testing, Quality Assurance, and Deployment -- Further Reading
Books
"Software Testing: Principles and Practices" by Srinivasan Desikan and Gopalaswamy Ramesh This comprehensive testing textbook covers the full spectrum of testing methodologies -- unit testing, integration testing, system testing, regression testing, and acceptance testing -- with practical guidance on test case design, test data management, and defect tracking. While not COBOL-specific, the testing principles apply universally. Available through major online booksellers and university bookstores.
"Continuous Delivery" by Jez Humble and David Farley This seminal book on CI/CD practices describes how to build reliable, automated deployment pipelines that move code from developer workstation to production safely and efficiently. The principles of automated build, automated test, and automated deployment are increasingly being applied to mainframe COBOL through tools like IBM DBB and Wazi Deploy. Available through major online booksellers.
"Working Effectively with Legacy Code" by Michael C. Feathers Feathers' techniques for getting legacy code under test are directly applicable to COBOL. The book covers how to identify seams (points where test code can be inserted), how to break dependencies that make code untestable, and how to write characterization tests that capture existing behavior before making changes. Available through major online booksellers.
Online Resources
COBOL-Check Project Documentation COBOL-Check is an open-source unit testing framework specifically designed for COBOL programs. The project documentation includes installation guides, tutorial examples, API reference for EXPECT assertions, and guidance on integrating COBOL-Check into automated build pipelines. The project is hosted on GitHub, and the documentation is available through the project's wiki and README files.
IBM Developer: "DevOps for Enterprise COBOL" IBM's developer resources include tutorials and reference implementations for building CI/CD pipelines for COBOL development, covering Git-based source control, IBM Dependency Based Build (DBB), automated testing integration, and deployment automation with Wazi Deploy. These resources bridge the gap between DevOps concepts and mainframe-specific implementation. Available on the IBM Developer website.
IBM Wazi Documentation IBM Wazi provides modern development tools for COBOL, including Wazi Code (VS Code-based IDE), Wazi Analyze (code analysis), Wazi Sandbox (personal z/OS test environments), and Wazi Deploy (deployment automation). The documentation covers how these tools support testing and deployment of COBOL programs. Available on the IBM Documentation portal.
IBM Documentation
IBM Redbook: "DevOps for the Mainframe" This Redbook provides a comprehensive guide to implementing DevOps practices on the mainframe, including source code management with Git, automated builds with IBM DBB, test automation, and pipeline orchestration with Jenkins or Azure DevOps. It includes specific guidance for COBOL development workflows and case studies from organizations that have adopted mainframe DevOps. Search for this title on the IBM Redbooks website.
IBM Dependency Based Build (DBB) Documentation DBB documentation covers how to configure and use IBM's build tool for COBOL programs, including dependency analysis (automatically identifying which programs need recompilation when copybooks change), incremental build support, and integration with Git and CI/CD orchestrators. Available on the IBM Documentation portal.
IBM Debug Tool for z/OS The IBM Debug Tool documentation covers interactive debugging of COBOL programs running on z/OS, including setting breakpoints, inspecting variables, stepping through code, and debugging CICS transactions. Debug Tool is an essential part of the testing process for diagnosing test failures and understanding program behavior. Available on the IBM Documentation portal.
Standards and Best Practices
ISO/IEC 29119 -- Software Testing Standard This international standard defines testing vocabulary, processes, documentation templates, test design techniques, and test coverage measures. While the standard is generic, its structured approach to test planning, test design, and test execution provides a framework that COBOL testing teams can adopt. Available for purchase through ISO.
IEEE 829 -- Standard for Software Test Documentation IEEE 829 defines templates for test plans, test design specifications, test case specifications, test procedure specifications, and test reports. Adopting standardized test documentation helps COBOL development teams communicate testing scope and results to auditors, regulators, and management. Available through the IEEE Standards Association.
"Test-Driven Development by Example" by Kent Beck Beck's introduction to test-driven development (TDD) -- writing tests before writing code -- has influenced software development across all languages. While TDD in COBOL requires adaptation (COBOL-Check enables a form of TDD for COBOL paragraphs), the discipline of thinking about testability before coding produces better-designed programs. Available through major online booksellers.