As part of DM-5462 I added two test utilities to afw:
lsst.afw.geom.testUtils.BoxGrid
divides a bounding box into nCol x nRow equal sized sub-boxes (as equal sized as possible for integer boxes that do not divide evenly) that tile the larger box and have the same type.
lsst.afw.image.testUtils.makeRampImage
makes an image (ImageX where X is any available type) with values that increase linearly between specified limits (linearly to the extent possible, for integer images).