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 >

Abstract:

The goal of this project is to improve the already existing testing framework which was create during last year's GSOC: http://wiki.apache.org/myfaces/GSoC2010_AutomatedTests 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.

Requirements:

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

Implementation:

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.

Validation

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.

Deliverables:

Criteria:

This project will follow the guidelines of the Apache Foundation.

Timeline:

See GSOC 2011 timeline: http://www.google-melange.com/document/show/gsoc_program/google/gsoc2011/timeline

Name

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

Links:

https://issues.apache.org/jira/browse/MYFACESTEST-47

Background:

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 (http://jsug.at) at the University of Technology in Vienna.

GSoC2011_AutomatedTests (last edited 2011-04-06 11:04:05 by JanZarnikov)