1. A testing apparatus for analyzing a memory module under test operating within an application system, wherein the memory module under test is coupled to a processor of the application system, and wherein the testing apparatus comprises: a first interface for coupling to the application system; a second interface for coupling to a reference memory module; a controller coupled to the first and second interfaces, wherein the controller is configured to: receive first test data and first test response data from the application system via the first interface, wherein the first test data comprises data transmitted to the memory module under test by the processor of the application system while the processor performs an application task, and wherein the first test response data comprises data transmitted from the memory module under test to the processor of the application system while the processor performs the application task; transmit second test data to the reference memory module via the second interface, wherein the second test data comprises at least a subset of the first test data; transmit second test response data to at least one comparator, wherein the second test response data comprises at least a subset of the first test response data; and transmit logging data to a data logging unit, wherein the logging data comprises at least a portion of one or both of the first test data and the second test data, and at least a portion of one or both of the first test response data and the second test response data; the at least one comparator, configured to: receive, from the reference memory module, reference response data generated by the reference memory module in response to the second test data transmitted to the reference memory module from the controller; receive the second test response data from the controller; compare the reference response data to the second test response data; generate at least one test result from at least one comparison of the reference response data with the second test response data; and transmit the at least one test result to the data logging unit; and the data logging unit, wherein the data logging unit is configured to: receive the logging data from the controller; receive the at least one test result from the at least one comparator; and record, in a memory, at least a subset of the logging data.