Testing Times This Summer
Submitted by on Tue, 2010-10-05 12:33
DSpace has added over 500 automated tests into its main codebase. These tests were developed as part of the new DSpace testing framework created through the Google Summer of Code 2010 scheme. A Spanish student, a software development mentor in New Zealand, a host company in Ireland, and a worldwide network of supporting developers worked together to undertake a project to design and implement this new testing framework for the DSpace repository platform.
The Google Summer of Code scheme operates each summer, and sponsors students to undertake development projects for open source systems. This is the fourth year that DSpace has been part of the scheme, and this year worked with four students to complete a wide variety of projects. One of the projects, ‘Add Unit Testing to DSpace‘ was proposed, accepted, and undertaken by student Pere Villega who is completing a Masters degree in Open Source Software at the Universitat Oberta de Catalunya. Pere was teamed up with one of the DSpace developers and committers, Stuart Lewis, and was hosted for the summer by Enovation Solutions in Dublin, Ireland.
During the summer Pere worked to design a new automated testing framework for DSpace. Until now, there has been no automated testing of DSpace, as all testing has been performed by the developers, and the wider community during pre-release ‘testathon’ events. Whilst these have ensured that DSpace is generally well tested, an automated form of low-level testing has always been on the list of features that the community desires. Through the system written by Pere, a new framework is now in place that allows such automated testing to take place. As well as creating the framework, Pere has included over 500 tests for different parts of the repository system. This is the first Google Summer of Code DSpace project that has been added to main core of the DSpace platform, highlighting the immense achievements of the project.
When asked about Pere and his project, Stuart Lewis said: “Pere has been an exceptional student, and a privilege to work with. Through schemes such as the Google Summer of Code, we are able to work with new developers to give them a taste of real open source development. As a result of his work, Pere has now developed what will become one of the major new features of the upcoming 1.7 version of DSpace which is due at the end of the year.”
Pere describes his summer experience as “a very entertaining and educational one. This has been my first experience collaborating with an Open Source project and I really recommend it. Being part of GSoC has allowed me to see how these projects work, and during the development I’ve learned a lot while trying to solve the issues that kept appearing. You have to put many hours, and most of them are not spent coding but understanding how some fragment of code works or why some method fails. But it’s rewarding. There is no pressure from the mentors (besides following the deadlines established by yourself) and the support from the community is pretty good. In my case it helped to finish the unit tests by reviewing some outstanding issues. All in all, it has been a nice educational experience, and to top it up there is the feeling of accomplishment when you realise your code, even if it can be improved, is being used and it is helping people involved in this project. There is no doubt that if I have the chance I will repeat the experience.”
Pere was one of four students who worked with DSpace this summer through the Google Summer of Code. DSpace’s Technical Lead Tim Donohue says “The developers and I are immensely proud to have Pere’s contribution to DSpace in the upcoming 1.7.0 release. Pere has done a fantastic job at providing us with automated testing of the core code, while also establishing a testing framework we can build upon for years to come. We all hope that Pere continues to find ways to stay involved in open source software, and hopefully DSpace development.”
Further details of Pere’s work can be found in the DSpace wiki.