Python Unit Testing and CI Workflow. Tim Scott, Python Meetup 11/07/17
|
|
- Milton Moody
- 5 years ago
- Views:
Transcription
1 Python Unit Testing and CI Workflow Tim Scott, Python Meetup 11/07/17
2 A Little About Me Started as a CoOp Engineer ( ) and Design Engineer at Adtran ( ) Currently work at Abaco Systems as Lead System Software Engineer Passionate about software quality and automation I blog about software automation and developer efficiency at (this presentation can be found there) Connect with me LinkedIn ( Twitter (@tscott_87)
3 What is a unit test? Unittesting example What is mock? Mock Example Continuous integration overview Docker Outline
4 What is a Unit Test? White-box test against your code (tests functions, internal logic, etc.) Automated test Tests a unit - a function/a class Good practice: Write a very small piece of code Run unit tests Repeat
5 Why Should You Care?
6
7
8
9 Other Reasons Why You Should Care Manual testing takes a lot more time than an automated test It is much easier to run an automated test than a manual test others are more likely to use it. Continuous integration servers can be used to verify the tests pass after every commit.
10 And Even More Reasons (srsly, you should do this) Automated tests are repeatable. Automated tests can be improved upon (since they are repeatable). Automated testing prevents skipping testing because it s a simple change. Potentially increases job satisfaction. Read about my first unit test experience:
11 How to Write a Python Unit Test 1. Determine a function/behavior/file to test. 2. Create a test_*.py file. 3. In that test file, import unittest. 4. Create a class that inherits from unittest.testcase 5. Create a function in that class that starts with test_[test_case_title] 6. Use a unittest check or assertion function (discussed later)
12 Running the Unit Tests Install nose2 (or use a common environment - discussed later) Go to the directory that contains all your tests, or the directory above it Run nose2
13 Now for a Very Simple Example... def add(num1, num2): return num1 + num2
14 Now for the test import unittest from add import add class TestAdd(unittest.TestCase): def test_add_two_and_three_equals_five(self): self.assertequal(add(2, 3), 5)
15 Running the Test
16 What About a Failure?
17
18 Some Testing Functions Given by unittest assertequal assertnotequal asserttrue assertfalse assertraises assertraisesregexp
19 Unit Testing is great...
20
21 I m Gonna Mock Your World Mock library: replace any API call with a fake object Really easy to do Fake out interactions with OS calls, network accesses, and many, many other things
22 Typical Usage Import the patch function: from unittest.mock import patch Patch a function (a decorator for your test ) Your test function gets an extra argument - the MagicMock object: def test_something(self, mock_my_func): Do stuff with your mock object
23 Some Things You Can Do With MagicMock called (was the object called?) assert_called_with (was the object called with given arguments?) return_value (when called, this is what is returns) side_effect (raise an exception when called, return something different each time when called, call another function when called)
24 Revisiting our add function - now file_add def file_add(file1, file2): num1 = int(open(file1, "r").read()) num2 = int(open(file2, "r").read()) return num1 + num2
25 We Could Test with a File import unittest from add import file_add class TestAdd(unittest.TestCase): def test_file_add_two_and_three_equals_five(self): self.assertequal(file_add("file1.txt", "file2.txt"), 5)
26 Caveats Opening from a file is slow What happens if the test file doesn t exist? Do you really care if the Python open function gets tested? There s a better way...
27 import unittest from unittest.mock import patch from add import file_add class def test_file_add_two_and_three_equals_five(self, mock_open): mock_open.return_value.read.side_effect = ("2", "3") self.assertequal(file_add("mock_file_1", "mock_file_2"), 5)
28 What exactly did we mock? mock_open.return_value.read.side_effect open(file1, "r").read() Whenever read is called, it uses side_effect instead. It will be 2 the first time then 3.
29 What Else Might Be Mocked? Accessing something over the network Other os calls Refactoring legacy code (for instance, in a really long function that calls lots of other functions) Database access
30 If We Didn t Have the mock library... May have to create an extra interface class Much harder to test existing code without changing it first Spend a lot more time faking something out This is a strength of Python being a dynamic language
31 Warning! Be Careful with Mocks... Your mock is only as accurate as you make it. If we had returned ints rather than strings in our open mock, we could hide a bug. Higher-level tests such as system tests are good for testing these interactions and dependencies
32 Next Up: Continuous Integration and Docker
33 Jenkins Automation server with web interface Has jobs that do work Can check out code from source repository and build/test it
34 Workflow with Jenkins Commit code to your source repo Jenkins automatically builds a job when that commit occurs That job checks out your code then runs your unit tests Report code coverage/other metrics It can send s if the build fails Makes unit testing much more valuable - every commit runs your test suite and notifies you of failures
35 Workflow with Jenkins Source Control 2. SC tells Jenkins a commit occurred 1. Commit code Your dev machine 5. Your code is automatically tested, and you are notified of results 3. Jenkins starts a job, part of which pulls code from SC (then builds/tests code) Jenkins Server 4. Jenkins may send an through the server
36 Now for Some Jenkins Features...
37
38
39
40
41 More Jenkins Resources Jenkins website: Installing Jenkins (running in a Docker container) and creating your first job: Running a job when code gets committed in Git: s/ Jenkinsfile:
42 But the Build Environment Is Different! We need to install nose2, but suppose we had several other libraries and dependencies to install? Introducing...
43 Docker Kind of like a VM that launches very quickly Does not save state (start from fresh beginning environment every time it is launched) Great for deploying a service (or multiple services) with a defined environment
44 Run the Same Image on Dev Machine and Build Server 1. Start with an image that has Python 3 2. nose2 in it (and other dependencies you need) 3. Host that Docker image on a local repo 4. On the build server and your dev machine, install Docker and docker-compose. 5. Use a docker command to run the unit tests on both the build server and your dev machine.
45 Docker with Build Server and Dev Machine 1. Create Docker image then push to Docker repo Your dev machine Docker Repo 3. Later, developer Bob wants to run your tests. He uses the same Docker image. Another dev machine 2. Later, after a commit, Jenkins starts a job and pulls down that Docker image Build Server
46 More Docker Resources Docker website: What is Docker? Rest example that uses docker-compose for unit testing and system testing: t-1/ t-3/
47 Questions?
Python Mock Tutorial Documentation
Python Mock Tutorial Documentation Release 0.1 Javier Collado Nov 14, 2017 Contents 1 Introduction 3 2 Mock 5 2.1 What is a mock object?.......................................... 5 2.2 What makes mock
More informationaiounittest Documentation
aiounittest Documentation Release 1.1.0 Krzysztof Warunek Sep 23, 2017 Contents 1 What? Why? Next? 1 1.1 What?................................................... 1 1.2 Why?...................................................
More informationCSCA08 Winter Week 12: Exceptions & Testing. Marzieh Ahmadzadeh, Brian Harrington University of Toronto Scarborough
CSCA08 Winter 2018 Week 12: Exceptions & Testing Marzieh Ahmadzadeh, Brian Harrington University of Toronto Scarborough Administrative stuff We ll have a surprise for you: An extra exercise! You don t
More informationUsing GitHub to Share with SparkFun a
Using GitHub to Share with SparkFun a learn.sparkfun.com tutorial Available online at: http://sfe.io/t52 Contents Introduction Gitting Started Forking a Repository Committing, Pushing and Pulling Syncing
More informationVersion Control. Collaborating with git. Tim Frasier
Version Control Collaborating with git Tim Frasier Copyright Tim Frasier 2015 This work is licensed under the Creative Commons Attribution 4.0 International license. Click here for more information. Setting
More informationCASE STUDY IT. Albumprinter Adopting Redgate DLM
CASE STUDY IT Albumprinter Adopting Redgate DLM "Once the team saw they could deploy all their database changes error-free at the click of a button, with no more manual scripts, it spread by word of mouth.
More informationTesting, code coverage and static analysis. COSC345 Software Engineering
Testing, code coverage and static analysis COSC345 Software Engineering Outline Various testing processes ad hoc / formal / automatic Unit tests and test driven development Code coverage metrics Integration
More informationWhat is version control? (discuss) Who has used version control? Favorite VCS? Uses of version control (read)
1 For the remainder of the class today, I want to introduce you to a topic we will spend one or two more classes discussing and that is source code control or version control. What is version control?
More informationCOMP1730/COMP6730 Programming for Scientists. Testing and Debugging.
COMP1730/COMP6730 Programming for Scientists Testing and Debugging. Overview * Testing * Debugging * Defensive Programming Overview of testing * There are many different types of testing - load testing,
More informationBuild & Launch Tools (BLT) Automating best practices for enterprise sites
Build & Launch Tools (BLT) Automating best practices for enterprise sites Who are you? Matthew Grasmick @grasmash on Drupal.org, twitter, etc. Acquia Professional Services, 4yrs Drupalist, 9yrs Maintainer
More informationpytest-benchmark Release 2.5.0
pytest-benchmark Release 2.5.0 September 13, 2015 Contents 1 Overview 3 1.1 pytest-benchmark............................................ 3 2 Installation 7 3 Usage 9 4 Reference 11 4.1 pytest_benchmark............................................
More informationdjango-dynamic-db-router Documentation
django-dynamic-db-router Documentation Release 0.1.1 Erik Swanson August 24, 2016 Contents 1 Table of Contents 3 1.1 Installation................................................ 3 1.2 Quickstart................................................
More informationAZURE CONTAINER INSTANCES
AZURE CONTAINER INSTANCES -Krunal Trivedi ABSTRACT In this article, I am going to explain what are Azure Container Instances, how you can use them for hosting, when you can use them and what are its features.
More informationDISQUS. Continuous Deployment Everything. David
DISQUS Continuous Deployment Everything David Cramer @zeeg Continuous Deployment Shipping new code as soon as it s ready (It s really just super awesome buildbots) Workflow Commit (master) Integration
More informationprojecto Documentation
projecto Documentation Release 0.0.1 Projecto Team September 08, 2014 Contents 1 Part I: Projecto Overview 3 1.1 Features.................................................. 3 1.2 Project Layout..............................................
More informationSunil Shah SECURE, FLEXIBLE CONTINUOUS DELIVERY PIPELINES WITH GITLAB AND DC/OS Mesosphere, Inc. All Rights Reserved.
Sunil Shah SECURE, FLEXIBLE CONTINUOUS DELIVERY PIPELINES WITH GITLAB AND DC/OS 1 Introduction MOBILE, SOCIAL & CLOUD ARE RAISING CUSTOMER EXPECTATIONS We need a way to deliver software so fast that our
More informationJenkins: A complete solution. From Continuous Integration to Continuous Delivery For HSBC
Jenkins: A complete solution From Integration to Delivery For HSBC Rajesh Kumar DevOps Architect @RajeshKumarIN www.rajeshkumar.xyz Agenda Why Jenkins? Introduction and some facts about Jenkins Supported
More informationgit-pr Release dev2+ng5b0396a
git-pr Release 0.2.1.dev2+ng5b0396a Mar 20, 2017 Contents 1 Table Of Contents 3 1.1 Installation................................................ 3 1.2 Usage...................................................
More informationContinuous Integration / Continuous Testing
Bitte decken Sie die schraffierte Fläche mit einem Bild ab. Please cover the shaded area with a picture. (24,4 x 7,6 cm) Continuous Integration / Continuous Testing IIC What s SW Integration? Integration
More informationYammer Product Manager Homework: LinkedІn Endorsements
BACKGROUND: Location: Mountain View, CA Industry: Social Networking Users: 300 Million PART 1 In September 2012, LinkedIn introduced the endorsements feature, which gives its users the ability to give
More informationHandel-CodePipeline Documentation
Handel-CodePipeline Documentation Release 0.0.6 David Woodruff Dec 11, 2017 Getting Started 1 Introduction 3 2 Installation 5 3 Tutorial 7 4 Using Handel-CodePipeline 11 5 Handel-CodePipeline File 13
More informationCORD How to build a POD and automate deployments. #OpenCORD
CORD How to build a POD and automate deployments Full POD: definition The minimum amount of hardware that can be used to perform a full test of the current CORD features Mgmt L2 switch switch Tricks Avoid
More informationONAP Developer Typical Setup 2017 July ONAP Virtual Developers Event
ONAP Developer Typical Setup 2017 July 24-26 ONAP Virtual Developers Event Gary Wu Daniel Rose Victor Morales Getting Started with ONAP
More informationContinuous Integration (CI) with Jenkins
TDDC88 Lab 5 Continuous Integration (CI) with Jenkins This lab will give you some handson experience in using continuous integration tools to automate the integration periodically and/or when members of
More informationLinux System Management with Puppet, Gitlab, and R10k. Scott Nolin, SSEC Technical Computing 22 June 2017
Linux System Management with Puppet, Gitlab, and R10k Scott Nolin, SSEC Technical Computing 22 June 2017 Introduction I am here to talk about how we do Linux configuration management at the Space Science
More informationLab 08. Command Line and Git
Lab 08 Command Line and Git Agenda Final Project Information All Things Git! Make sure to come to lab next week for Python! Final Projects Connect 4 Arduino ios Creative AI Being on a Team - How To Maximize
More informationGit Workbook. Self-Study Guide to Git. Lorna Mitchell. This book is for sale at
Git Workbook Self-Study Guide to Git Lorna Mitchell This book is for sale at http://leanpub.com/gitworkbook This version was published on 2018-01-15 This is a Leanpub book. Leanpub empowers authors and
More informationDocker at Lyft Speeding up development Matthew #dockercon
Docker at Lyft Speeding up development Matthew Leventi @mleventi #dockercon Lyft Engineering Lyft Engineering Organization - Rapidly growing headcount - Fluid teams - Everyone does devops Technology -
More informationTest Automation with Jenkins & TidalScale WaveRunner
Test Automation with Jenkins & TidalScale WaveRunner Software-Defined Servers Test Automation with Jenkins & TidalScale WaveRunner iv Contents 1 Test Automation with Jenkins & TidalScale WaveRunner Overview
More informationPragmatic Guide to Git
Extracted from: Pragmatic Guide to Git This PDF file contains pages extracted from Pragmatic Guide to Git, published by the Pragmatic Bookshelf. For more information or to purchase a paperback or PDF copy,
More informationPython StatsD Documentation
Python StatsD Documentation Release 2.0.3 James Socol January 03, 2014 Contents i ii statsd is a friendly front-end to Graphite. This is a Python client for the statsd daemon. Quickly, to use: >>> import
More informationCon. Continuous Integration
Con Continuous Integration Table of Contents Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 What is Continuous Integration (CI)? The benefits of CI The CI landscape Why should I care about CI? Mock Scenario +
More informationTest First Software Development
Test First Software Development Jacob Kristhammar Roger Schildmeijer D04, Lund Institute of Technology, Sweden {d04jk d04rp}@student.lth.se 2008-02-06 Abstract In this in-depth study we will try to explain
More informationVersion Control for PL/SQL
Version Control for PL/SQL What is the problem? How did we solve it? Implementation Strategies Demo!! Customer Spotlight Success Story: (In other words, this really works. :-) ) Rhenus Logistics, leading
More informationFPLLL. Contributing. Martin R. Albrecht 2017/07/06
FPLLL Contributing Martin R. Albrecht 2017/07/06 Outline Communication Setup Reporting Bugs Topic Branches and Pull Requests How to Get your Pull Request Accepted Documentation Overview All contributions
More informationGithub/Git Primer. Tyler Hague
Github/Git Primer Tyler Hague Why Use Github? Github keeps all of our code up to date in one place Github tracks changes so we can see what is being worked on Github has issue tracking for keeping up with
More informationBitte decken Sie die schraffierte Fläche mit einem Bild ab. Please cover the shaded area with a picture. (24,4 x 7,6 cm)
Bitte decken Sie die schraffierte Fläche mit einem Bild ab. Please cover the shaded area with a picture. (24,4 x 7,6 cm) Continuous Integration / Continuous Testing Seminary IIC Requirements Java SE Runtime
More informationdoubles Documentation
doubles Documentation Release 1.1.0 Jimmy Cuadra August 23, 2015 Contents 1 Installation 3 2 Integration with test frameworks 5 2.1 Pytest................................................... 5 2.2 Nose...................................................
More informationnacelle Documentation
nacelle Documentation Release 0.4.1 Patrick Carey August 16, 2014 Contents 1 Standing on the shoulders of giants 3 2 Contents 5 2.1 Getting Started.............................................. 5 2.2
More informationFrontier Documentation
Frontier Documentation Release 0.1.3-dev Sam Nicholls August 14, 2014 Contents 1 Frontier 3 1.1 Requirements............................................... 3 1.2 Installation................................................
More informationDNS Zone Test Documentation
DNS Zone Test Documentation Release 1.1.3 Maarten Diemel Dec 02, 2017 Contents 1 DNS Zone Test 3 1.1 Features.................................................. 3 1.2 Credits..................................................
More informationGit Basi, workflow e concetti avanzati (pt2)
Git Basi, workflow e concetti avanzati (pt2) Andrea Fornaia, Ph.D. Department of Mathema.cs and Computer Science University of Catania Viale A.Doria, 6-95125 Catania Italy fornaia@dmi.unict.it hfp://www.cs.unict.it/~fornaia/
More informationTwitter4J, Jenkins and Regression
Twitter4J, Jenkins and Regression Yusuke Yamamoto Twitter4J.org http://twitter4j.org/ Who am I 10+ years experience in Java 4+ years experience in the Twitter API Author of open-source tools including:
More informationOutline The three W s Overview of gits structure Using git Final stuff. Git. A fast distributed revision control system
Git A fast distributed revision control system Nils Moschüring PhD Student (LMU) 1 The three W s What? Why? Workflow and nomenclature 2 Overview of gits structure Structure Branches 3 Using git Setting
More informationHello World! Computer Programming for Kids and Other Beginners. Chapter 1. by Warren Sande and Carter Sande. Copyright 2009 Manning Publications
Hello World! Computer Programming for Kids and Other Beginners by Warren Sande and Carter Sande Chapter 1 Copyright 2009 Manning Publications brief contents Preface xiii Acknowledgments xix About this
More informationContinuous Delivery of your infrastructure. Christophe
Continuous Delivery of your infrastructure Christophe Vanlancker @Carroarmato0 Christophe Vanlancker Internal operations and consulting Mentor Kris couldn t make it so I s/kris/christophe/g Todays Goals
More informationPython StatsD Documentation
Python StatsD Documentation Release 3.2.2 James Socol Dec 15, 2017 Contents 1 Installing 3 2 Contents 5 2.1 Configuring Statsd............................................ 5 2.2 Data Types................................................
More informationCS 520: VCS and Git. Intermediate Topics Ben Kushigian
CS 520: VCS and Git Intermediate Topics Ben Kushigian https://people.cs.umass.edu/~rjust/courses/2017fall/cs520/2017_09_19.zip Our Goal Our Goal (Overture) Overview the basics of Git w/ an eye towards
More informationLaboratorio di Programmazione. Prof. Marco Bertini
Laboratorio di Programmazione Prof. Marco Bertini marco.bertini@unifi.it http://www.micc.unifi.it/bertini/ Code versioning: techniques and tools Software versions All software has multiple versions: Each
More informationThe Old World. Have you ever had to collaborate on a project by
What the Git? The Old World Have you ever had to collaborate on a project by Shuttling a USB drive back and forth Using Dropbox E-mailing your document around Have you ever accidentally deleted someone
More informationSoftware Testing Lecture 1. Justin Pearson
Software Testing Lecture 1 Justin Pearson 2017 1 / 50 Four Questions Does my software work? 2 / 50 Four Questions Does my software work? Does my software meet its specification? 3 / 50 Four Questions Does
More informationUSING GIT FOR AUTOMATION AND COLLABORATION JUSTIN ELLIOTT - MATT HANSEN PENN STATE UNIVERSITY
USING GIT FOR AUTOMATION AND COLLABORATION JUSTIN ELLIOTT - MATT HANSEN PENN STATE UNIVERSITY AGENDA Version control overview Introduction and basics of Git Advanced Git features Collaboration Automation
More informationHow to git with proper etiquette
How to git with proper etiquette Let's start fixing how we use git here in crew so our GitHub looks even more awesome and you all get experience working in a professional-like git environment. How to use
More informationEmpowering Developers to Take Flight Continuous Integration at Gogo
Empowering Developers to Take Flight Continuous Integration at Gogo Darin Pantley - Gogo June 26, 2017 Room #304 Introduction The Problem The Dream Implementation Lessons Learned Introduction About Gogo
More informationAdvanced Java Testing. What s next?
Advanced Java Testing What s next? Vincent Massol, February 2018 Agenda Context & Current status quo Coverage testing Testing for backward compatibility Mutation testing Environment testing Context: XWiki
More informationGit. A fast distributed revision control system. Nils Moschüring PhD Student (LMU)
Git A fast distributed revision control system Nils Moschüring PhD Student (LMU) Nils Moschüring PhD Student (LMU), Git 1 1 The three W s What? Why? Workflow and nomenclature 2 Overview of gits structure
More informationPHP Composer 9 Benefits of Using a Binary Repository Manager
PHP Composer 9 Benefits of Using a Binary Repository Manager White Paper Copyright 2017 JFrog Ltd. March 2017 www.jfrog.com Executive Summary PHP development has become one of the most popular platforms
More informationPyZillow Documentation
PyZillow Documentation Release 0.5.5 Hannes Hapke Jul 10, 2017 Contents 1 Installation 3 2 Usage of the GetDeepSearchResults API 5 3 Usage of the GetUpdatedPropertyDetails API 7 4 Contact Information
More informationAzure DevOps. Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region
Azure DevOps Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region What is DevOps? People. Process. Products. Build & Test Deploy DevOps is the union of people, process, and products to
More informationTest-Driven Development (TDD)
Test-Driven Development (TDD) CS 4501 / 6501 Software Testing [Lasse Koskela, Test Driven, Chapters 2-3] 1 Agile Airplane Testing Test harness: Appearance matches Color coding in place Fly 6ft (or 2m)
More informationScaling with Continuous Deployment
Scaling with Continuous Deployment Web 2.0 Expo New York, NY, September 29, 2010 Brett G. Durrett (@bdurrett) Vice President Engineering & Operations, IMVU, Inc. 0 An online community where members use
More informationLSST software stack and deployment on other architectures. William O Mullane for Andy Connolly with material from Owen Boberg
LSST software stack and deployment on other architectures William O Mullane for Andy Connolly with material from Owen Boberg Containers and Docker Packaged piece of software with complete file system it
More informationContinuous integration & continuous delivery. COSC345 Software Engineering
Continuous integration & continuous delivery COSC345 Software Engineering Outline Integrating different teams work, e.g., using git Defining continuous integration / continuous delivery We use continuous
More informationPython data pipelines similar to R Documentation
Python data pipelines similar to R Documentation Release 0.1.0 Jan Schulz October 23, 2016 Contents 1 Python data pipelines 3 1.1 Features.................................................. 3 1.2 Documentation..............................................
More informationEffective Software Development and Version Control
Effective Software Development and Version Control Jennifer Helsby, Eric Potash Computation for Public Policy Lecture 5: January 19, 2016 computationforpolicy.github.io Announcements Do look at the readings
More informationQA and Testing. Suchitra Vemuri, ONF Karthick Ramanarayanan, Ciena November 8th, 2017
QA and Testing Suchitra Vemuri, ONF Karthick Ramanarayanan, Ciena November 8th, 2017 1 Introduction Framework Overview Test Suites QA Jenkins Setup/Run Tests Collaborations Contribution Opportunities QA
More informationComposer and Drupal. CIDUG Meeting December 13, 2018 John Rearick
Composer and Drupal CIDUG Meeting December 13, 2018 John Rearick * Similar to other dependency managers such as: yum, apt, brew, macports, npm, pip, etc. * Helps manage dependency hell. * Lots of dependencies
More information3 Continuous Integration 3. Automated system finding bugs is better than people
This presentation is based upon a 3 day course I took from Jared Richardson. The examples and most of the tools presented are Java-centric, but there are equivalent tools for other languages or you can
More informationImproving the Magento 2 Developer Experience
Improving the Magento 2 Developer Experience Alan Kent Magento Chief Architect Consistent Magento 2 Feedback I have been working on some larger Magento 2.1 EE solutions for a few months now and I really
More informationGit. Charles J. Geyer School of Statistics University of Minnesota. Stat 8054 Lecture Notes
Git Charles J. Geyer School of Statistics University of Minnesota Stat 8054 Lecture Notes 1 Before Anything Else Tell git who you are. git config --global user.name "Charles J. Geyer" git config --global
More informationJenkinsPipelineUnit. Test your Continuous Delivery Pipeline. Ozan Gunalp - Emmanuel Quincerot
JenkinsPipelineUnit Test your Continuous Delivery Pipeline Ozan Gunalp - Emmanuel Quincerot Who we are Ozan Günalp Emmanuel Quincerot Developer at LesFurets Developer at LesFurets PhD in Computer Science
More informationPerformance Testing in a Containerized World. Paola Rossaro
Performance Testing in a Containerized World Paola Rossaro STARWEST 2017 Something about me PhD Computer Science (performance) 20+ years high-tech CTO and Co-founder Nouvola And a unicorn mom! Agenda Continuous
More informationHow to set up SQL Source Control The short guide for evaluators
GUIDE How to set up SQL Source Control The short guide for evaluators 1 Contents Introduction Team Foundation Server & Subversion setup Git setup Setup without a source control system Making your first
More informationCSE : Python Programming. Packages (Tutorial, Section 6.4) Announcements. Today. Packages: Concretely. Packages: Overview
Announcements CSE 399-004: Python Programming Lecture 07: Packages, Command-line arguments, and Unit testing February 26, 2007 http://www.seas.upenn.edu/~cse39904/ No homework this week There may be one
More informationchatterbot-weather Documentation
chatterbot-weather Documentation Release 0.1.1 Gunther Cox Nov 23, 2018 Contents 1 chatterbot-weather 3 1.1 Installation................................................ 3 1.2 Example.................................................
More informationKivy Designer Documentation
Kivy Designer Documentation Release 0.9 Kivy October 02, 2016 Contents 1 Installation 3 1.1 Prerequisites............................................... 3 1.2 Installation................................................
More informationPyCRC Documentation. Release 1.0
PyCRC Documentation Release 1.0 Cristian Năvălici May 12, 2018 Contents 1 PyCRC 3 1.1 Features.................................................. 3 2 Installation 5 3 Usage 7 4 Contributing 9 4.1 Types
More informationUsing Git and GitLab: Your first steps. Maurício
Using Git and GitLab: Your first steps Maurício Aniche m.f.aniche@tudelft.nl @mauricioaniche How do you store your files? We used to do like this before But now we do it in a different (and much better)
More informationContinuous Delivery the hard way with Kubernetes. Luke Marsden, Developer
Continuous Delivery the hard way with Luke Marsden, Developer Experience @lmarsden Agenda 1. Why should I deliver continuously? 2. primer 3. GitLab primer 4. OK, so we ve got these pieces, how are we going
More informationContinuous Integration and Delivery with Spinnaker
White Paper Continuous Integration and Delivery with Spinnaker The field of software functional testing is undergoing a major transformation. What used to be an onerous manual process took a big step forward
More informationTM DevOps Use Case. 2017TechMinfy All Rights Reserved
Document Details Use Case Name TMDevOps Use Case04 First Draft 10 th Dec 2017 Author Reviewed By Amrendra Kumar Pradeep Narayanaswamy Contents Scope... 4 About Customer... 4 Pre-Conditions/Trigger... 4
More informationCONTINUOUS INTEGRATION; TIPS & TRICKS
CONTINUOUS INTEGRATION; TIPS & TRICKS BIO I DO TECH THINGS I DO THINGS I DO THINGS BLUE OCEAN BEEP BEEP REFACTOR PEOPLE S HOUSES MY TIPS & TRICKS FOR CI - CI Infrastructure - CI Architecture - Pipeline
More informationReducing the pain of Yocto development upgrades. Michael Brown NGM Firmware Lead Technologist Dell EMC Embedded Linux Conference 2017
Reducing the pain of Yocto development upgrades Michael Brown NGM Firmware Lead Technologist Dell EMC Embedded Linux Conference 2017 Outline Easier Yocto upgrades in development - Introduction - Problem
More informationgit commit --amend git rebase <base> git reflog git checkout -b Create and check out a new branch named <branch>. Drop the -b
Git Cheat Sheet Git Basics Rewriting Git History git init Create empty Git repo in specified directory. Run with no arguments to initialize the current directory as a git repository. git commit
More informationThere Should be One Obvious Way to Bring Python into Production. Sebastian Neubauer
There Should be One Obvious Way to Bring Python into Production Sebastian Neubauer sebastian.neubauer@blue-yonder.com 1 Agenda What are we talking about and why? Delivery pipeline Dependencies Packaging
More informationAdding Transparency and Automation into the Galaxy Tool Installation Process
Adding Transparency and Automation into the Galaxy Tool Installation Process Enis Afgan Johns Hopkins University Galaxy Team Galaxy Admins Web Meetup August 20, 2015. Outline Installing tools in bulk (i.e.,
More informationGeo Catching Sprint #3 Kick-off
LP IDSE - GL Geo Catching Sprint #3 Kick-off 03/01/2017 Cécile Camillieri/Clément Duffau 1 GeoCatching sprint #1 Drawing of zones on a map User login and joining of a game Browser-based geolocation of
More informationOverview. 1. Install git and create a Github account 2. What is git? 3. How does git work? 4. What is GitHub? 5. Quick example using git and GitHub
Git 101: Overview 1. Install git and create a Github account 2. What is git? 3. How does git work? 4. What is GitHub? 5. Quick example using git and GitHub Github icon 1 Install git and a create GitHub
More informationLab Exercise Test First using JUnit
Lunds tekniska högskola Datavetenskap, Nov, 2017 Görel Hedin/Ulf Asklund EDAF45 Programvaruutveckling i grupp projekt Lab Exercise Test First using JUnit Goal This lab is intended to demonstrate basic
More informationDEPLOYMENT MADE EASY!
DEPLOYMENT MADE EASY! Presented by Hunde Keba & Ashish Pagar 1 DSFederal Inc. We provide solutions to Federal Agencies Our technology solutions connect customers to the people they serve 2 Necessity is
More informationci-management Release 1.0.0
ci-management Release 1.0.0 Nov 13, 2018 CI Process 1 Summary 1 2 Finding Help on Hyperledger CI 3 3 Common Job Types 5 4 Verify Jobs 7 5 Merge Jobs 9 6 Release Jobs 11 7 Supported Architectures 13 8
More informationLecture 2 Making Simple Commits
Lecture 2 Making Simple Commits Sign in on the attendance sheet! credit: https://xkcd.com/1296/ Course Website https://www.andrew.cmu.edu/course/98-174/ Homework Reminders Great job gitting the homework
More informationCon$nuous Deployment with Docker Andrew Aslinger. Oct
Con$nuous Deployment with Docker Andrew Aslinger Oct 9. 2014 Who is Andrew #1 So#ware / Systems Architect for OpenWhere Passion for UX, Big Data, and Cloud/DevOps Previously Designed and Implemented automated
More informationViri. Remote execution of Python scripts. Every time you use Viri, God kills a sysadmin
Viri Remote execution of Python scripts Every time you use Viri, God kills a sysadmin About me Python experience XML Application integration Django o i18n Google App Engine Working at NTT Europe We administer
More informationNiv Mizrahi. VP github.com/nivm
Python Packaging Niv Mizrahi VP R&D @ emedgene @ravinizme github.com/nivm Python We Love Python Python The syntax is simple and expressive, it has tons of open source modules and frameworks and a great
More informationAssignment 1c: Compiler organization and backend programming
Assignment 1c: Compiler organization and backend programming Roel Jordans 2016 Organization Welcome to the third and final part of assignment 1. This time we will try to further improve the code generation
More informationFrom LLD to SuperDiscovery
From LLD to SuperDiscovery How to involve developers in monitoring process Ilya Ableev 16th of September Who am I? Ilya Ableev, Head of Monitoring Department in Badoo Zabbix experience 7 years (certified
More informationTDD For Embedded Systems... All The Way Down To The Hardware. Neil Johnson
TDD For Embedded Systems... All The Way Down To The Hardware Neil Johnson XtremeEDA njohnson@xtreme-eda.com @nosnhojn 1 What Do I Mean By Hardware ASIC Application Specific Integrated Circuit Static structure
More informationDistributed CI: Scaling Jenkins on Mesos and Marathon. Roger Ignazio Puppet Labs, Inc. MesosCon 2015 Seattle, WA
Distributed CI: Scaling Jenkins on Mesos and Marathon Roger Ignazio Puppet Labs, Inc. MesosCon 2015 Seattle, WA About Me Roger Ignazio QE Automation Engineer Puppet Labs, Inc. @rogerignazio Mesos In Action
More informationCS 390 Software Engineering Lecture 5 More Git
CS 390 Software Engineering Lecture 5 More Git Reference: Scott Chacon and Ben Straub, Pro Git, published by Apress, available at https://git-scm.com/book/en/v2. Outline Finish local repository Remote
More information