Existen dos tipos de pruebas que puede utilizar para supervisar los métodos de destino.
El primer tipo de prueba se inserta en cualquier lugar del cuerpo de un método. Dado que se inserta en el método de destino, este tipo de prueba se denomina prueba de método. En el caso de las pruebas de método, los archivos de clase o jar que contienen los métodos de destino se instrumentan mediante el motor de instrumentación de código de bytes (BCI).
El segundo tipo de prueba se inserta en el cuerpo de cualquier método que llama al método de destino. Dado que se inserta en el sitio de llamada, es decir, en el método llamante y no en el método llamado, este tipo de prueba se denomina prueba de sitio de llamada. En el caso de las pruebas de sitio de llamada, los archivos de clase o jar que contienen los métodos que llaman a los métodos de destino se instrumentan mediante el motor BCI.
Las pruebas de sitio de llamada suelen utilizarse cuando se desean supervisar las llamadas desde el proyecto a una biblioteca del sistema o a otras clases de soporte que están fuera del proyecto. Las pruebas de sitio de llamada también son útiles cuando resulta difícil o imposible instrumentar los archivos de clase que contienen los métodos que desea establecer como destino.
No puede tener fragmentos de método y fragmentos de sitio de llamada en una misma prueba. Puede tener pruebas de método y pruebas de sitio de llamada en un mismo archivo .probe.