It seems to me FitNesse has the following advantages:
Let a non-technical person define test data sets and expected results (how they determine success). A non-technical person can be a user, a product manager, or possibly a software quality specialist who does not have access to the source code and / or does not know how to program in the source language.
Allows a non-technical person to run tests and quickly get an idea of โโthe performance of the tested code.
I work with a code base where the โuser interfaceโ is an API in the library, so it is understandable and appropriate only for other technical specialists who know the language and have direct access to the API. I need to choose a method for conducting integration tests. I am intrigued by FitNesse, but I do not understand why I could be worried. These are the benefits that still apply in this case:
He uses the standard style to define tests, so they are easy to understand for other software professionals who need to work with the same code.
This allows the author and source code developers to quickly see where the test fails and how it failed.
Tests are written in the same language as the source code, so a separate amount of expertise is not required (for example, perl or python).
However, there are other simple ways to achieve these same goals without having to leave the code editor. In addition, to run the tests, I see no way to associate FitNesse tests with an automated system, for example, so that the continuous integration server runs them with new assemblies. I also do not see how to run FitNesse tests on a hardware platform other than the development platform, so they will not catch the problems of time.
So, if you use FitNesse in an environment where your โuserโ is as technical as you, why? If you tried it and decided against it, what were your reasons?
If you use FitNesse to test code intended for separate proprietary equipment (embedded system), how does it work?