19
2/16/2004 Sergei Sadilov PH/SFT 1 Bonsai in Integration Testing of Geant4 G4 System Testing Team

2/16/2004Sergei Sadilov PH/SFT 1 Bonsai in Integration Testing of Geant4 This presentation will probably involve audience discussion, which will create

Embed Size (px)

Citation preview

Page 1: 2/16/2004Sergei Sadilov PH/SFT 1 Bonsai in Integration Testing of Geant4 This presentation will probably involve audience discussion, which will create

2/16/2004 Sergei Sadilov PH/SFT1

Bonsai in Integration Testing of Geant4

G4 System Testing Team

Page 2: 2/16/2004Sergei Sadilov PH/SFT 1 Bonsai in Integration Testing of Geant4 This presentation will probably involve audience discussion, which will create

2/16/2004Sergei Sadilov2

Outline

History Use cases:

– Monitoring development– Testing

Inside Bonsai– Binding to CVS– Operations– Backend Scripts

Pluses & Minuses Possible Improvements

Page 3: 2/16/2004Sergei Sadilov PH/SFT 1 Bonsai in Integration Testing of Geant4 This presentation will probably involve audience discussion, which will create

2/16/2004Sergei Sadilov3

History

Bonsai was invented in Mozilla community. It’s CVS commit oriented and used only for tracking (read only!): there is no ‘Status/Sentence’ fields and logic behind.

It consists of a set of Perl, JavaScript program plus MySQL DB.

It has been modified to adopt Geant4 development cycle and testing procedure…

Page 4: 2/16/2004Sergei Sadilov PH/SFT 1 Bonsai in Integration Testing of Geant4 This presentation will probably involve audience discussion, which will create

2/16/2004Sergei Sadilov4

Page 5: 2/16/2004Sergei Sadilov PH/SFT 1 Bonsai in Integration Testing of Geant4 This presentation will probably involve audience discussion, which will create

2/16/2004Sergei Sadilov5

Testing Cycle

STTProposeTag(CVS)

AcceptRejectAsk

ReferenceTag

Category 1

UnitTest

CVSTag

Category N

UnitTest

CVSTag

Category 1

Category N

Bonsai

Page 6: 2/16/2004Sergei Sadilov PH/SFT 1 Bonsai in Integration Testing of Geant4 This presentation will probably involve audience discussion, which will create

2/16/2004Sergei Sadilov6

Page 7: 2/16/2004Sergei Sadilov PH/SFT 1 Bonsai in Integration Testing of Geant4 This presentation will probably involve audience discussion, which will create

2/16/2004Sergei Sadilov7

Bonsai Goals

Automatic recording of tags (CVS) Tag “management” tool (proposal,accept/reject

etc) Automatic tracking of development Testing and release automation

Page 8: 2/16/2004Sergei Sadilov PH/SFT 1 Bonsai in Integration Testing of Geant4 This presentation will probably involve audience discussion, which will create

2/16/2004Sergei Sadilov8

Binding to CVS

CVS features– Toggle execution of ‘CVSROOT/taginfo’ by ‘tag’ operation– execution for every tagged directory– Supplies as additional parameters

directory tagname File+Revision

Determined by the script in execution time:- Date/time of tag operation- Developer who performed the tag

Page 9: 2/16/2004Sergei Sadilov PH/SFT 1 Bonsai in Integration Testing of Geant4 This presentation will probably involve audience discussion, which will create

2/16/2004Sergei Sadilov9

Page 10: 2/16/2004Sergei Sadilov PH/SFT 1 Bonsai in Integration Testing of Geant4 This presentation will probably involve audience discussion, which will create

2/16/2004Sergei Sadilov10

Bonsai Operations

Propose tag with adding a description Select a tag for testing Accept/Reject the tag based on passing the tests Mail to the responsible, author of the tag Query of tags according to criteria

Page 11: 2/16/2004Sergei Sadilov PH/SFT 1 Bonsai in Integration Testing of Geant4 This presentation will probably involve audience discussion, which will create

2/16/2004Sergei Sadilov11

Page 12: 2/16/2004Sergei Sadilov PH/SFT 1 Bonsai in Integration Testing of Geant4 This presentation will probably involve audience discussion, which will create

2/16/2004Sergei Sadilov12

Tracking of Development

Select by: Date Tag name Directory path User name Status

Page 13: 2/16/2004Sergei Sadilov PH/SFT 1 Bonsai in Integration Testing of Geant4 This presentation will probably involve audience discussion, which will create

2/16/2004Sergei Sadilov13

Page 14: 2/16/2004Sergei Sadilov PH/SFT 1 Bonsai in Integration Testing of Geant4 This presentation will probably involve audience discussion, which will create

2/16/2004Sergei Sadilov14

Page 15: 2/16/2004Sergei Sadilov PH/SFT 1 Bonsai in Integration Testing of Geant4 This presentation will probably involve audience discussion, which will create

2/16/2004Sergei Sadilov15

Backend Scripts

Insert initial information about tag Extract tags with Selected/Testarea combination

Page 16: 2/16/2004Sergei Sadilov PH/SFT 1 Bonsai in Integration Testing of Geant4 This presentation will probably involve audience discussion, which will create

2/16/2004Sergei Sadilov16

Pluses & …

Adding some important information to CVS tags (description)

Automating ‘tag’ based testing Monitoring of the development Helps in the release process Could manage different CVS repositories in one instance of

Bonsai All operations on one screen (JavaScripts) Browser compatibility (IE ; Netscape; Mozilla )

Page 17: 2/16/2004Sergei Sadilov PH/SFT 1 Bonsai in Integration Testing of Geant4 This presentation will probably involve audience discussion, which will create

2/16/2004Sergei Sadilov17

…& Minuses

Missing authorization control Browser compatibility (JavaScript)

Page 18: 2/16/2004Sergei Sadilov PH/SFT 1 Bonsai in Integration Testing of Geant4 This presentation will probably involve audience discussion, which will create

2/16/2004Sergei Sadilov18

Possible Improvements

Additional descriptive fields– Bug fix flag– Grouping of Tags (belonging to the same global tag)– Grouping of ‘co-working’ tags

Authorization control You are interested? We are open for new

requirements!

Page 19: 2/16/2004Sergei Sadilov PH/SFT 1 Bonsai in Integration Testing of Geant4 This presentation will probably involve audience discussion, which will create

2/16/2004Sergei Sadilov19

Summary

Original Bonsai has been modified to adopt the Geant4 project needs:

Introduced tag based scheme with additional fields Used the system for testing (Status/Sentence with logic

behind) Ported scripts to new versions of browsers

Bonsai is a core tool for the Geant4 testing and release process and can be easily tested/deployed for other projects