Google Summer of Code Application

Name: Catalin Hritcu
Email: catalin.hritcu@gmail.com
URL: http://purl.org/hritcu/homepage
GTalk: catalin.hritcu@gmail.com
YahooID: catalin_rabbit
MSN: catalin_rabbit
AIM/ICQ: 201148420
Skype: catalin_rabbit

Project Name: Functional Test Suite

Project URL:
http://www.xwiki.org/xwiki/bin/view/GoogleSummerOfCode/FunctionalTestSuite

Project Mentor: Vincent Massol

Project Description:
Building a functional test suite covering the most important features of XWiki. The tests will be fully automated, and will use the Selenium application built for this purpose. Since the Selenium application is still experimental, additional work will be needed on enhancing the testing framework itself. Finally, some parts of the XWiki interface (like the XYSIWYG editor) will have to be enhanced to allow easier testing.

Relevant Links:
http://www.openqa.org/selenium/
http://www.xwiki.org/xwiki/bin/view/Code/SeleniumApplication

If you would be willing and able to do other projects instead, which ones?
– My second choice is the WYSIWYG MathML Editor in GWT, because of sMArTH (http://smarth.sourceforge.net/).

Please describe any XWiki experience (if any):
– I’m an XWiki commiter and I have been involved in the development of XWiki extensions (Charting, P2P, UML)

Please describe in a few lines your Java/Javascript/Web knowledge or experience (if any). Please describe any other project related experience (if any). Please describe any previous Open Source development experience:
– Please see: https://hritcu.wordpress.com/projects/

What school do you attend?
– Saarland University, Saarbrucken, Germany

What is your specialty/major at the school?
– Computer Science, PhD student

Research interests:
– Semantics of Programming Languages
– Language-based Security
– Deductive Verification
– Formal Methods in Software Engineering

How many years have you attended there?
– 1.5 years as a MSc student

What city/country will you be spending this summer in?
– Saarbrucken, Germany – June, July
– Suceava and Iasi, Romania – August

How much time do you expect to have for this project?
– 3h/day for 4 months (predicted average)

Please list jobs, summer classes, and/or vacations that you’ll need to work around:
– PhD Student (research) – in Germany school ends at the end of July
– Teaching Assistant – Computation Logic
– Probably one week in the mountains with Marta and Sergiu
– (I have already factored all these in when answering the previous question)

Did you participate in a 2005 or 2006 Summer of Code project?
– Yes, I helped Sergiu and Marta with their SOC projects (mostly testing, debugging, documenting).

Have you applied for any other 2007 Summer of Code projects?
– No, and I won’t.

Why are you interested in Open Source development ?
– Because of freedom/liberty, collaboration and community.

Why did you decide to apply for the Google Summer of Code ?
– Because the mentoring, the money, the strict timeframe, all bring extra motivation.

Why did you decide to apply for an XWiki project ?
– Because I believe in XWiki and I want to stay involved.

Any personal/blog URLs you would like to list:
https://hritcu.wordpress.com

Please describe why you are interested in this specific project:
– Because I think tests are what XWiki needs the most, and I like writing (unit) tests. Functional testing would be something new, but I am very interested to learn.

Please describe a tentative project architecture or an approach to it. Please detail an expected project plan and timeline with milestones:
– until the 30th of April
* Learn more about functional testing and Selenium
– 1st May – 31st May
* Decide together with my mentor which functionalities will be tested, and assign a priority to each
* Design a functional testing architecture, based on an improved Selenium XWiki Application (http://www.xwiki.org/xwiki/bin/view/Code/SeleniumApplication). For example decide whether to use Selenese together with Flow Control (http://wiki.openqa.org/display/SEL/flowControl) or JUnit tests using the Selenium Remote Control (http://www.openqa.org/selenium-rc/).
* Implement, set up and document the testing infrastructure
* Create a couple of representative sample tests
* Document the process of writing functional tests
* Establish a more detailed timeline for the following period
– 1st June – 31st August
* Write the tests in the order given by their priority
* If writing a test is not easy (or not possible), then depending on the cause:
* Enhance the XWiki user interface to make it more easily testable (for example by adding IDs to all elements)
* Or enhance the testing infrastructure
* Or both if necessary
* Document the functional tests:
* Maybe by writting down the scenario exercised by each test
* Asses the cumulated coverage of all the tests
* Document what will remain to be done

and finally in 2 sentences, why should we take YOU ?
Because I like writing tests, and I think that XWiki needs this badly.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: