Download presentation
Presentation is loading. Please wait.
Published byMalcolm Goodman Modified over 8 years ago
1
Anjana & Shankar September,2010 Introduction to Programming Tools
2
Contents Essentials tooling concepts in S/W development – Build system – Version Control System – Testing Tools – Continuous Integration – Issue Tracking
3
I want to run it too.. One member develops a prototype using an IDE Another member wants to run it on his machine Problem – Library paths are relative to original author's machine
4
We need a build system A build system? – A build system will help you to build your project without machine specific dependencies. – This will make it easy for every team member to build the project & see the results
5
Maven - Introduction Java based build tool from Apache Software Foundation – http://maven.apache.org Two generations – Maven 1 (maven) – Maven 2 (mvn) Cross Platform
6
Maven - Introduction More than a build tool – Software project management and comprehension tool – Build, reporting and documentation – Rich set of plugins http://maven.apache.org/plugins/index.html – Driven by predefined life cycle stages http://maven.apache.org/guides/introduction/introducti on-to-the-lifecycle.html
7
Installing Maven Download - http://maven.apache.org/download.html Extract to a folder – Eg: c:\tools\maven\2.1.0 Set environment variable M2_HOME=c:\tools\maven\2.1.0 Add %M2_HOME%\bin to PATH variable Open a new command window & type – mvn -v
8
Creating a project Archtype – http://maven.apache.org/guides/introduction/introduction-to- archetypes.html – mvn archetype:generate pom.xml – http://maven.apache.org/pom.html – Repositories – Dependencies – Plugins
9
Similar tools Apache Ant make,gnumake, nmake http://en.wikipedia.org/wiki/List_of_build_automation_software
10
Testing Important to understand what type of testing needs to be done before selecting a tool Testing approaches – Approach of boxes Black box White box Grey box – Integration Testing – Regression Testing – Acceptance Testing – Non Functional Testing – Destructive Testing http://en.wikipedia.org/wiki/Software_testing# Testing_methods
11
Testing automation tools Junit - http://www.junit.org/http://www.junit.org/ JMeter - http://jakarta.apache.org/jmeter/http://jakarta.apache.org/jmeter/ Selenium - http://seleniumhq.org/http://seleniumhq.org/
12
Similar tools xUnit (nUnit,JUnit,DBUnit) Apache Bench http://www.opensourcetesting.org
13
I changed the implementation... Now every team member has a running copy of the project Some have found issues in existing implementation & fixed those Some have added new features How to synchronise all of these changes? How to track these changes?
14
Source Code Management (SCM) Also known as, – Revision control – Version control Version Control System (VCS) Management of changes to documents Each change is associated with – revision number – timestamp – User Revision can be compared,restored, merged
15
Subversion (SVN) Free/Open-source version control system Central repository of files – Records every change done to a file checkout – getting files from server – svn://192.248.8.221/bsc10/cs3030/scratch – Username – your surname – Password – index number
16
Subversion (SVN) add/delete – mark files for addition/deletion check-in/commit – putting files to server update – get latest version merge – local changes & changes coming from server can be merged conflict – merge failed, overlapping changes blame/praise – find who made the change diff – find the differences
17
Subversion – demo Installing Subversion – not covered – http://svnbook.red-bean.com/en/1.1/ch01s05.html Client side – Command line client – GUI client Windows File Explorer - http://tortoisesvn.tigris.org/http://tortoisesvn.tigris.org/ IDE plug-ins – subclipse (for Eclipse) - http://subclipse.tigris.org – Intellij IDEA plug-in – ankhsvn (for Visual Studio) - http://ankhsvn.open.collab.nethttp://ankhsvn.open.collab.net – Net Beans - http://subversion.netbeans.org/
18
Similar tools git - http://git-scm.com CVS (Concurrent Version System) – Project home - http://www.cvshome.org/eng/http://www.cvshome.org/eng/ – Installation Guides (Windows) CVSNT (*inx) http://www.idevelopment.info/data/Programming/chang e_management/unix_cvs/PROGRAMMING_Installing_CVS.s html
19
Similar tools (commercial) Rational ClearCase ( http://www- 01.ibm.com/software/awdtools/clearcase ) Borland StarTeam ( http://www.borland.com/us/products/starteam/index.html ) Microsoft Visual SourceSafe ( http://msdn.microsoft.com/en-us/aa740435.aspx )
20
Continuous Integration (CI) Developers commit changes to VCS CI Server automatically picks changes & initiate build Faster feedback to your development process preventing bugs from piling up Generate statistics Provides more visibility
21
Continuous Integration Popular tools – Hudson https://hudson.dev.java.net Demo on installation & configuring a project to build automatically In action : http://hudson.zones.apache.org/hudson/ – Bamboo http://www.atlassian.com/software/bamboo – Cruise Control http://java-source.net/open-source/build-systems/cruise-control
22
Issue Tracking Systems Jira Bugzilla
23
JIRA Creating account Creating issues Assigning issues Commenting Worklog Subtask Resolving Dependency Administration
24
Summary Build systems Version control systems Testing tools Continuous integration tools Issue Tracking
25
Help If you have any questions on the topics I covered, drop us a mail @ bellow address. – anjana@wso2.com anjana@wso2.com – shankar@wso2.com
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.