Google Summer of Code 2011: Project

"Automated webapp tests for MyFaces core + extensions"

Student: Jan Zarnikov < jan.zarnikov AT gmail DOT com>

Organization : Apache Software Foundation

Mentors : Jakob Korherr < jakob.korherr AT gmail DOT com >


The goal of this project is to improve the already existing testing framework which was create during last year's GSOC: The two main requirements are a) the possibility to run a certain test with different configurations and b) provide a convenient API to create both server-side and client-side assertions. The project also has to provide documentation of the API and general usage as well as sample tests that demonstrate how to use all the key features.


Firstly the project has to address requirements that could not be met in GSOC 2010 due to time constraints:


The results of last year's GSOC are a good starting point. However several important changes will have to be made. Launching tests with different configurations is a difficult task because of the classpath hell. There are basically two possible approaches:

  1. Writing a custom classloader.
  2. Launching the tests in a separate JVM with its own classpath.

These two approaches will be evaluated at the beginning of the project using prototypes.

Combining server-side and client-side assertions also introduces some issues. The client-side assertions can be easily implemented using HTMLUnit. The server-side assertions are a bit more difficult because they have to be evaluated in the context/thread of the server. Possible failures have to be propagated back to the context/thread of the JUnit test.

Because the tests must be normal JUnit test the testing framework has to be implemented as a JUnit Runner.


The test framework will be used to implement sample tests for MyFaces core and/or extensions in order to show that it meets all the requirements.



This project will follow the guidelines of the Apache Foundation.


See GSOC 2011 timeline:


The project should have a real name (and not just "automated webapp tests"). I propose the name Manila.



I study master's program "Software Engineering and Internet Computing" at University of Technology in Vienna and plan to graduate by the end of 2011.

I also work part time at Irian Solutions, a major contributor to the MyFaces project, at their offices in Vienna. Irian Solutions kindly supports this project and allows me to schedule enough time and resources for its competition.

And I am an active member of the Java Student User Group ( at the University of Technology in Vienna.