Test ideas

From OpenChange wiki

Jump to: navigation, search


We need to test code, ideally on every checkin, and ideally fairly completely.

Contents

existing tools

We already have some tools that can be used for testing:

  • torture tests
  • mapitest
  • other command line tools (mapiprofile, openchangeclient, openchangepfadmin)

The existing torture tests use smbtorture from samba. See Category::Torture Test for an incomplete list of torture tests.

mapitest is an easier-to-use standalone tool.

automation

We could use buildbot to automate some of this. As a minimum, that would ensure the code builds, but could be easily extended to do at least some testing if the builders ("slaves" in buildbot terms) had access to a server.

We might need to roll up some of these tests with buildbot to avoid the waterfall display becoming too long. (e.g. run the tests as a script rather than a series of individual buildbot ShellCommands).

ideas for test scenarios

basic profile operations

Use mapiprofile to create a new database, add a profile to the account, manipulate the profile in some way (e.g. set it as default), add a second profile, change the default, run some tests, delete one of the profiles, run some more tests, delete the other profile.

mapitest

Use mapitest to run the whole suite.

Use mapitest to run the no-server tests on builders that don't have a server to talk to.

Perhaps run individual tests to make sure that the mapitest command line option (--mapi-calls) works.

Personal tools