Alright....so this is driving me nuts as I'm trying to encourage the team to write more tests yet here I am unable to determine whether the following example is considered an integration or a functional test case.
Consider the following:
We have a simple web application which routes/exposes a number of JSON feeds. Each user request requires that our application query an external service via HTTP (on the backend) before performing some data transformations and then returning a serialized JSON response.
Using a 3rd party library, we're able to record every unique HTTP interaction which occurs on the backend and write it to the filesystem. These recordings are then "played back" allowing these query results to be treated as deterministic during testing.
My test case contains a single assertion. It's a just a string which contains the expected JSON response for a single feed. After we've initialize our application - we allow it to route a request before capturing the response and comparing it against the expected JSON.
1) Is this a functional test or an integration test?
2) If functional, then what exactly is the difference between "Big Bang Integration Testing and Functional Testing"?