1. A method performed by one or more computers for testing an OData service, the method comprising: receiving an initial service document from the OData service; extracting a plurality of resource identifiers from the initial service document; for each of the resource identifiers, retrieving a respective response document from the OData service; applying a test function to each of the resource identifiers and respective response documents and recording a result of the test function for each of the resource identifiers; beginning with each of the response documents, recursively extracting new resource identifiers from the response documents and retrieving respective new response documents for each new resource identifier from the OData service until no additional resource identifiers are extracted from the new response documents, and applying the test function to each of the new resource identifiers and respective new response documents and recording a result of the test function for each of the new resource identifiers.