Presenting a JUnit Testing Framework to a Multi-University Community

Download Report

Transcript Presenting a JUnit Testing Framework to a Multi-University Community

Presenting a
JUnit Testing Framework
to a
Multi-University Community
Romerl Elizes
May 4, 2007
Agenda










Introduction
Coeus
JUnit Testing Framework
Community of Testers
Literature Review
Relevance
Methodology
Future Work
Questions and Answers
References
Introduction

Presentation goals:



will highlight work done on developing a JUnit
Testing Framework for the Coeus Application
will explore its applicability to a multiuniversity community
introduce the concept of a “Community of
Testers”
Coeus

Coeus:



Electronic Research Administration (eRA) system
developed by MIT
Automates a variety of university research functions:
proposal tracking, proposal development, grant
tracking, conflict of interests, internal review board,
federal electronic submissions, award budgeting, and
compliance standards
Follows an Open Source Community model called the
Coeus Consortium
Coeus

Coeus Consortium:





Participant universities who lack the resources can
participate in the Consortium for a nominal annual fee
Participant universities can download the software
binaries and code and customize their deployment
based on university needs
Each university only uses a select number of modules
Each university can contribute back to the Consortium
if it finds an innovative solution to any issues with the
module
Includes 100+ member universities, government
agencies, corporations
Coeus

Coeus Testing:



Internal testing mechanism practiced by the
developers
One week testing cycle involving select
members of Consortium
Fixing bugs by committee vote
Coeus

Disadvantages:




MIT software development team always on
the move to develop product
Iterative development is not tested properly
thus exposing upward compatibility bugs
Limited programming support in member
universities
Testing infrastructure is different for each
member university
JUnit Testing Framework

Personal responsibilities for Coeus:



Hired by University of Medicine and Dentistry
of New Jersey (UMDNJ) to support the Coeus
eRA
Introduced business intelligence reporting
capabilities non-existent in Coeus product
Introduced a testing infrastructure that would
support university needs
JUnit Testing Framework

JUnit Testing Framework:



Suggested by Dr. Fred Grossman and Dr. Joe Bergin in
developing software development projects based on
JUnit
JUnit Framework encompasses JUnit, Abbot, Cactus,
HtmlUnit, and HttpUnit open source software geared
for testing
Coeus Testing for UMDNJ involved:



Address database table validation (Cactus)
Address web content validation (Cactus, HtmlUnit, HttpUnit)
Robot automation to test validity of GUI components (Abbot)
Community of Testers

One Tester


Presented the work at Coeus User Group
Conference
1 university
has strengths in a specific set of modules
 should focus testing its specific set of modules
 goal is to develop 1 test per day
 200 tests for one year

Community of Testers

Many Testers

50 universities


50 x 200 tests = 10,000 tests in one year
Author proposed a development of a Coeus Testing
Community – a “Community of Testers”




Each university asynchronously develops its own tests
Contributes them back into the Consortium
Contributes to the development and maturity of product
The power of many compensates for the limitations of the
one
Literature Review

Community of Practice (CoP):



suggests the concept of team infrastructure and
multiple overlapping communities for sharing
knowledge and standardizing practices (Kahkonen:
“Agile Methods for Large Organizations”)
focuses on communities within a specific location
using workshops and team building to foster
collaboration
cannot easily be applied to a community of
universities which have distance and timing factors
that adversely affect collaboration
Literature Review

Open Source Community/Testing:



PyPy is an open source project to develop software
infrastructure within the European Union (During:
“Trouble in Paradise: the Open Source Project PyPy.
EU-Funding and Agile Practices”)
Koponen defined a QA process in the Open Source
Model (Kopenen: “Evaluation Framework for Open
Source Software Maintenance”)
Maki-Asiala defined a QA process of Open Source
components in a corporate model (Maki-Asiala:
“Quality Assurance of Open Source Components
Integrator Point of View”)
Relevance




Work proposes the idea of a “Community of
Testers”
Work involves an actual institution with actual
stakeholders that will benefit substantially
Work proposes a solution based on limited
funding issues that many universities experience
Work supports the marriage of information
technology and research administration
Methodology

Deployment on Four Linux Servers:
Production, Backup, Development and
Test




Tomcat 5.0.2.8 Application Server
Oracle 9G Database Server
Oracle 9G Client on Windows, MacOS, and
Linux
Coeus Application
Methodology


Testing Methodology
Cactus, HtmlUnit, HttpUnit


50 tests mostly database-specific ran against
each server
Abbot

20 GUI tests on proposal and awards tracking,
reporting capabilities
Future Work

The future of the Coeus Testing Community:




MIT and author are in a discussion phase on how to
introduce this framework into the Consortium
Expected implementation: March 2008
Work on framework to handle multiple releases
Exploration of other open source methodologies to
benefit this framework
References





[COE] “Coeus Consortium.” Web site. Massachusetts Institute of Technology.
2007. Link: http://www.coeus.org/coeus-cons/
[DUR] B. During. “Trouble in Paradise: the Open Source Project PyPy, EUFunding, and Agile Practices.” In Proceedings of AGILE 2006 Conference
(AGILE’06), pp. 221-231. July 2006.
[KAH] T. Kahkonen. “Agile Methods for Large Organizations – Building
Communities of Practice.” In Proceedings of the Agile Development
Conference (ADC 2004), pp. 2-11. June 2004.
[KOP] T. Koponen. “Evaluation Framework for Open Source Software
Maintenance.” In Proceedings on Software Engineering Advances
(ICSEA’06), pp. 52. October 2006.
[MAK] P. Maki-Asiala, M. Matinlassi. “Quality Assurance of Open Source
Components: Integrator Point of View.” In Proceedings of the Thirtieth
Annual International Computer Software and Applications Conference
(COMPSAC’06), pp. 189-194. September 2006.