This document will be used to documents the progress and details of the Testing, Code Guru, Code Quality Assurance Project (GSoC2010) of Melange.

Meetings and Agendas

Wednesday May 14, 2010 18:00 in UTC

Meeting Logs

Meeting start:

Meeting End:

Meeting Notes

Location: #melange on freenode

Chaired by: Sverre Rabbelier

Notes taken by: Leo (Chong Liu)

  • Told Sverre what I had done:
    • Learned the code base of Melange and Melange tests
    • Generated the directory organization of Melange and Melange tests
    • Generated the package diagram and the class diagram of Melange
    • Made some statistics on the code base of Melange
  • Sverre suggested me to do:
    • Start with the testing of the modules which are the most important and used most, e.g. soc.logic.models.base and soc.views.models.base
    • Specifically add more test cases to the existing tests of these modules, e.g. and

Tentative Timeline

Week 1 (24 May - 30 May)


  1. Study the methods of app.soc.logic.models.base.Logic and calculate the frequency they are used.
  2. Study existing test cases for app.soc.logic.models.base.Logic and their coverage.
  3. Add test cases for app.soc.logic.models.base.Logic.


  1. Complete most of the test cases for app.soc.logic.models.base.Logic.

Week 2 (31 May - 6 June)


  1. Finish up the work for app.soc.logic.models.base.Logic.
  2. Add test cases for app.soc.views.models.base.View.
  3. Add test cases for app.soc.logic.models.User.Logic and app.soc.views.models.User.View.
  4. Add test cases for app.soc.logic.models.Role.Logic and app.soc.views.models.Role.View.


  1. Finish up the work for app.soc.logic.models.base.Logic.
  2. Complete most of the work for the above modules.

Week 3-6 (7 June - 4 July)

  1. Add test cases for other modules of app.soc.logic.models and app.soc.views.models
  2. Create a wiki page to explain how the test is currently done before the start date of TDD to provide a reference for developers to design their tests

Week 7 (5 July - 11 July)

  1. Add test cases for helper functions of app.soc.logic and app.soc.views.

Week 8 (12 July - 18 July): mid-term evaluations

  1. Finish up the work for app.soc.logic and app.soc.views and clean up code.

Week 9-11 (19 July - 8 August)

  1. Add test cases for modules of app.soc.modules.gsoc and app.soc.modules.ghop.

Week 12 (9 August - 15 August): pencils down

  1. Finish up the work for app.soc.modules.gsoc and app.soc.modules.ghop and clean up code.

Plans beyond GSoC

Because of the time limit of GSoC, there are still many modules, which needs to be tested, remaining to be tested, e.g. as pointed out by Sverre. But I will continue to work on the testing project beyond GSoC, i.e. add more test cases for more modules, improve the testing design and code, integrate Felix' data seeder, and so on.

Tentative/rough Timeline

  1. Add test cases for at least one module every one or two weeks depending on the size of the module or the amount of work.
  2. Add tests for all (almost all at the very least) modules which needs to be tested before next GSoC.
  3. Further improve the GettingStartedOnTesting wiki page and help others with their tests.
  4. Integrate Felix' data seeder.
  5. Improve the testing design and code whenever necessary or time allows.