A program module is the smallest grouping or section of code that is testable. In different languages or different tools have different testable groupings, which is why we use this vague term.

For database stored procedures, each stored procedure is a program module. In Object oriented languages, we usually refer to a method in a class as a program module, though sometimes that terms is used for the entire class.