1. A computer-implemented method of testing the server-side implementation of the Domain Name System protocol comprising: receiving a first body of computer-readable code in a first computer programming language, the first body being capable of sending Domain Name System requests and receiving responses to the requests; receiving a second body of computer readable code in a computer programming language tailored to handle Domain Name System requests, the second body being capable of generating Domain Name System requests and verifying whether the response to a particular request is correct; combining the first body of code and the second body of code, wherein the second body of code is able to access objects and functions in the first body of code, and the first body of code is able to access objects and functions in the second body of code; and executing the combined code at a computer, causing the computer to: send a number of Domain Name System requests to a server; receive a number of responses to the requests; and verify that the response received for each request contains the correct data.