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.