Break It Before You Buy It!
|
|
- Arnold Gaines
- 8 years ago
- Views:
Transcription
1 Break It Before You Buy It! Test Driven Development and Continuous Integration Chris Hartjes -- CodeMash
2
3 Huge Sports Nerd
4
5 TL;DR
6 The Problem Build us a new fantasy games platform. Oh yeah, you re the only one who will be doing the work. Testing? Can t we just click around on the pages and tell you what we find?
7
8 The Solution Use a framework with a commitment to testing so writing tests will be easier Automate of as much stuff as I can Do some pragmatic TDD Create a great feedback loop
9 Test-driven development (TDD) is a software development process that relies on the repetition of a very short development cycle: first the developer writes a failing automated test case that defines a desired improvement or new function, then produces code to pass that test and finally refactors the new code to acceptable standards. Kent Beck, who is credited with having developed or 'rediscovered' the technique, stated in 2003 that TDD encourages simple designs and inspires confidence.
10 In software engineering, continuous integration (CI) implements continuous processes of applying quality control small pieces of effort, applied frequently. Continuous integration aims to improve the quality of software, and to reduce the time taken to deliver it, by replacing the traditional practice of applying quality control after completing all development.
11 Someone did a study... (summary of contents of study)
12 15% - 35% 40% - 90%
13 Pay now, or pay later, but YOU WILL PAY
14 Why do I use tests?
15 Make sure I m going in the right direction!
16 Our general process for rails upgrades is pretty consistent. First make the app load in the limited sense, avoiding occurrences of LoadError whilst starting rake. Focus on the minimum number of changes needed to get rake running, then unit, functional and integration tests. The goal is to have tests pass, not to convert to the newest API or experiment with new Rails 3 stuff. You only add what must be added to reach the goal.
17 I am not a Testing Zealot! (Simon The TDD Zealot)
18 I prefer to test things that are complicated 100% test coverage is nice but not practical I m starting to believe in BDD over TDD
19 Behavior driven development (or BDD) is an agile software development technique that encourages collaboration between developers, QA and non-technical or business participants in a software project. It was originally named in 2003 by Dan North as a response to Test Driven Development, including Acceptance Test or Customer Test Driven Development practices as found in Extreme Programming. It has evolved over the last few years.
20 BDD focuses on obtaining a clear understanding of desired software behaviour through discussion with stakeholders. It extends TDD by writing test cases in a natural language that non-programmers can read. Behavior-driven developers use their native language in combination with the ubiquitous language of domain driven design to describe the purpose and benefit of their code. This allows the developers to focus on why the code should be created, rather than the technical details, and minimizes translation between the technical language in which the code is written and the domain language spoken by the business, users, stakeholders, project management, etc.
21 Lettuce -- BDD using Python
22 BDD using PHPUnit <?php require_once 'PHPUnit/Extensions/Story/TestCase.php'; require_once 'BowlingGame.php'; class BowlingGameSpec extends PHPUnit_Extensions_Story_TestCase { /** */ public function scoreforonespareis16() { $this->given('new game') ->when('player rolls', 5) ->and('player rolls', 5) ->and('player rolls', 3) ->then('score should be', 16); } }?> //...
23 Your goal is to build the best application possible with the fewest bugs making it out into the real world
24 Automation is your secret weapon
25
26
27 TDD/BDD and CI add automation to your software development workflow.
28 What I Used PHP Zend Framework Python py.test + PHPUnit
29 public function teststatsbydaterange() { $expectedresults = unserialize(file_get_contents(test_path. '/fixtures/ rfs-1.txt')); $params = array( 'league' => 'testhockey', 'startdate' => ' ', 'enddate' => ' ' ); $this->rfs->getbydaterange($params); $results = $this->rfs->sortbyfantasypoints(); $this->asserttrue(count($results) > 0, 'Checking for results'); $this->assertequals($results, $expectedresults, 'Got expected result set'); $this->asserttrue(isset($results[0]['goals']), 'Checking for goals'); $this->asserttrue(isset($results[0]['assists']), 'Checking for assists'); }
30
31 import py import football_scoring def test_football_empty_data_set(): expected_points = 0 test_data = dict() assert expected_points == football_scoring.qb_points(test_data) assert expected_points == football_scoring.rb_points(test_data) assert expected_points == football_scoring.rec_points(test_data) assert expected_points == football_scoring.k_points(test_data) assert expected_points == football_scoring.def_points(test_data) def test_football_qb_points(): test_data = { 'league': 'football', 'yards': 300, 'interceptions': 1, 'touchdowns': 1, 'two_point_conversions': 1 } expected_points = 15 assert expected_points == football_scoring.qb_points(test_data)
32
33 So how can you test your PHP code and your Python code at the same time?
34
35 OR
36 Do you also want to do this every time the code changes?
37 What is the bare minimum required for continuous integration?
38 Hooks into your VCS
39 Automated running of your tests!
40 TELL ME WHAT WENT WRONG!
41 Buildbot (I highly recommend you read Jacob Kaplan-Moss series on his experiences using Buildbot for Django testing) PROS: It s Python. Infinitely flexible. CONS: It s Python. Infinitely flexible.
42 Cruise Control PROS: pioneer in CI solutions field, easy to find help CON: Unfriendly configuration, GUI shows it s age
43 Hudson (soon to be renamed Jenkins) PROS: Very easy configuration, awesome plugin ecosystem CON: Forces some conventions, writing plugins looks painful for Javaphobes
44 Can you guess which one I picked?
45 No screenshots of Hudson, that s just boring
46 Get yourself a server. Doesn t have to be powerful.
47 Configure it to be as close to your production setup as possible Web server Interpreter or VM Database server Support libraries Testing tools Test data
48 Configure your version control system to talk to Hudson every time you commit code.
49 Plugins I Use, YMMV Hudson Clover (for code coverage reports) Create Job Advanced (tells you who triggered the job) Hudson Extension (better support)
50 More Plugins I Use Subversion plugin xunit Plugin (to support PHPUnit reports)
51 Write a shell script to automatically run your tests for you
52 Brush Up On Your Shell Scripts mkdir /var/www/games-hudson/${build_id} cd ${WORKSPACE}/games /usr/local/zend/bin/php doctrine-cli migrate cd ${WORKSPACE}/games/tests /usr/local/zend/bin/phpunit --log-junit=${workspace}/build/logs/phpunit-results.xml cd ${WORKSPACE}/games/scripts /usr/bin/py.test --junitxml=${workspace}/build/logs/pytest-xmlrunner.xml cp -R /var/lib/hudson/jobs/${job_name}/workspace/games/* /var/www/games-hudson/${build_id} chmod -R 777 /var/www/games-hudson/${build_id}/public/images rm -rf /var/www/games-hudson/current ln -sf /var/www/games-hudson/${build_id} /var/www/games-hudson/current
53 Configure Hudson to send s every time you do a build
54 What Hudson Sends Me Games-Corpdraft - Build # Successful: Check console output at sekretserver.xmlteam.com:9999/job/games- Corpdraft/635/ to view the results. Changes for Build #635 [Chris Hartjes] Fixed date range for week 17
55 What Hudson Shows Me
56 What Hudson Shows Me Started by remote host Reverting svn+ssh://leafs.xmlteam.com/opt/repos/games/trunk Updating svn+ssh://leafs.xmlteam.com/opt/repos/games/trunk U application/configs/application.ini At revision 819 No s were triggered. [workspace] $ /bin/sh -xe /tmp/hudson sh + mkdir /var/www/games-hudson/ _ cd /var/lib/hudson/jobs/games-corpdraft/workspace/games + /usr/local/zend/bin/php doctrine-cli migrate <snipped weirdness from running migrations> + cd /var/lib/hudson/jobs/games-corpdraft/workspace/games/tests + /usr/local/zend/bin/phpunit --log-junit=/var/lib/hudson/jobs/games-corpdraft/workspace/build/logs/phpunit-results.xml PHPUnit by Sebastian Bergmann.... Time: 25 seconds, Memory: 32.25Mb [30;42m[2KOK (36 tests, 119 assertions) [0m[2K+ cd /var/lib/hudson/jobs/games-corpdraft/workspace/games/scripts
57 What Hudson Shows Me + /usr/bin/py.test --junitxml=/var/lib/hudson/jobs/games-corpdraft/workspace/build/logs/ pytest-xmlrunner.xml ============================= test session starts ============================== platform linux2 -- Python pytest test path 1: /var/lib/hudson/jobs/games-corpdraft/workspace/games/scripts test_baseball_scoring.py... test_football_scoring.py... generated xml file: /var/lib/hudson/jobs/games-corpdraft/workspace/build/logs/pytestxmlrunner.xml ========================== 11 passed in 0.07 seconds =========================== + cp -R /var/lib/hudson/jobs/games-corpdraft/workspace/games/application /var/lib/hudson/ jobs/games-corpdraft/workspace/games/build.xml /var/lib/hudson/jobs/games-corpdraft/ workspace/games/doctrine-cli /var/lib/hudson/jobs/games-corpdraft/workspace/games/ doctrine_generator.php /var/lib/hudson/jobs/games-corpdraft/workspace/games/imports /var/ lib/hudson/jobs/games-corpdraft/workspace/games/library /var/lib/hudson/jobs/games- Corpdraft/workspace/games/public /var/lib/hudson/jobs/games-corpdraft/workspace/games/ scripts /var/lib/hudson/jobs/games-corpdraft/workspace/games/tests /var/lib/hudson/jobs/ Games-Corpdraft/workspace/games/tmp /var/www/games-hudson/ _ chmod -R 777 /var/www/games-hudson/ _ /public/images + rm -rf /var/www/games-hudson/current + ln -sf /var/www/games-hudson/ _ /var/www/games-hudson/current Recording test results [xunit] [INFO] - Starting to record. [xunit] [INFO] - Processing PHPUnit-3.4 (default) [xunit] [INFO] - [PHPUnit-3.4 (default)] - 1 test report file(s) were found with the pattern 'build/logs/*-results.xml' relative to '/var/lib/hudson/jobs/games-corpdraft/workspace' for the testing framework 'PHPUnit-3.4 (default)'. [xunit] [INFO] - Converting '/var/lib/hudson/jobs/games-corpdraft/workspace/build/logs/ phpunit-results.xml'. [xunit] [INFO] - Stopping recording. was triggered for: Success Sending for trigger: Success Sending to: sekret@xmlteam.com Finished: SUCCESS
58 What Hudson Shows Me When I Break Something Games-Corpdraft - Build # Failure: Check console output at Games-Corpdraft/611/ to view the results. Changes for Build #611 [Chris Hartjes] Add category to league definition
59 What Hudson Shows Me When I Break Something
60
61
62 Your VCS strategies might have to change
63 Your deployment strategies might have to change.
64 The people testing your application might have to change
65 So why are we doing all this work to automate the process?
66 Remember This? 15% - 35% 40% - 90%
67
68 Questions? Comments? Hate TDD?
69 Thanks! Blog: Slides:
Agile Austin Dev SIG. June 2013 - Continuous Integration (CI)
Agile Austin Dev SIG June 2013 - Continuous Integration (CI) Special thanks to: Our hosts, BancVue, for their hospitality and meeting facilities. And to Agile Austin for providing lunch. * For more SIGs
More informationFail 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 informationMy DevOps Journey by Billy Foss, Engineering Services Architect, CA Technologies
About the author My DevOps Journey by Billy Foss, Engineering Services Architect, CA Technologies I am going to take you through the journey that my team embarked on as we looked for ways to automate processes,
More informationContinuous Integration
Continuous Integration WITH FITNESSE AND SELENIUM By Brian Kitchener briank@ecollege.com Intro Who am I? Overview Continuous Integration The Tools Selenium Overview Fitnesse Overview Data Dependence My
More informationSoftware 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 informationContinuous 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 informationContinuous 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 informationAgile Web Application Testing
Agile Web Application Testing Technologies and Solutions V. Narayan Raman Tyto Software Goals Rapid feedback on the quality of software Problem in Web App Testing Many Browsers Many Operating Systems Browsers
More informationBuilding, testing and deploying mobile apps with Jenkins & friends
Building, testing and deploying mobile apps with Jenkins & friends Christopher Orr https://chris.orr.me.uk/ This is a lightning talk which is basically described by its title, where "mobile apps" really
More informationExpert PHP 5 Tools. Proven enterprise development tools and best practices for designing, coding, testing, and deploying PHP applications.
Expert PHP 5 Tools Proven enterprise development tools and best practices for designing, coding, testing, and deploying PHP applications Dirk Merkel PUBLISHING -J BIRMINGHAM - MUMBAI Preface Chapter 1:
More informationCI:IRL. By Beth Tucker Long
CI:IRL By Beth Tucker Long Who am I? Beth Tucker Long (@e3betht) Editor in Chief php[architect] magazine Freelancer under Treeline Design, LLC Stay at home mom User group organizer Madison PHP Audience
More informationContinuous 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 informationPipeline Orchestration for Test Automation using Extended Buildbot Architecture
Pipeline Orchestration for Test Automation using Extended Buildbot Architecture Sushant G.Gaikwad Department of Computer Science and engineering, Walchand College of Engineering, Sangli, India. M.A.Shah
More informationdepl Documentation Release 0.0.1 depl contributors
depl Documentation Release 0.0.1 depl contributors December 19, 2013 Contents 1 Why depl and not ansible, puppet, chef, docker or vagrant? 3 2 Blog Posts talking about depl 5 3 Docs 7 3.1 Installation
More informationDRUPAL CONTINUOUS INTEGRATION. Part I - Introduction
DRUPAL CONTINUOUS INTEGRATION Part I - Introduction Continuous Integration is a software development practice where members of a team integrate work frequently, usually each person integrates at least
More informationWe (http://www.newagesolution.net) have extensive experience in enterprise and system architectures, system engineering, project management, and
We (http://www.newagesolution.net) have extensive experience in enterprise and system architectures, system engineering, project management, and software design and development. We will be presenting a
More informationRake Task Management Essentials
Rake Task Management Essentials Andrey Koleshko Chapter No. 8 "Testing Rake Tasks" In this package, you will find: A Biography of the author of the book A preview chapter from the book, Chapter NO.8 "Testing
More informationYou 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 informationResearch Data Management CODING
CODING Coding When writing software or analytical code it is important that others and your future self can understand what the code is doing. published 10 steps that they regard as the Best Practices
More informationTesting 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 informationJenkins 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 informationAgile.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 informationWeb Development with Grails
Agile Web Development with Grails spkr.name = 'Venkat Subramaniam' spkr.company = 'Agile Developer, Inc.' spkr.credentials = %w{programmer Trainer Author} spkr.blog = 'agiledeveloper.com/blog' spkr.email
More informationStriderCD Book. Release 1.4. Niall O Higgins
StriderCD Book Release 1.4 Niall O Higgins August 22, 2015 Contents 1 Introduction 3 1.1 What Is Strider.............................................. 3 1.2 What Is Continuous Integration.....................................
More informationjenkins, drupal & testing automating every phing! miggle
jenkins, drupal & testing automating every phing! about me > Drupal dev for 6+ years > PHP dev for 10+ years > Husband > Cyclist > Frustrated rockstar @8ballmedia aims > Encourage best practices > Ensure
More informationWindmill. Automated Testing for Web Applications
Windmill Automated Testing for Web Applications Demo! Requirements Quickly build regression tests Easily debug tests Run single test on all target browsers Easily fit in to continuous integration Other
More informationContinuous 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 informationSoftware Automated Testing
Software Automated Testing Keyword Data Driven Framework Selenium Robot Best Practices Agenda ² Automation Engineering Introduction ² Keyword Data Driven ² How to build a Test Automa7on Framework ² Selenium
More informationGit Branching for Continuous Delivery
Git Branching for Continuous Delivery Sarah Goff-Dupont Automation Enthusiast Hello everyone I ll be talking about how teams at Atlassian use Git branches for continuous delivery. My name is Sarah, and
More informationThe Bazaar Version Control System. Michael Hudson, Canonical Ltd michael.hudson@canonical.com
The Bazaar Version Control System Michael Hudson, Canonical Ltd michael.hudson@canonical.com What is Bazaar? Bazaar is a Distributed Version Control System (DVCS) You probably know what a VCS is by now:
More informationThe Deployment Production Line
The Deployment Production Line Jez Humble, Chris Read, Dan North ThoughtWorks Limited jez.humble@thoughtworks.com, chris.read@thoughtworks.com, dan.north@thoughtworks.com Abstract Testing and deployment
More informationContinuous Integration and Automatic Testing for the FLUKA release using Jenkins (and Docker)
Continuous Integration and Automatic Testing for the FLUKA release using Jenkins (and Docker) Vittorio BOCCONE DECTRIS Ltd. 5405 Baden-Daettwil Switzerland www.dectris.com Definitions Continuous Integration
More informationLive 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 informationZero-Touch Drupal Deployment
Zero-Touch Drupal Deployment Whitepaper Date 25th October 2011 Document Number MIG5-WP-D-004 Revision 01 1 Table of Contents Preamble The concept Version control Consistency breeds abstraction Automation
More informationTesting Rails. by Josh Steiner. thoughtbot
Testing Rails by Josh Steiner thoughtbot Testing Rails Josh Steiner April 10, 2015 Contents thoughtbot Books iii Contact us................................ iii Introduction 1 Why test?.................................
More informationSurvey of Unit-Testing Frameworks. by John Szakmeister and Tim Woods
Survey of Unit-Testing Frameworks by John Szakmeister and Tim Woods Our Background Using Python for 7 years Unit-testing fanatics for 5 years Agenda Why unit test? Talk about 3 frameworks: unittest nose
More informationTrend Micro Worry- Free Business Security 8.0. 1 st time setup Tips & Tricks
Trend Micro Worry- Free Business Security 8.0 WFBS installation best practise, preparations and how to Preparation for 2008 Server IIS: Configuring the required Internet Information Services (IIS) roles
More informationFaculty of Science and Technology MASTER S THESIS
Faculty of Science and Technology MASTER S THESIS Study program/ Specialization: Spring semester, 2015 Computer Science Open / Restricted access Writer: Heine Furubotten Faculty supervisor: Hein Meling
More informationEnable Your Automated Web App Testing by WebDriver. Yugang Fan Intel
Enable Your Automated Web App Testing by WebDriver Yugang Fan Intel Agenda Background Challenges WebDriver BDD Behavior Driven Test Architecture Example WebDriver Based Behavior Driven Test Summary Reference
More informationVersion control. HEAD is the name of the latest revision in the repository. It can be used in subversion rather than the latest revision number.
Version control Version control is a powerful tool for many kinds of work done over a period of time, including writing papers and theses as well as writing code. This session gives a introduction to a
More informationGetting started with API testing
Technical white paper Getting started with API testing Test all layers of your composite applications, not just the GUI Table of contents Executive summary... 3 Introduction... 3 Who should read this document?...
More informationTesting in a Mobile World
White Paper Testing in a Mobile World April 2014 Share this White Paper Contents Introduction 3 1. Testing in agile projects 4 2. Testing tools 6 3. Testing practices 10 4. Testing as a service 14 Conclusion
More informationBuild 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 informationThe 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 informationA 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 informationMarathonITE. GUI Testing for Java/Swing Applications
MarathonITE GUI Testing for Java/Swing Applications Overview Test automation is not a sprint... it is a marathon Test Automation As the applications in today s environment grow more complex, the testing
More informationUsing a login script for deployment of Kaspersky Network Agent to Mac OS X clients
Using a login script for deployment of Kaspersky Network Agent to Mac OS X clients EXECUTIVE SUMMARY This document describes how an administrator can configure a login script to deploy Kaspersky Lab Network
More informationA Technology Based Solution to Move Client Server Applications to Java /.NET in Native 3-Tier Web Code Structures
A Technology Based Solution to Move Client Server Applications to Java /.NET in Native 3-Tier Web Code Structures Accelerated Application Modernization (AAM) Page 1 of 16 Table of Contents TABLE OF CONTENTS...
More informationDelivering Quality Software with Continuous Integration
Delivering Quality Software with Continuous Integration 01 02 03 04 Unit Check- Test Review In 05 06 07 Build Deploy Test In the following pages we will discuss the approach and systems that together make
More informationSponsored by: Speaker: Brian Madden, Independent Industry Analyst and Blogger
THIN CLIENT OPTIONS Sponsored by: Speaker: Brian Madden, Independent Industry Analyst and Blogger Brian Madden: Hello. My name is Brian Madden, and welcome to Part 2 of our threepart video series about
More informationTEST AUTOMATION FRAMEWORK
TEST AUTOMATION FRAMEWORK Twister Topics Quick introduction Use cases High Level Description Benefits Next steps Twister How to get Twister is an open source test automation framework. The code, user guide
More informationAutomated Integration Testing & Continuous Integration for webmethods
WHITE PAPER Automated Integration Testing & Continuous Integration for webmethods Increase your webmethods ROI with CloudGen Automated Test Engine (CATE) Shiva Kolli CTO CLOUDGEN, LLC NOVEMBER, 2015 EXECUTIVE
More informationKnow 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 informationDelivery. Continuous. Jez Humble and David Farley. AAddison-Wesley. Upper Saddle River, NJ Boston Indianapolis San Francisco
Continuous Delivery Jez Humble and David Farley AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris Madrid Cape Town Sydney Tokyo Singapore
More informationOptimizing Your Software Process
Optimizing Your Software Process Software Configuration Management Best Practices Executive Summary Software configuration management (SCM) comprises of factors such as compliance, workflow, security,
More informationContinuous???? Copyright 2015 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.
???? 1 Copyright 2015 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. Application Delivery is Accelerating Surge in # of releases per app
More informationCase 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 informationGLOBAL CONSULTING SERVICES TOOLS FOR WEBMETHODS. 2015 Software AG. All rights reserved. For internal use only
GLOBAL CONSULTING SERVICES TOOLS FOR WEBMETHODS CONSULTING TOOLS VALUE CREATING ADD-ONS REDUCE manual effort time effort risk 6 READY-TO- USE TOOLS MORE COMING SOON SIMPLE PRICING & INSTALLATION INCREASE
More informationImplementing Continuous Integration Testing Prepared by:
Implementing Continuous Integration Testing Prepared by: Mr Sandeep M Table of Contents 1. ABSTRACT... 2 2. INTRODUCTION TO CONTINUOUS INTEGRATION (CI)... 3 3. CI FOR AGILE METHODOLOGY... 4 4. WORK FLOW...
More informationAgile 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 informationTest Driven Development with Continuous Integration: A Literature Review
Test Driven Development with Continuous Integration: A Literature Review Sheikh Fahad Ahmad Deptt. of Computer Science & Engg. Mohd. Rizwan Beg Deptt. of Computer Science & Engg. Mohd. Haleem Deptt. of
More informationImplementing PHP Application Deployment Best Practices. A Zend Technical White Paper by Eric Ritchie, Zend Technologies
Implementing PHP Application Deployment Best Practices A Zend Technical White Paper by Eric Ritchie, Zend Technologies August 2013 Introduction Once an afterthought, if thought of at all, an efficient
More informationAdd Feedback Workflow
Add Feedback Workflow Add Feedback Collection workflow to a list or library The workflows included with SharePoint products are features that you can use to automate your business processes, making them
More informationMSWL 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 informationContinuous Integration: Put it at the heart of your development
Continuous Integration: Put it at the heart of your development Susan Duncan Tools Product Manager, Oracle 1 Program Agenda What is CI? What Does It Mean To You? Make it Hudson Evolving Best Practice For
More informationTest Driven Development Part III: Continuous Integration Venkat Subramaniam venkats@agiledeveloper.com http://www.agiledeveloper.com/download.
Test Driven Development Part III: Continuous Integration Venkat Subramaniam venkats@agiledeveloper.com http://www.agiledeveloper.com/download.aspx Abstract In this final part of the three part series on
More informationHere is a quick diagram of the ULV SSO/Sync Application. Number 3 is what we deal with in this document.
University of La Verne Single-SignOn Project How this Single-SignOn thing is built, the requirements, and all the gotchas. Kenny Katzgrau, August 25, 2008 Contents: Pre-requisites Overview of ULV Project
More informationContinuous Integration
CODING & DEVELOPMENT BORIS GORDON FEBRUARY 7 2013 Continuous Integration Introduction About me boztek on d.o. (http://drupal.org/user/134410) @boztek boris@previousnext.com.au 2 Introduction About you
More informationHow to Outsource Without Being a Ninnyhammer
How to Outsource Without Being a Ninnyhammer 5 mistakes people make when outsourcing for profit By Jason Fladlien 2 Introduction The way everyone does outsourcing is patently wrong, and this report is
More informationJonathan Worthington Scarborough Linux User Group
Jonathan Worthington Scarborough Linux User Group Introduction What does a Virtual Machine do? Hides away the details of the hardware platform and operating system. Defines a common set of instructions.
More informationThe Hitchhiker's Guide to Mobile Apps Test Automation Galaxy
The Hitchhiker's Guide to Mobile Apps Test Automation Galaxy TenKod EZ TestApp Technology Sales office TenKod Ltd. Table of Contents Abstract... 3 Test Automation for Mobile Apps Challenges and PAINS...
More informationImage Credit: http://www.flickr.com/photos/warquel/3397541204/
1 2 3 4 Image Credit: http://www.flickr.com/photos/warquel/3397541204/ 5 Fully manual hit build in your IDE of choice and then manually copy files from the developers machine Easy and simple But never
More informationVersion Control Your Jenkins Jobs with Jenkins Job Builder
Version Control Your Jenkins Jobs with Jenkins Job Builder Abstract Wayne Warren wayne@puppetlabs.com Puppet Labs uses Jenkins to automate building and testing software. While we do derive benefit from
More informationContinuous 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 informationTest Driven Development
Test Driven Development Introduction Test Driven development (TDD) is a fairly recent (post 2000) design approach that originated from the Extreme Programming / Agile Methodologies design communities.
More informationJUnit. 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 informationSource Code Management for Continuous Integration and Deployment. Version 1.0 DO NOT DISTRIBUTE
Source Code Management for Continuous Integration and Deployment Version 1.0 Copyright 2013, 2014 Amazon Web Services, Inc. and its affiliates. All rights reserved. This work may not be reproduced or redistributed,
More informationThe care of open source creatures. Vincent Sanders
The care of open source creatures Vincent Sanders What am I on about? An examination of: What a services a project ought to have What options exist to fulfil those requirements A practical look at some
More informationby khoaofgod@yahoo.com http://www.facebook.com/khoab
phpfastcache V2 by khoaofgod@yahoo.com http://www.facebook.com/khoab Website: http://www.phpfastcache.com Github: https://github.com/khoaofgod/phpfastcache 1. What s new in version 2.0? To take advantage
More informationSOFTWARE TESTING TRAINING COURSES CONTENTS
SOFTWARE TESTING TRAINING COURSES CONTENTS 1 Unit I Description Objectves Duration Contents Software Testing Fundamentals and Best Practices This training course will give basic understanding on software
More informationHudson Continous Integration Server. Stefan Saasen, stefan@coravy.com
Hudson Continous Integration Server Stefan Saasen, stefan@coravy.com Continous Integration Software development practice Members of a team integrate their work frequently Each integration is verified by
More informationTroubleshooting PHP Issues with Zend Server Code Tracing
White Paper: Troubleshooting PHP Issues with Zend Server Code Tracing Technical January 2010 Table of Contents Introduction... 3 What is Code Tracing?... 3 Supported Workflows... 4 Manual Workflow... 4
More informationSoftware 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 informationBrakeman and Jenkins: The Duo Detects Defects in Ruby on Rails Code
Brakeman and Jenkins: The Duo Detects Defects in Ruby on Rails Code Justin Collins Tin Zaw AppSec USA September 23, 2011 About Us Justin Collins - @presidentbeef Tin Zaw - @tzaw Our Philosophy: Light Touch
More informationWorkshop for WebLogic introduces new tools in support of Java EE 5.0 standards. The support for Java EE5 includes the following technologies:
Oracle Workshop for WebLogic 10g R3 Hands on Labs Workshop for WebLogic extends Eclipse and Web Tools Platform for development of Web Services, Java, JavaEE, Object Relational Mapping, Spring, Beehive,
More informationA 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 informationIncreasing frequency of releases to every week down from quarterly major releases
Continuous Delivery with Go enables an 87% improvement in release time, 85% reduction in test time and ROI of 6x in one of Germany s largest consumer portals. Increasing frequency of releases to every
More informationCamilyo APS package by Techno Mango Service Provide Deployment Guide Version 1.0
Camilyo APS package by Techno Mango Service Provide Deployment Guide Version 1.0 Contents Introduction... 3 Endpoint deployment... 3 Endpoint minimal hardware requirements:... 3 Endpoint software requirements:...
More informationContinuous 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 informationTwo-Way Data Binding with WinJS By Marcin Kawalerowicz and Craig Berntson, authors of Continuous Integration in.net
1 Two-Way Data Binding with WinJS By Marcin Kawalerowicz and Craig Berntson, authors of Continuous Integration in.net One of the keys to improving applications and productivity is to automate some of the
More informationUpping 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 informationCONTINUOUS INTEGRATION
CONTINUOUS INTEGRATION REALISING ROI IN SOFTWARE DEVELOPMENT PROJECTS In the following pages we will discuss the policies and systems that together make up the process called Continuous Integration. This
More informationCreating a dynamic software deployment solution using free/libre software
Creating a dynamic software deployment solution using free/libre software LinuxTag 2014 08.05.2014 Mattias Giese Solutions Architect for Systems Management and Monitoring giese@b1-systems.de - Linux/Open
More informationImplementation Guide:
Zend Blueprint for Continuous Delivery Implementation Guide: Jenkins and server by Slavey Karadzhov Implementation Guide: Jenkins and Zend Server This pattern contains instructions on how to implement
More informationMapping Business Process Modeling constructs to Behavior Driven Development Ubiquitous Language
Mapping Business Process Modeling constructs to Behavior Driven Development Ubiquitous Language Rogerio Atem de Carvalho, Fernando Luiz de Carvalho e Silva, Rodrigo Soares Manhaes Emails: ratem@iff.edu.br,
More informationInteractive Module Uploading & Maintaining Websites
Interactive Module Jason Mayo jason@madebyshape.co.uk This slideshow plus files used today, will be placed on: http://interactivesalford2012.tumblr.com Talking about... Preparing for Upload Domains Hosting
More informationUnit 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 informationIntroduction. Created by Richard Bell 10/29/2014
Introduction GNU Radio is open source software that provides built in modules for standard tasks of a wireless communications system. Within the GNU Radio framework is gnuradio-companion, which is a GUI
More informationExtending Tizen Native Framework with Node.js
Extending Tizen Native Framework with Node.js Nishant Deshpande Hyunju Shin Ph.D. Samsung Electronics Contents Native or Web? Why JavaScript, Node.js? Proposed Architecture Sample Applications Going Forward
More informationDJANGOCODERS.COM THE PROCESS. Core strength built on healthy process
DJANGOCODERS.COM THE PROCESS This is a guide that outlines our operating procedures and coding processes. These practices help us to create the best possible software products while ensuring a successful
More information