I work in a small contracting firm doing small custom projects. We have this continual problem where the customer wants to be responsible for testing the final build to save some money. Most of the projects are reading from a file from one system and creating orders or whatever in another system. So the customer figures they can run a few files through and make sure the orders come out ok.
However, as you might already predict, they never do a very good job. Inevitably, the order they see created ends up not looking quite right on the report, or is missing some flag that keeps it being converted to a job, or whatever. Then I get blamed because "the software doesn't work". Of course, it does work. It works really great. It catches errors and writes logs, and does everything it was asked to do. It is just that they missed a requirement, or they missed it missing, because they didn't do a thorough test.
Help me out here. I would like to take over testing in order to be thorough.
What is this called, integration testing? And how do I work with the customer to make sure every scenario is being covered? I need to find a way to draw out every possible scenario from them so that I can hand them the final build and say, (1) this software works and (2) this software works according to YOUR specification.