Extended Test Suite for MoinMoin

Abstract

Software Testing is an essential part in the process used to help identify the correctness, completeness, security, and quality of developed computer software. Every software project needs a diversified system of Tests for every part of its software units.

As of the moinmoin project it is important to have a well defined testing system that covers ideally all parts of it. The main unit test suite for python is currently pyunit. So all additional unit tests must use pyunit and follow the style of the already implemented test. Bug tests must be implemented for all the existing bugs, before they are fixed. So for the test suite this has to be done:

As moinmoin is a web application, the testing can be extended by using Selenium and twill. Selenium is a test tool for web applications. Selenium tests run directly in a browser, just as real users do. In the python implementation as the "Twisted Server" version it is written as a stand-alone Twisted-based server and can be used for testing any Web site. The selinium test suite makes use of current browser technology and tolerates html as browsers do. twill has been developed as a testing suite for web apps and can be strict or tolerate to slightly broken html.

Timeline:

Week 1 Getting familiar with the code and the currently used tests.

Week 2 Adding Request objects and figuring out what kind of requests are needed

Week 3 Implementing request states to the testing framework.

Week 4 Adjusting all current tests to work with the enhancedments of week 2 and 3.

Week 5 Fix Broken Tests

Week 6-8 Add missing Tests, as much as possible, ideally for all functions. (*)

Week 9 Writing a doc for developers of new code on how to write tests for MoinMoin.

Week 10 Setting up a selenium test environment, propably as a add-on.

Week 11 Implementing web tests.

Week 12 Finishing and documenting web tests.

(*) It is simple to say, that it is not possible. to write a test for every function. I plan to add many simple tests and more complex tests, that test more functions at once.

Relevant Experience: I have been coding with python for the past three years, usually little scripts to help with my (math/crypto) studies or admin stuff. I have started developing the pydelicious library, a library to access the web service of http://del.icio.us/ via python. Unit Tests - I have some experience with writing unit tests in python, i used pyunit tests with pydelicious. http://delicious-py.berlios.de/src/ has examples of my coding and of unit testing.

Details of Study: I am studying IT Security at the Ruhr-Universität Bochum in Germany (http://www.msits.rub.de/) in my first year of my two year master studies. I have finished studies in mathematics (University Paderborn).

MoinMoin: FrankTimmermann/SummerOfCode2007 (last edited 2007-10-29 19:14:25 by localhost)