Computerized testing of a system to identify combinations of input values
that expose failures in the system's operation. Attributes are applied to
fields in a source code version of a test case template corresponding to
the object. Applied attributes can indicate fields that are to be used
when generating test cases for the object. The source code version of the
test case template is subsequently compiled or interpreted into a binary
test case template. Metadata in the binary test case template is
inspected (e.g., through reflection) to identify the fields, data types,
and attributes that are to be used when generating test cases. Based on
possible input values for the identified fields and generation rules, a
plurality of test cases is generated. The generated test cases are
executed to identify combinations of input values that expose failures in
the system's operation.