[GSoC] Interactive and Visual Test Automation for SDL 2.0

Hello everybody,
I’ve applied for Google Summer of Code under SDL. I’ve chosen the
"Interactive and Visual Test Automation for SDL 2.0" idea (Idea #1 here:
http://www.libsdl.org/gsoc.php).

The mentor for this project, Andreas Schiffler, suggested I get feedback
from the SDL community on how best to improve my proposal. I should also
clarify that I’ve already applied to the program; however Google permits
applicants to work on their proposals even after the application deadline.

I’ve decided to make my application public so that I can get feedback on
it. Here is the link:
http://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/nerdap/10001

To give a brief overview of the project and the proposal, the idea is to
basically automate the testsprite2 test in the SDL test suite. At the
moment testsprite2 takes 26 parameters and fires up a window with some
sprites moving around. Manually testing to see if each valid combination of
the 26 parameters produces expected results is infeasible. I’ve broken down
the task of automating this into four major parts:

  1. Generating valid combinations of the 26 parameters (aka generating valid
    test cases). It could prove to be infeasible to test the program for every
    valid combination, even after the automation. Therefore, an appropriate
    test case generation technique will have to be used to ensure that a large
    number of important cases are covered.
  2. Testing to see if the window was created correctly
  3. Testing to see if the mouse is being handled properly
  4. Testing to see if sprites are being rendered properly

While I’ll try to keep the code as platform agnostic as possible, it seems
inevitable that a significant portion of the code will be platform
specific, which means I’ll have to target specific platforms during the
time span of the project. My plan for now is to get the project up and
running successfully on Linux before moving on to either Windows or
Android, or maybe both if time permits.

I’m eager to listen to your comments and suggestions on my proposal.

Sincerely,
Apoorv