Proof of concept verification
Let’s imagine you have a task of making a proof of concept (PoC) of something is working or not.
Your task is to test a new rest service called CatRestService which can download cat images.
You want to know whether you can download 100 images fast enough for your requirements.
You build a PoC which downloads images and then you test it.
You find out it was not fast enough and then you conclude with your PoC that the service is slow.
In my humble opinion this is a poor PoC test and is close to a Not even wrong case.
A summary taken from wiki page about the book by Karl Popper: The Logic of Scientific Discovery
Popper argues that science should adopt a methodology based on falsifiability, because no number of experiments can ever prove a theory, but a single experiment can contradict one. Popper held that empirical theories are characterized by falsifiability.
To verify that your PoC is working or not you should be able to falsify your PoC conclusion.
With the CatRestService example above you can only falsify your conclusion if your PoC test was fast enough.
How can we be sure that your PoC setup is correct? We would have to examine your PoC setup.
What you could do to verify that your PoC is solid and sound is to include a control test.
Use a service x provided externally to have the same functionality as the one you want to test (CatRestService).
Service x must be fast enough for your requirement.
The PoC setup must be the same for all the tests.
If the service x pass the control test and is indeed fast enough for your requirement then you are more certain of your PoC conclusion.
If service x don’t pass the control test then your PoC conclusion is falsified and your PoC setup is likely wrong.