New Tools and Documentation
Transcript of New Tools and Documentation
![Page 1: New Tools and Documentation](https://reader033.fdocuments.net/reader033/viewer/2022041718/6253d217de323551ed20ed67/html5/thumbnails/1.jpg)
New Tools and Documentation
Matthew Sell, CSSE Student
MASS Research Participant, August 2014
![Page 2: New Tools and Documentation](https://reader033.fdocuments.net/reader033/viewer/2022041718/6253d217de323551ed20ed67/html5/thumbnails/2.jpg)
CMMI is a good model
www.cmmilevels.com
TARGET
![Page 3: New Tools and Documentation](https://reader033.fdocuments.net/reader033/viewer/2022041718/6253d217de323551ed20ed67/html5/thumbnails/3.jpg)
Revision Control
Automation
Unit Testing
Issue Tracking
Documentation
![Page 4: New Tools and Documentation](https://reader033.fdocuments.net/reader033/viewer/2022041718/6253d217de323551ed20ed67/html5/thumbnails/4.jpg)
GIT repositories - implemented
Coming soon: • GitBlit for respository management
![Page 5: New Tools and Documentation](https://reader033.fdocuments.net/reader033/viewer/2022041718/6253d217de323551ed20ed67/html5/thumbnails/5.jpg)
Apache Maven
• Project Metadata
• Dependency Management
• “Artifactory” for hosting libraries
Jenkins
• Automated build from Git repository
• Unit testing / code coverage
• Build / test failure notifications
• Integrates with issue tracker
• Browser based, hosted at UWB
![Page 6: New Tools and Documentation](https://reader033.fdocuments.net/reader033/viewer/2022041718/6253d217de323551ed20ed67/html5/thumbnails/6.jpg)
Project Status
Project Health
![Page 7: New Tools and Documentation](https://reader033.fdocuments.net/reader033/viewer/2022041718/6253d217de323551ed20ed67/html5/thumbnails/7.jpg)
Historical Unit Test Coverage
Unit Test Trend
![Page 8: New Tools and Documentation](https://reader033.fdocuments.net/reader033/viewer/2022041718/6253d217de323551ed20ed67/html5/thumbnails/8.jpg)
Compile Failure
• Missing dependencies? (update Maven POM!)
Unit Test Failure
• Some behavior changed
• New bug introduced
Code Coverage Insufficient
• Need more unit tests
• Weak test cases
![Page 9: New Tools and Documentation](https://reader033.fdocuments.net/reader033/viewer/2022041718/6253d217de323551ed20ed67/html5/thumbnails/9.jpg)
Junit + EasyMock
• JUnit for exercising methods
• EasyMock to simulate dependencies
• Easy to run within IDE – execute often!
One test class for each class implementation
• “UtilitiesTest” for “Utilities”, and so on
Image Credit: http://cmenness.hd.free.fr/webdoc/gwt-docs-20081026/html/GettingStartedJUnit.html
![Page 10: New Tools and Documentation](https://reader033.fdocuments.net/reader033/viewer/2022041718/6253d217de323551ed20ed67/html5/thumbnails/10.jpg)
Test for correct behavior
• Methods return correct results
Test for consistent behavior
• Methods interact with dependencies as expected
Found a bug? Write a unit test!
• Test fails – bug reproduced
• Test passes – bug resolved
![Page 11: New Tools and Documentation](https://reader033.fdocuments.net/reader033/viewer/2022041718/6253d217de323551ed20ed67/html5/thumbnails/11.jpg)
Redmine Issue Tracker
• http://www.redmine.org
• Browser based, hosted at UWB
Issue types:
• Bugs (deficiencies, flaws, opportunities, etc.)
• New Features / Enhancements
• Tasks
![Page 12: New Tools and Documentation](https://reader033.fdocuments.net/reader033/viewer/2022041718/6253d217de323551ed20ed67/html5/thumbnails/12.jpg)
Issue Management
Development
Build Automation
Unit Testing
Repository
![Page 13: New Tools and Documentation](https://reader033.fdocuments.net/reader033/viewer/2022041718/6253d217de323551ed20ed67/html5/thumbnails/13.jpg)
User’s Guide
• Theory of operation
• API documentation + Javadocs
• Using MASS
Developer’s Guide
• Project / IDE configuration
• Build instructions
Administrator’s Guide
• System administration
• System configuration
• Installation steps
![Page 14: New Tools and Documentation](https://reader033.fdocuments.net/reader033/viewer/2022041718/6253d217de323551ed20ed67/html5/thumbnails/14.jpg)
Revision
Control
• Git Repository - complete
• GitBlit – not started
Automation
• Maven – nearly complete
• Jenkins – nearly complete
Unit Testing
• Junit + EasyMock – “Utilities” complete
Issue Tracking
• Redmine – installation in progress
Documentation
• Docbook version started
![Page 15: New Tools and Documentation](https://reader033.fdocuments.net/reader033/viewer/2022041718/6253d217de323551ed20ed67/html5/thumbnails/15.jpg)
Check Redmine issue tracker for progress
(once operational)