Software Integration and Test Techniques in a Large Distributed Project: Evolution, Process Improvement, Results Paola Sivera - ESO
ICALEPCS 2007, Oct 2007, Knoxville TN2 ALMA Geographical distribution ALMA DRAO Penticton ALMA ATF Arcetri Observatory Jodrell Bank Brera Observatory IRAM Grenoble ATC Edinburgh NAOJ ESO NRAO Obs de Paris Univ. Calgary c c Santiago MPI Bonn DAMIR/IEM Madrid
ICALEPCS 2007, Oct 2007, Knoxville TN3 ALMA Management B. Glendenning G. Raffi K.Tatematsu Science Software Requirements R. Lucas High Level Analysis J. Schwarz Software Eng M.Zamparelli Common SW G. Chiozzi Executive P. Grosbol Control A. Farris Archiving A. Wicenec Observation Preparation A. Bridger Operations Support M. Chavan Offline J. McMullen Pipeline L. Davis Telescope Calibration R. Lucas Correlator J. Pisano Integration P. Sivera Scheduler A.Farris ACA M.Watanabe Trilateral Computing IPT Organisation Total Bilateral staff now: 40 FTEs Total trilateral staff now: 65 FTEs Total Bilateral staff now: 40 FTEs Total trilateral staff now: 65 FTEs
ICALEPCS 2007, Oct 2007, Knoxville TN4
5
6 ALMA System Dataflow
ICALEPCS 2007, Oct 2007, Knoxville TN7 Standards and Tools Alma Common Software Environment CVS organization Makefile Standard Test Environment Tool for automated testing Bug tracking tool (JIRA)
ICALEPCS 2007, Oct 2007, Knoxville TN8 ALMA Release Cycle Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Minor Release: Mar 31Major Release: Sep 30 Monthly integration = last day of the month ICD Freeze = 15 th of the month
ICALEPCS 2007, Oct 2007, Knoxville TN9 Function-based Teams
ICALEPCS 2007, Oct 2007, Knoxville TN10 FBTs organization ZSharedSimulator B (branch) SharedSimulator RootOfBranch (tag of the HEAD) ASharedSimulator BeforeMerge BTRUNK-SharedSimulator BeforeMerge CTRUNK-SharedSimulator AfterMerge (tag of the HEAD) SharedSimulator AfterMerge-B (branch) F SharedSimulator FINAL
ICALEPCS 2007, Oct 2007, Knoxville TN11 Summing it up FBTs advantages: –Improve communication –More effective involvement of testers Testing end-to-end since the beginning –Good for object-oriented software –A lot of maintenance on the test cases
ICALEPCS 2007, Oct 2007, Knoxville TN12 Where we are Testing maturity (according to Boris Beizer) 1.there is no difference between testing and debugging 2.the purpose of testing is to show that the software works 3.the purpose of testing is to show that the software does not work 4.the purpose of testing is not to prove anything, but to reduce the perceived risk of not working to an acceptable value
ICALEPCS 2007, Oct 2007, Knoxville TN13 Future developments Make software more testable from its inception adoption of the test maturity model (TMM)