Testing: Python, Java, Groovy, etc.

Size: px
Start display at page:

Download "Testing: Python, Java, Groovy, etc."

Transcription

1 Testing: Python, Java, Groovy, etc. Prof Russel Winder xmpp: Copyright 2012 Russel Winder 1

2 Aims, Goals and Objects Look at some practical aspects of testing with Python, Java, and Groovy. Consider some of the practical positives and negatives of using test-driven development. Possibly look at coverage as a useful tool for programmers. If time permits. And a dangerous weapon in the hands of ignorant managers. Copyright 2012 Russel Winder 2

3 Structure Introduction. First part. Short break. Second part. Conclusion. Copyright 2012 Russel Winder 3

4 Protocol Questions or short comments during the sessions are entirely in order. Let me know you have an interjection by raising your hand, and when I come to an appropriate pause, I'll pass you the token. Questions, answers, comments, etc. appearing to get too long as interjections may get stacked to be unstacked at a break. Copyright 2012 Russel Winder 4

5 Introduction Copyright 2012 Russel Winder 5

6 Russel Winder Theoretical Physicist: quarks, strangeness, and charm. UNIX systems programmer. Academic at UCL: parallel programming, HCI, psychology of programming. Professor of Computing Science at KCL: health informatics, parallel programming. Head of Department. Starter of start-ups. Independent consultant, analyst, author, expert witness, trainer. Copyright 2012 Russel Winder 6

7 Interstitial Advertisement Copyright 2012 Russel Winder 7

8 Projects Gant GroovyBalls GPars GFontBrowser SCons Pi_Quadrature GroovyFX Sleeping_Barber Groovy Gradle OK, so it's all open source. Copyright 2012 Russel Winder 8

9 Testing RW Historically The FORTRAN years. The C years. Early Smalltalk and C++ years. The Fortran years. Early Java years. Test-driven Development (TDD) hegemony. Feature-Driven Development (FDD). Behaviour-driven Development (BDD). extreme Programming Copyright 2012 Russel Winder 9

10 A Personal Epiphany C codes needs testing. C is very difficult re testing. Use Python as long as the C is in a dynamically linked library (aka shared object). Copyright 2012 Russel Winder 10

11 The Two Parts Copyright 2012 Russel Winder 11

12 The Terms Unit test. Integration test. System test. Acceptance test. Smoke test. Mutation test. Copyright 2012 Russel Winder 12

13 Unit Test Test the functions and methods for correct behaviour. May well require use of mocks. Copyright 2012 Russel Winder 13

14 Integration Test Test that combination of bits of the system collaborate in correct ways. Probably needs some use of mocks. Copyright 2012 Russel Winder 14

15 System Test Test that the system as a whole works as expected. No mocks at all. Smoke test a pre-test to ensure it is worth running all the tests. Copyright 2012 Russel Winder 15

16 Acceptance Test Test that the purchaser makes to be happy with the system as delivered. Used to be crucial, now contracts are usually not for one-off items, but for annual support. Copyright 2012 Russel Winder 16

17 Code under Test Copyright 2012 Russel Winder 17

18 The Tools Test frameworks: Unit testing Integration testing System testing. Programming language specific. Acceptance testing usually uses a different sort of tool, FitNesse for example. Copyright 2012 Russel Winder 18

19 Testing: A Backdrop Testing as we know it today has its roots in extreme Programming. Smalltalk sunit Python PyUnit (aka unittest) C++ cppunit, Java JUnit Every language created one or many xunit variants on the assumption it was The right thing to do even when it wasn't. Copyright 2012 Russel Winder 19

20 The xunit Legacy xunit is fundamentally grounded in dynamic languages reflection required. Static languages like C++ need a very different approach, hence CUTE, Catch, using template meta-programming (aka compile time reflection). Static languages like Java, can use annotations still reflection based but better. Copyright 2012 Russel Winder 20

21 In the Python-sphere PyUnit, aka unittest py.test, aka PyTest Nose, aka nose There are many others but the above are the ones that matter. Copyright 2012 Russel Winder 21

22 In the JVM-sphere Java: Groovy JUnit3 GroovyTestCase JUnit4 JUnit3 in disguise TestNG Spock Scala Clojure ScalaTest clojure.test ScalaCheck Midje Specs2 lazytest Kotlin, Ceylon, Jython, JRuby, Copyright 2012 Russel Winder 22

23 Being In Control For all software developments always use a version control system. Given DVCSs such as Git, Mercurial, Bazaar, there are no excuses for not managing development with a version control system. Distributed version control system. Copyright 2012 Russel Winder 23

24 Individuals / Teams Single developer projects need no other tools. Multi-developer projects need more infrastructure. Copyright 2012 Russel Winder 24

25 Continuous Integration A process via which all tests are run for all commits to the mainline repository. A continuous integration server monitors the mainline repository. Copyright 2012 Russel Winder 25

26 Team Workflow Deployment Server Continuous delivery Continuous deployment Developer Developer Mainline Repository System Test Server Developer Developer Developer Continuous Integration Copyright 2012 Russel Winder 26

27 Buildbot FOSS continuous integration framework written in Python: Single master. Multiple slaves Copyright 2012 Russel Winder 27

28 Atlassian Bamboo Commercial continuous integration server, free to FOSS organizations, e.g. Codehaus Copyright 2012 Russel Winder 28

29 JetBrains TeamCity Commercial continuous integration server. Free support for FOSS projects. Cloudy. Copyright 2012 Russel Winder 29

30 The Process Fix CUT Green Red New Test Refactor Copyright 2012 Russel Winder 30

31 Test-driven Development Never amend your code unless you have a failing test. Unless the change is a refactoring. Run all your tests often. Copyright 2012 Russel Winder 31

32 Refactoring Ensure there are no pending commits prior to a refactoring. Run all the tests immediately before a refactoring ensure you get a green. Run all the tests immediately after a refactoring ensure you get a green. If a refactoring leads to a red, back out of all the changes. Run the tests and ensure you get a green. Copyright 2012 Russel Winder 32

33 Unit Testing and Mocks System testing done within a constrained real system not live. Unit and integration testing needs to disconnect from some resources. Copyright 2012 Russel Winder 33

34 A short Monty Python moment Copyright 2012 Russel Winder 34

35 Copyright 2012 Russel Winder 35

36 A Short Coding Dojo Copyright 2012 Russel Winder 36

37 Conclusion Copyright 2012 Russel Winder 37

38 Testing It's what programmers do. Copyright 2012 Russel Winder 38

39 Version Control It's the way programmers work. Copyright 2012 Russel Winder 39

40 Interstitial Advertisement Copyright 2012 Russel Winder 40

41 Testing: Python, Java, Groovy, etc. Prof Russel Winder xmpp: Copyright 2012 Russel Winder 41

Code Quality Assurance. Peter Kofler, Code Cop FH Technikum Wien, February 2010

Code Quality Assurance. Peter Kofler, Code Cop FH Technikum Wien, February 2010 Code Quality Assurance Peter Kofler, Code Cop FH Technikum Wien, February 2010 2 Peter Kofler Ph.D. (Appl. Math.) Professional Software Developer for 11 years Lead Developer at System One fanatic about

More information

Fail early, fail often, succeed sooner!

Fail early, fail often, succeed sooner! Fail early, fail often, succeed sooner! Contents Beyond testing Testing levels Testing techniques TDD = fail early Automate testing = fail often Tools for testing Acceptance tests Quality Erja Nikunen

More information

JUnit. Introduction to Unit Testing in Java

JUnit. Introduction to Unit Testing in Java JUnit Introduction to Unit Testing in Java Testing, 1 2 3 4, Testing What Does a Unit Test Test? The term unit predates the O-O era. Unit natural abstraction unit of an O-O system: class or its instantiated

More information

Continuous Delivery. Alejandro Ruiz

Continuous Delivery. Alejandro Ruiz Continuous Delivery Alejandro Ruiz True reality How the customer explained it How the project leader understood it How the analyst designed it How the programmer wrote it What the customer really needed

More information

Continuous Integration

Continuous Integration Continuous Integration Collaborative development issues Checkout of a shared version of software ( mainline ) Creation of personal working copies of developers Software development: modification of personal

More information

Introduction and Agenda

Introduction and Agenda Continuous Integration a brief introduction to creating quality software continuously presented by Introduction and Agenda Andy Painter, Davisbase Consulting 15+ years in software development. 5+ years

More information

Open Source HTTP testing tool. Stefane Fermigier <sf@nuxeo.com>

Open Source HTTP testing tool. Stefane Fermigier <sf@nuxeo.com> > Introducing FunkLoad Open Source HTTP testing tool Stefane Fermigier Tests If it's not tested, it's broken Bruce Eckel, Thinking in Java, 3rd edition Copyright 2005 Nuxeo 2 Where do we

More information

Software Continuous Integration & Delivery

Software Continuous Integration & Delivery November 2013 Daitan White Paper Software Continuous Integration & Delivery INCREASING YOUR SOFTWARE DEVELOPMENT PROCESS AGILITY Highly Reliable Software Development Services http://www.daitangroup.com

More information

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation Practicing Continuous Delivery using Hudson Winston Prakash Oracle Corporation Development Lifecycle Dev Dev QA Ops DevOps QA Ops Typical turn around time is 6 months to 1 year Sprint cycle is typically

More information

Agile ALM. Lightweight tools and Agile strategies MANNING MICHAEL HUTTERMANN. Shelter Island

Agile ALM. Lightweight tools and Agile strategies MANNING MICHAEL HUTTERMANN. Shelter Island Agile ALM Lightweight tools and Agile strategies MICHAEL HUTTERMANN II MANNING Shelter Island contents preface xv acknowledgments about this book xix xvii about the cover illustration xxv *art 1 Introduction

More information

Advanced Software Testing

Advanced Software Testing Johan Seland Advanced Software Testing Geilo Winter School 2013 1 Solution Example for the Bowling Game Kata Solution is in the final branch on Github git clone git://github.com/johanseland/bowlinggamekatapy.git

More information

Continuous Delivery for Alfresco Solutions. Satisfied customers and happy developers with!! Continuous Delivery!

Continuous Delivery for Alfresco Solutions. Satisfied customers and happy developers with!! Continuous Delivery! Continuous Delivery for Alfresco Solutions Satisfied customers and happy developers with!! Continuous Delivery! About me Roeland Hofkens #rhofkens roeland.hofkens@westernacher.com http://opensource.westernacher.com

More information

Agile Testing. 2015 Intelliware Development Inc. BC Holmes @bcholmesdotorg

Agile Testing. 2015 Intelliware Development Inc. BC Holmes @bcholmesdotorg Agile Testing BC Holmes @bcholmesdotorg What you ll learn in this presentation: Why do we use Agile testing? What Agile testing isn t What Agile testing is: unit testing and test-driven development (TDD)

More information

Case Studies of Free Test Tools Successful Test Tool Use without a Big Budget

Case Studies of Free Test Tools Successful Test Tool Use without a Big Budget Case Studies of Free Test Tools Successful Test Tool Use without a Big Budget Introduction Tools are great except when they re not Gee-whiz tools often have gee-whiz price tags to go with them Okay, free

More information

Continuous Integration with Jenkins. Coaching of Programming Teams (EDA270) J. Hembrink and P-G. Stenberg [dt08jh8 dt08ps5]@student.lth.

Continuous Integration with Jenkins. Coaching of Programming Teams (EDA270) J. Hembrink and P-G. Stenberg [dt08jh8 dt08ps5]@student.lth. 1 Continuous Integration with Jenkins Coaching of Programming Teams (EDA270) J. Hembrink and P-G. Stenberg [dt08jh8 dt08ps5]@student.lth.se Faculty of Engineering, Lund Univeristy (LTH) March 5, 2013 Abstract

More information

Testing Python. Applying Unit Testing, TDD, BDD and Acceptance Testing

Testing Python. Applying Unit Testing, TDD, BDD and Acceptance Testing Brochure More information from http://www.researchandmarkets.com/reports/2755225/ Testing Python. Applying Unit Testing, TDD, BDD and Acceptance Testing Description: Fundamental testing methodologies applied

More information

Build management & Continuous integration. with Maven & Hudson

Build management & Continuous integration. with Maven & Hudson Build management & Continuous integration with Maven & Hudson About me Tim te Beek tim.te.beek@nbic.nl Computer science student Bioinformatics Research Support Overview Build automation with Maven Repository

More information

Tech Radar - May 2015

Tech Radar - May 2015 Tech Radar - May 2015 Or how Obecto is staying fresh and current with new technologies and tools, while maintaining its focus on the industry standards. This is our May 15 edition of the Obecto Tech Radar.

More information

Tools, Trends and Techniques for Developing Scientific Software

Tools, Trends and Techniques for Developing Scientific Software Tools, Trends and Techniques for Developing Scientific Software Tom Clune - NASA GSFC Brice Womack - NASA/NGC-TASC Brian Foote - The Refactory, Inc. Jeffrey Overbey - University of Illinois ASTG Advanced

More information

<Insert Picture Here> What's New in NetBeans IDE 7.2

<Insert Picture Here> What's New in NetBeans IDE 7.2 Slide 1 What's New in NetBeans IDE 7.2 The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated

More information

Break It Before You Buy It!

Break It Before You Buy It! Break It Before You Buy It! Test Driven Development and Continuous Integration Chris Hartjes -- CodeMash 2011 -- @chartjes http://www.littlehart.net/atthekeyboard Huge Sports Nerd TL;DR The Problem Build

More information

Topic relevant selected content from the highest rated entries, typeset, printed and shipped.

Topic relevant selected content from the highest rated entries, typeset, printed and shipped. Topic relevant selected content from the highest rated entries, typeset, printed and shipped. Combine the advantages of up-to-date and in-depth knowledge with the convenience of printed books. A portion

More information

Getting Started. UC Santa Barbara Setup public repository (GitHub, Bitbucket) Identify workflow: https://www.atlassian.

Getting Started. UC Santa Barbara Setup public repository (GitHub, Bitbucket) Identify workflow: https://www.atlassian. Getting Started Setup public repository (GitHub, Bitbucket) Identify workflow: https://www.atlassian.com/git/workflows Suggested: feature branch, gitflow Git branching basics: http://git-scm.com/book/en/git-branching-basic-branching-and-merging

More information

Java in Web 2.0. Alexis Roos Principal Field Technologist, CTO Office OEM SW Sales Sun Microsystems, Inc.

Java in Web 2.0. Alexis Roos Principal Field Technologist, CTO Office OEM SW Sales Sun Microsystems, Inc. Java in Web 2.0 Alexis Roos Principal Field Technologist, CTO Office OEM SW Sales Sun Microsystems, Inc. 1 Agenda Java overview Technologies supported by Java Platform to create Web 2.0 services Future

More information

How To Write Unit Tests In A Continuous Integration

How To Write Unit Tests In A Continuous Integration Continuous Integration bjorn.boisschot@ctg.com 1. It works on my machine. Risk 1 Lack of Deployable Software Risk 2 Lack of project visibility 2011 CTG, Inc. 9 2011 CTG, Inc. 10 Risk 3 Low quality

More information

Continuous integration with Jenkins CI

Continuous integration with Jenkins CI Continuous integration with Jenkins CI Vojtěch Juránek JBoss - a division by Red Hat 17. 2. 2012, Developer conference, Brno Vojtěch Juránek (Red Hat) Continuous integration with Jenkins CI 17. 2. 2012,

More information

MSWL Development & Tool. Eclipse IDE

MSWL Development & Tool. Eclipse IDE MSWL Development & Tool Eclipse IDE Micael Gallego micael.gallego@urjc.es Escuela Técnica Superior de MSWL: Official Master's Program on Libre Ingeniería Informática Software - Development Tools Departamento

More information

Kevin Lee Technical Consultant kevin.lee@uk.ibm.com. As part of a normal software build and release process

Kevin Lee Technical Consultant kevin.lee@uk.ibm.com. As part of a normal software build and release process Agile SCM: Realising Continuous Kevin Lee Technical Consultant kevin.lee@uk.ibm.com Agenda What is Continuous? Continuous in Context As part of a normal software build and release process Realising Continuous

More information

Advanced Test-Driven Development

Advanced Test-Driven Development Corporate Technology Advanced Test-Driven Development Software Engineering 2007 Hamburg, Germany Peter Zimmerer Principal Engineer Siemens AG, CT SE 1 Corporate Technology Corporate Research and Technologies

More information

Live Specifications: From Requirements to Automated Tests and Back

Live Specifications: From Requirements to Automated Tests and Back Live Specifications: From Requirements to Automated Tests and Back Paul Gerrard paul@gerrardconsulting.com @paul_gerrard gerrardconsulting.com We believe there are better ways to build software Intelligent

More information

Agile.NET Development Test-driven Development using NUnit

Agile.NET Development Test-driven Development using NUnit Agile.NET Development Test-driven Development using NUnit Jason Gorman Test-driven Development Drive the design and construction of your code on unit test at a time Write a test that the system currently

More information

The Agile Movement An introduction to agile software development

The Agile Movement An introduction to agile software development The Agile Movement An introduction to agile software development 1 The Agile Movement An introduction to agile software development Russell Sherwood @russellsherwood & David Sale @saley89 Agenda Who are

More information

Self-review 9.3 What is PyUnit? PyUnit is the unit testing framework that comes as standard issue with the Python system.

Self-review 9.3 What is PyUnit? PyUnit is the unit testing framework that comes as standard issue with the Python system. Testing, Testing 9 Self-Review Questions Self-review 9.1 What is unit testing? It is testing the functions, classes and methods of our applications in order to ascertain whether there are bugs in the code.

More information

Build Automation for Mobile. or How to Deliver Quality Apps Continuously. Angelo Rüggeberg

Build Automation for Mobile. or How to Deliver Quality Apps Continuously. Angelo Rüggeberg Build Automation for Mobile or How to Deliver Quality Apps Continuously Angelo Rüggeberg Things to remember Publishing your App should not be painfull Angelo Rüggeberg Code Quality Matters Angelo Rüggeberg

More information

Smarter Testing With Spock

Smarter Testing With Spock Smarter Testing With Spock Peter Niederwieser Principal Engineer,Gradleware What we ll talk about Spock?! State Based Testing Data Driven Testing Interaction Based Testing Spock Extensions More Cool Stuff

More information

Jenkins Continuous Build System. Jesse Bowes CSCI-5828 Spring 2012

Jenkins Continuous Build System. Jesse Bowes CSCI-5828 Spring 2012 Jenkins Continuous Build System Jesse Bowes CSCI-5828 Spring 2012 Executive summary Continuous integration systems are a vital part of any Agile team because they help enforce the ideals of Agile development

More information

Continuous Integration and Delivery at NSIDC

Continuous Integration and Delivery at NSIDC National Snow and Ice Data Center Supporting Cryospheric Research Since 1976 Continuous Integration and Delivery at NSIDC Julia Collins National Snow and Ice Data Center Cooperative Institute for Research

More information

How To Implement Continuous Integration

How To Implement Continuous Integration A Taming of the Tornado Using Ants on a Mobius Strip by M.C. Escher Outline Integration Hell Software Development Nirvana What is Continuous Integration? Implementing Continuous Integration CI Toolbox

More information

Continuous Delivery Maturity Model

Continuous Delivery Maturity Model Continuous Delivery Maturity Model Continuous Delivery is a software development approach that enables teams to always have releasable code in stock. Through the means of automation and extensive tool

More information

CPSC 330 Software Engineering

CPSC 330 Software Engineering CPSC 330 Software Engineering Lecture 4: Unit ing, JUnit, and Software Development Processes Today Unit ing and JUnit Software Development Processes (as time allows) Reading Assignment Lifecycle handout

More information

Test-Driven Development

Test-Driven Development Test-Driven Development An Introduction Mattias Ståhlberg mattias.stahlberg@enea.com Debugging sucks. Testing rocks. Contents 1. What is unit testing? 2. What is test-driven development? 3. Example 4.

More information

Continuous Integration

Continuous Integration LT-QAI Torch Talk: Continuous Integration Marc @dfki.de DFKI Language Technology Lab, Saarbrücken and Berlin, Germany What do I mean by Torch Talk? Idea to increase the frequency of

More information

November 12 th 13 th London: Mastering Continuous Integration with Jenkins

November 12 th 13 th London: Mastering Continuous Integration with Jenkins 1. Course Objectives Students will walk away with a solid understanding of how to implement a Continuous Integration (CI) environment, including: Setting up a production-grade instance of a Jenkins server,

More information

CSE 373: Data Structure & Algorithms Lecture 25: Programming Languages. Nicki Dell Spring 2014

CSE 373: Data Structure & Algorithms Lecture 25: Programming Languages. Nicki Dell Spring 2014 CSE 373: Data Structure & Algorithms Lecture 25: Programming Languages Nicki Dell Spring 2014 What is a Programming Language? A set of symbols and associated tools that translate (if necessary) collections

More information

Paul Barham (pabarham@microsoft.com) Program Manager - Java. David Staheli (dastahel@microsoft.com) Software Development Manager - Java

Paul Barham (pabarham@microsoft.com) Program Manager - Java. David Staheli (dastahel@microsoft.com) Software Development Manager - Java Paul Barham (pabarham@microsoft.com) Program Manager - Java David Staheli (dastahel@microsoft.com) Software Development Manager - Java to empower every person and every organization on the planet to achieve

More information

TeamCity A Professional Solution for Delivering Quality Software, on Time

TeamCity A Professional Solution for Delivering Quality Software, on Time TeamCity A Professional Solution for Delivering Quality Software, on Time Vaclav Pech Senior Software Developer JetBrains, Inc. About Us Vaclav Pech Professional software developer for 9 years IntelliJ

More information

Beginners guide to continuous integration. Gilles QUERRET Riverside Software

Beginners guide to continuous integration. Gilles QUERRET Riverside Software Beginners guide to continuous integration Gilles QUERRET Riverside Software About the speaker Working with Progress and Java since 10 years Started Riverside Software 7 years ago Based in Lyon, France

More information

Fully Leverage Agile Test Automation Technical Success and Return on Investment

Fully Leverage Agile Test Automation Technical Success and Return on Investment Fully Leverage Agile Test Automation Technical Success and Return on Investment Introduction Give me a place to stand, and a lever long enough, and I will move the world. In Agile, the place to stand is

More information

Software Construction

Software Construction Software Construction Martin Kropp University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems Learning Target You can explain the importance of continuous integration

More information

TE TER. Continuous testing and delivery. number 21. SUBSCRIBE It s FREE for testers. Including articles by: Roy de Kleijn Polteq.

TE TER. Continuous testing and delivery. number 21. SUBSCRIBE It s FREE for testers. Including articles by: Roy de Kleijn Polteq. TE TER SUBSCRIBE It s FREE for testers Essential for software Continuous testing and delivery Including articles by: Bogdan Bereza VictO Roy de Kleijn Polteq Mark Lehky Jessica Schiffmann Prism Informatics

More information

Get Your Project Back In Shape! How A Few Techniques Can Change Your (Project s) Life

Get Your Project Back In Shape! How A Few Techniques Can Change Your (Project s) Life Get Your Project Back In Shape! How A Few Techniques Can Change Your (Project s) Life About me Founder and director of objektfabrik Business Informatics (Banking) Smalltalk since 1996 (VA Smalltalk, VisualWorks,

More information

Mastering Continuous Integration with Jenkins

Mastering Continuous Integration with Jenkins 1. Course Objectives Students will walk away with a solid understanding of how to implement a Continuous Integration (CI) environment with Jenkins, including: Setting up a production-grade instance of

More information

http://www.wakaleo.com john.smart@wakaleo.com Java Software Quality Tools and techniques

http://www.wakaleo.com john.smart@wakaleo.com Java Software Quality Tools and techniques Wakaleo Consulting O p t i m i z i n g y o u r s o f t w a r e d e v e l o p m e n t http://www.wakaleo.com john.smart@wakaleo.com Java Software Quality Tools and techniques 1 Introduction Agenda tools

More information

XP and TDD. Extreme Programming and Test Driven Development. Bertrand Meyer, Manuel Oriol Andreas Leitner. Chair of Software Engineering ETH Zurich

XP and TDD. Extreme Programming and Test Driven Development. Bertrand Meyer, Manuel Oriol Andreas Leitner. Chair of Software Engineering ETH Zurich XP and TDD Extreme Programming and Test Driven Development Bertrand Meyer, Manuel Oriol Andreas Leitner ETH Zurich October 27, 2006 Outline Development Processes Overview Extreme Programming Test Driven

More information

Software infrastructure for Java development projects

Software infrastructure for Java development projects Tools that can optimize your development process Software infrastructure for Java development projects Presentation plan Software Development Lifecycle Tools What tools exist? Where can tools help? Practical

More information

Continuous Integration and Bamboo. Ryan Cutter CSCI 5828 2012 Spring Semester

Continuous Integration and Bamboo. Ryan Cutter CSCI 5828 2012 Spring Semester Continuous Integration and Bamboo Ryan Cutter CSCI 5828 2012 Spring Semester Agenda What is CI and how can it help me? Fundamentals of CI Fundamentals of Bamboo Configuration / Price Quick example Features

More information

Beginner s guide to continuous integration. Gilles QUERRET Riverside Software

Beginner s guide to continuous integration. Gilles QUERRET Riverside Software Beginner s guide to continuous integration Gilles QUERRET Riverside Software About the speaker Working with Progress and Java since 10 years Started Riverside Software 5 years ago Based in Lyon, France

More information

soapui Product Comparison

soapui Product Comparison soapui Product Comparison soapui Pro what do I get? soapui is a complete TestWare containing all feautres needed for Functional Testing of your SOA. soapui Pro has added aditional features for the Enterprise

More information

Practical continuous deployment

Practical continuous deployment Practical continuous deployment Who Am I? Steve Smith! An Atlassian for 8+ years! Original company sysadmin! Developer for last 5 years! Now working out of Amsterdam! Not a professional speaker Who Am

More information

Unit Testing webmethods Integrations using JUnit Practicing TDD for EAI projects

Unit Testing webmethods Integrations using JUnit Practicing TDD for EAI projects TORRY HARRIS BUSINESS SOLUTIONS Unit Testing webmethods Integrations using JUnit Practicing TDD for EAI projects Ganapathi Nanjappa 4/28/2010 2010 Torry Harris Business Solutions. All rights reserved Page

More information

Effektiver Tool-Einsatz

Effektiver Tool-Einsatz Effektiver Tool-Einsatz für Scrum-Projekte im Java-Umfeld Agile Softwareentwicklung Werte, Prinzipien, Methoden und Prozesse 13. OBJEKTspektrum Information Days 29. April 2010, München Gerhard Müller,

More information

Agile Techniques and Tools. White Paper

Agile Techniques and Tools. White Paper Agile Techniques and Tools White Paper Agile Techniques and Tools Synopsis This section provides an overview of a number of techniques and tools that are commonly used by agile development teams. These

More information

Jenkins User Conference Herzelia, July 5 2012 #jenkinsconf. Testing a Large Support Matrix Using Jenkins. Amir Kibbar HP http://hp.

Jenkins User Conference Herzelia, July 5 2012 #jenkinsconf. Testing a Large Support Matrix Using Jenkins. Amir Kibbar HP http://hp. Testing a Large Support Matrix Using Jenkins Amir Kibbar HP http://hp.com/go/oo About Me! 4.5 years with HP! Almost 3 years System Architect! Out of which 1.5 HP OO s SA! Before that a Java consultant

More information

You ll need to have: It d be great if you have:

You ll need to have: It d be great if you have: DevOps We re looking for a Development Operations Developer with a passion for experimentation. If you re interested in helping us build the future of mobile healthcare, this job is for you. A strong background

More information

<Insert Picture Here> Introducing Hudson. Winston Prakash. Click to edit Master subtitle style

<Insert Picture Here> Introducing Hudson. Winston Prakash. Click to edit Master subtitle style Introducing Hudson Click to edit Master subtitle style Winston Prakash What is Hudson? Hudson is an open source continuous integration (CI) server. A CI server can do various tasks

More information

Open Source vs. Collaborative Software: FOSS is Not Enough

Open Source vs. Collaborative Software: FOSS is Not Enough Open Source vs. Collaborative Software: FOSS is Not Enough Peter F. Peterson Much of the software at user facilities is developed is released by making the source code available and decorated with one

More information

Continuous integration @ Keylane

Continuous integration @ Keylane Continuous integration @ Keylane 1 Keylane Software for pension funds In the business since 2005 Working mostly on EU market 2 1 Teams Around 30 developers and project managers Divided in 10 teams Mostly

More information

BEST WEB PROGRAMMING LANGUAGES TO LEARN ON YOUR OWN TIME

BEST WEB PROGRAMMING LANGUAGES TO LEARN ON YOUR OWN TIME BEST WEB PROGRAMMING LANGUAGES TO LEARN ON YOUR OWN TIME System Analysis and Design S.Mohammad Taheri S.Hamed Moghimi Fall 92 1 CHOOSE A PROGRAMMING LANGUAGE FOR THE PROJECT 2 CHOOSE A PROGRAMMING LANGUAGE

More information

Python Testing with unittest, nose, pytest

Python Testing with unittest, nose, pytest Python Testing with unittest, nose, pytest Efficient and effective testing using the 3 top python testing frameworks Brian Okken This book is for sale at http://leanpub.com/pythontesting This version was

More information

Gothenburg 2015. Mainframe and Continuous Integration. Jan Marek Jan.Marek@ca. com. CA Technologies. Session S610

Gothenburg 2015. Mainframe and Continuous Integration. Jan Marek Jan.Marek@ca. com. CA Technologies. Session S610 Jan Marek Jan.Marek@ca. com CA Technologies Session S610 Mainframe and Continuous Integration Agenda Introduce continuous integration concept What problem we were facing Overview of the solution Examples

More information

GETTING STARTED WITH CONTINUOUS DELIVERY. Lana Kalashnyk @lana_vk wcgp.co

GETTING STARTED WITH CONTINUOUS DELIVERY. Lana Kalashnyk @lana_vk wcgp.co GETTING STARTED WITH CONTINUOUS DELIVERY Lana Kalashnyk @lana_vk wcgp.co ABOUT ME Lana Kalashnyk BAAS Computer Science minor Business Administration AS in Computer Science emphasis on Networking Cisco

More information

Continuous Integration/Testing and why you should assume every change breaks your code

Continuous Integration/Testing and why you should assume every change breaks your code MÜNSTER Continuous Integration/Testing and why you should assume every change breaks your code René Milk 4th November 2015 MÜNSTER Continuous Integration/Testing 2 /16 Not talking about C functions Continuous

More information

EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH CERN ACCELERATORS AND TECHNOLOGY SECTOR

EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH CERN ACCELERATORS AND TECHNOLOGY SECTOR EUROPEAN ORGANIZATION FOR NUCLEAR RESEARCH CERN ACCELERATORS AND TECHNOLOGY SECTOR CERN-ATS-2011-213 THE SOFTWARE IMPROVEMENT PROCESS - TOOLS AND RULES TO ENCOURAGE QUALITY K. Sigerud, V. Baggiolini, CERN,

More information

Viewpoint. Choosing the right automation tool and framework is critical to project success. - Harsh Bajaj, Technical Test Lead ECSIVS, Infosys

Viewpoint. Choosing the right automation tool and framework is critical to project success. - Harsh Bajaj, Technical Test Lead ECSIVS, Infosys Viewpoint Choosing the right automation tool and framework is critical to project success - Harsh Bajaj, Technical Test Lead ECSIVS, Infosys Introduction Organizations have become cognizant of the crucial

More information

ARCHITECTURE OF THE PROASENSE DEVELOPMENT ENVIRONMENT

ARCHITECTURE OF THE PROASENSE DEVELOPMENT ENVIRONMENT ARCHITECTURE OF THE PROASENSE DEVELOPMENT ENVIRONMENT Deliverable nº: D6.1 EC-GA Number: 612329 Project full title: The Proactive Sensing Enterprise Work Package: Type of document: WP6 Deliverable Date:

More information

The red hat enterprise linux developer program

The red hat enterprise linux developer program Program Guide The red hat enterprise linux developer program access essential resources and an ecosystem of experts to develop great applications Key benefits Collaborate with a passionate developer community

More information

Improving Software Quality with the Continuous Integration Server Hudson. Dr. Ullrich Hafner Avaloq Evolution AG 8911

Improving Software Quality with the Continuous Integration Server Hudson. Dr. Ullrich Hafner Avaloq Evolution AG 8911 Improving Software Quality with the Continuous Integration Server Hudson Dr. Ullrich Hafner Avaloq Evolution AG 8911 AGENDA 2 > INTRODUCTION TO CI AND HUDSON > USING STATIC ANALYSIS IN PROJECTS > DEMO

More information

Continuous Integration

Continuous Integration Continuous Integration Sébastien Besson Open Microscopy Environment Wellcome Trust Centre for Gene Regulation & Expression College of Life Sciences, University of Dundee Dundee, Scotland, UK 1 Plan 1.

More information

Know the Difference. Unified Functional Testing (UFT) and Lean Functional Testing (LeanFT) from HP

Know the Difference. Unified Functional Testing (UFT) and Lean Functional Testing (LeanFT) from HP Know the Difference Unified Functional Testing (UFT) and Lean Functional Testing (LeanFT) from HP 1 Copyright 2015 Hewlett-Packard Development Company, L.P. The information contained herein is subject

More information

A Pythonic Approach to Continuous Delivery

A Pythonic Approach to Continuous Delivery https://github.com/sebastianneubauer sebastian.neubauer@blue-yonder.com A Pythonic Approach to Continuous Delivery Sebastian Neubauer Europython 2015 Overview What is Continuous Delivery? definitions,

More information

Continuous Integration Northwestern University. Evanston, Illinois November 2012. The Business of IT www.parivedasolutions.com

Continuous Integration Northwestern University. Evanston, Illinois November 2012. The Business of IT www.parivedasolutions.com Continuous Integration Northwestern University Evanston, Illinois November 2012 The Business of IT www.parivedasolutions.com Top 6 reasons students say they join the Pariveda team 1. Clearly defined career

More information

Oracle Communications WebRTC Session Controller: Basic Admin. Student Guide

Oracle Communications WebRTC Session Controller: Basic Admin. Student Guide Oracle Communications WebRTC Session Controller: Basic Admin Student Guide Edition 1.0 April 2015 Copyright 2015, Oracle and/or its affiliates. All rights reserved. Disclaimer This document contains proprietary

More information

Coding in Industry. David Berry Director of Engineering Qualcomm Cambridge Ltd

Coding in Industry. David Berry Director of Engineering Qualcomm Cambridge Ltd Coding in Industry David Berry Director of Engineering Qualcomm Cambridge Ltd Agenda Potted history Basic Tools of the Trade Test Driven Development Code Quality Performance Open Source 2 Potted History

More information

Towards Software Configuration Management for Test-Driven Development

Towards Software Configuration Management for Test-Driven Development Towards Software Configuration Management for Test-Driven Development Tammo Freese OFFIS, Escherweg 2, 26121 Oldenburg, Germany tammo.freese@offis.de Abstract. Test-Driven Development is a technique where

More information

Jenkins: The Definitive Guide

Jenkins: The Definitive Guide Jenkins: The Definitive Guide John Ferguson Smart O'REILLY8 Beijing Cambridge Farnham Koln Sebastopol Tokyo Table of Contents Foreword xiii Preface xv 1. Introducing Jenkins 1 Introduction 1 Continuous

More information

Continuous Integration: A case study

Continuous Integration: A case study Continuous Integration: A case study Vaibhav Kothari Talentica Software (I) Pvt ltd 1 Abstract Developer s dilemma QA s dilemma Continuous Integration? Case study What is accomplished? Benefits of CI Recommended

More information

<Insert Picture Here> TDD on a Coherence project

<Insert Picture Here> TDD on a Coherence project TDD on a Coherence project Jon Hall - Oracle UK Consulting jonathan.hall@oracle.com Disclaimer The following is intended to outline general product use and direction. It is intended

More information

JavaScript Applications for the Enterprise: From Empty Folders to Managed Deployments. George Bochenek Randy Jones

JavaScript Applications for the Enterprise: From Empty Folders to Managed Deployments. George Bochenek Randy Jones JavaScript Applications for the Enterprise: From Empty Folders to Managed Deployments George Bochenek Randy Jones Enterprise Development What is it? Source Control Project Organization Unit Testing Continuous

More information

An Introduction to text-based test automation and the TextTest tool

An Introduction to text-based test automation and the TextTest tool An Introduction to text-based test automation and the TextTest tool Contentions 1. That there are circumstances where xunit-style testing isn t the best choice. 2. That the text-based approach is an obvious

More information

Upping the game. Improving your software development process

Upping the game. Improving your software development process Upping the game Improving your software development process John Ferguson Smart Principle Consultant Wakaleo Consulting Email: john.smart@wakaleo.com Web: http://www.wakaleo.com Twitter: wakaleo Presentation

More information

Client Overview. Engagement Situation. Key Requirements

Client Overview. Engagement Situation. Key Requirements Client Overview Our client is a global leader in mobile and digital advertising technology. Their unified monetization platform combines an ad server and a real-time bidding ad exchange to help publishers

More information

Tes$ng Web Applica$ons. Willem Visser RW334

Tes$ng Web Applica$ons. Willem Visser RW334 Tes$ng Web Applica$ons Willem Visser RW334 Overview Tes$ng Theory Tes$ng Web Apps Tools A test consists of The Basics Input Expected output (also called the Oracle) White Box Tes$ng Considering the code

More information

A central continuous integration platform

A central continuous integration platform A central continuous integration platform Agile Infrastructure use case and future plans Dec 5th, 2014 1/3 The Agile Infrastructure Use Case By Stefanos Georgiou What? Development practice Build better

More information

Software Testing with Python

Software Testing with Python Software Testing with Python Magnus Lyckå Thinkware AB www.thinkware.se EuroPython Conference 2004 Chalmers, Göteborg, Sweden 2004, Magnus Lyckå In the next 30 minutes you should... Learn about different

More information

Real-world Java 4 beginners. Dima, Superfish github.com/dimafrid

Real-world Java 4 beginners. Dima, Superfish github.com/dimafrid Real-world Java 4 beginners Dima, Superfish github.com/dimafrid Real world Hundreds of computations per second Each computation of sub-second latency Massive IO Lots of data In Web/Trading/Monitoring/Cellular/etc./etc.

More information

Erlang in E-Commerce and Banking

Erlang in E-Commerce and Banking Erlang in E-Commerce and Banking or Painless Payment Processing by Erik Stenman CTO, Kreditor Europe AB Creative Payment Solutions The business model: Kreditor Bring trust to Internet shopping. Bring old

More information

sveltest: A testing language

sveltest: A testing language Look familiar? sveltest: A testing language Kaitlin Huben (Project Manager) Emily Hsia (Language Guru) Josh Lieberman (System Architect) Chris So (System Integrator) Mandy Swinton (Verifier and Validator)

More information

BDD in Action. Building Software Right Building the Right Software

BDD in Action. Building Software Right Building the Right Software BDD in Action Building Software Right Building the Right Software Miyamoto Musashi Japan 1584 1645 Consultant Trainer Mentor Author Speaker Coder John Ferguson Smart What is BDD A typical BDD workflow

More information

Waratek Cloud VM for Java. Technical Architecture Overview

Waratek Cloud VM for Java. Technical Architecture Overview Waratek Cloud VM for Java Technical Architecture Overview White Paper No. 12062400 June 2012 COPYRIGHT Copyright 2012 Waratek Limited. All Rights Reserved. June 2012 RESTRICTED RIGHTS LEGEND Information

More information