[GSOC] Data model unit testing
Muslim Chochlov
muslim.chochlov at gmail.com
Wed Mar 30 14:45:28 EDT 2011
Hello John, Christian,
I came up with some assessments regarding the project.
More in detail:
- Different measurement tools calculate about 16-17k lines of code in libqof
module.
- Number of unique functions is ~800 and ~ 500 of them are public, that is
available to other packages.
- Based on that and complexity measures it's possible to estimate time
required. It's feasible to accomplish this feature only for *libqof* module
in a duration of GSoC. (I'm in a process of writing proposal right now,
where everything would be explained in more detail)
I hoped you could help me with:
- Defining the clear project goal. Currently I see it as - providing libqof
module with unit tests (coverage of 100%) (Creating UML diagrams? Do I have
to do refactoring on the fly as well? Or it's out of scope)
- If libqof is currently depending only on one system library it shouldn't
require any mocking and the process of writing unit tests should be kind of
straightforward. Also the priority and order in which I implement UT
shouldn't have any impact. Or do I miss something here?
Saluti,
M.Chochlov
2011/3/24 Christian Stimming <stimming at tuhh.de>
> Dear Muslim,
>
> Am Donnerstag, 24. März 2011 schrieb John Ralls:
> > > Thanks for the fast reply. I just browsed the libqof module and it
> looks
> > > like a fair amount of work needs to be done. Do you think providing UT
> > > for libqof and engine modules (or even just libqof) would be enough for
> > > gsoc project?
>
> Yes, I think those modules would be completely sufficient for a GSoC
> project.
> What you would do (as described by John already) is to document the
> architecture, adding unittests, and along the way it will very quickly
> become
> obvious where that architecture still needs changing.
>
> > > And one more question what is the quickest way to check
> > > module interdependence?
>
> If you call each sub-directory one single module, the dependency graph is
> rather straightforward: It's the list of directories in src/Makefile.am
> where
> everything more bottom requires everything above it. I.e. the libqof sub-
> directory requires nothing else (except the system libglib). In that sense,
> there is at least some sort of useful dependency separation in gnucash,
> which
> would help your project a lot.
>
> Regards,
>
> Christian
>
More information about the gnucash-devel
mailing list