Developer Testing on MifosContents::
Theres an ongoing development effort around EvolvingTheMifosCodeBase. Roughly speaking this involves moving towards a CLEAN LAYERED ARCHITECTURE and the creation of rich domain-oriented APIs that will make the code base easier to understand and use. The google summer of code projects for 2010 SoC2010Ideas are closely aligned with these goals.
In HowToRefactorStrutsActionClassesToServiceFacadePattern, we document the first steps of moving to a CLEAN LAYERED ARCHITECTURE. One of the key benifits of tests is that they should give us the confidence to refactor however there are currently a number of problems with the existing test suite.
At present we have the following developer tests:
In general, the existing test suite fails to achieve most of the goals of test automation, the result of which is that we have the worse of both worlds; we have incurred the cost of writing and maintaining tests but this has not resulted in a higher quality product(both internal and external) or reduced the effort required to test the application to a level that gives us confidence.
Below are some examples of how production and test code get coupled together:
We want to write a test suite that seeks to achieve the goals of test automation guided by a set of principles .