characterization tests programming