180 likes | 463 Views
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.
E N D
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 multi-university 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, EU-Funding, 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.