Effizientere WordPress-Plugin-Entwicklung mit Softwaretests. Martin Schütte

Size: px
Start display at page:

Download "Effizientere WordPress-Plugin-Entwicklung mit Softwaretests. Martin Schütte"

Transcription

1 Effizientere WordPress-Plugin-Entwicklung mit Softwaretests Martin Schütte

2 About DECK36 Small team of 7 engineers Longstanding expertise in designing, implementing and operating complex web systems Developing own data intelligence-focused tools and web services Offering our expert knowledge in Automation & Operation, Architecture & Engineering, Analytics & Data Logistics

3 1. Dev & Test Environments 2. Testing Variants Static Code Analysis Unit Testing Integration Testing Behaviour Testing 3. Integration & Automation

4 Main Questions How can I know (my) software is correct? How does my boss know software is correct? How do I know software implements a given design? How can we discuss what correct is, anyway? We always need: implicit assumptions, explicit specifications.

5 Levels of Testing. abstract Acceptance Tests Integration Tests Unit Tests specific

6 Example Plugin: Freifunkmeta

7 Use a Dev Environment

8 Vagrant Configuration tool for (VirtualBox) VM setup and provisioning. Local cloud Self service Instant provisioning Useful for development reproducible environment independent PHP 5.x setups try things and not jeopardise your dev environment

9 VagrantPress $ git clone $ cd vagrantpress $ vagrant up will setup VM with: Ubuntu Precise (12.04), Apache 2.2, MySQL 5.5, PHP 5.3 Wordpress 3.8 phpmyadmin PHPUnit phpcs, phploc, phpdepend,

10 Testing Variants

11 Coding Style $ phpcs --standard=wordpress freifunkmeta.php FILE: [...]/plugins/freifunkmeta/freifunkmeta.php FOUND 360 ERROR(S) AND 406 WARNING(S) AFFECTING 338 LINE(S) ERROR Incorrect indentation; expected 1 space, found 4 22 WARNING Line is indented with space not tab 33 ERROR String "Unable to retrieve URL %s, error: %s" does not require double quotes; use single quotes instead 322 ERROR Closing parenthesis of a multi-line function definition must be on a line by itself 440 ERROR Expected next thing to be a escaping function, not '"<option value='$city' $selected>$prettycity </option>"'

12 Code Metrics $ php pdepend_summary.php freifunkmeta.php Package/Class Method LoC %Comment CCN NPath FF_Meta output_ff_contact FF_Meta shortcode_handler FF_Community construct FF_Meta register_stuff FF_Meta aux_get_all_locations FF_Community make_from_city [...]

13 Example Plugin: Freifunkmeta WP Blog. WP Core FF_Meta Other Plugins FF_Dir FF_Community HTTP Get Service Output Formatter

14 Unit Testing WP Blog. WP Core FF_Meta Other Plugins FF_Dir FF_Community HTTP Get Service Output Formatter

15 Simple PHPUnit Test Case class LowLevelTests extends PHPUnit_Framework_TestCase { function setup() { $this->ffm = new FF_Meta(); } } function test_output_ff_state() { $data = array("state" => array("nodes" => 429)); $ret = $this->ffm->output_ff_state($data); $this->assertregexp('/429/', $ret); }

16 Unit Testing (contd.) WP Blog. WP Core FF_Meta Other Plugins FF_Dir FF_Community HTTP Get Service Output Formatter

17 Integration Testing WP Blog. WP Core FF_Meta Other Plugins FF_Dir FF_Community HTTP Get Service Output Formatter

18 Unit Testing with Mock Object WP Blog. WP Core FF_Meta Other Plugins FF_Dir FF_Community HTTP Get Service Output Formatter

19 Example: Test with Dependency Injection class MockDataService { function get($url) { return $some_fixed_data; } } class WpIntegrationTests extends WP_UnitTestCase { function setup() { parent::setup(); // get plugin instance and replace ext. data service: $this->plugin = $GLOBALS['wp-plugin-ffmeta']; $this->plugin->reset_external_data_service( new MockDataService() ); } //...

20 Example: Test with Dependency Injection //... function test_post_ff_services() { $post_attribs = array( 'post_title' => 'Test', 'post_content' => '[ff_services]' ); $post = $this->factory->post->create_and_get( $post_attribs ); // w/o filter: $this->assertequals($post_content, $post->post_content); } } // with filter: $output = apply_filters( 'the_content', $post->post_content ); $this->assertregexp('/radio\.ffhh/', $output);

21 PHPUnit Output

22 Behaviour Testing WP Blog. WP Core FF_Meta Other Plugins FF_Dir FF_Community HTTP Get Service Output Formatter

23 WordPress Shortcode Plugin Test. Feature: Use Shortcodes In order to use my Plugin As a website author I need to write posts with shortcodes Background: Given I am logged in as "admin" with "vagrant" Scenario: Without the plugin Given the plugin "freifunkmeta" is "inactive" When I write a post with title "test" and content "[ff_contact]" Then I should see "ff_contact" Scenario: With the plugin Given the plugin "freifunkmeta" is "active" When I write a post with title "test" and content "[ff_contact]" Then I should see "Twitter" in the ".ff_contact" element And I should not see "ff_contact"

24 Behat Output

25 Implementation / Translation A look behind the curtain: framework is clever but not magical some translation needed statements have to become executable code Mechanism: plain sentence method name quoted words arguments matching with annotated regular expressions methods yield success, exception, or pending exception

26 Example: Behat Context (PHP) /** * from MinkContext * Checks, that page contains specified text. * /^(?: I )should see "(?P<text>(?:[^"] \\")*)"$/ */ public function assertpagecontainstext($text) { $this->assertsession()->pagetextcontains( $this->fixstepargument($text)); }

27 The Big Picture Features. Step Definitions WebDriver Browser

28 The Big Picture Features. cucumber.js Behat (PHP) Cucumber (Ruby) Goutte PhantomJS Selenium Chrome Firefox

29 Unit & Behaviour Testing Unit Tests Behaviour Tests unit testing acceptance test scenarios programmers non-developers programming language language of business domain bottom-up top-down / outside-in assertxyz X should do Y tests derived from user stories execute user stories development tool design & communication tool

30 Automate!

31 Scripting Basis for all automation. Lots of useful builtins and packages: wp core download/install/config/ wp export/import wp plugin get/install/update/ wp scaffold _s/plugin/plugin-tests wp server

32 wp scaffold Generate skeleton code for a new plugin & unit tests: $ cd wordpress/wp-content/plugins $ wp scaffold plugin-tests awesome $ find awesome awesome/ awesome/awesome.php awesome/bin awesome/bin/install-wp-tests.sh awesome/tests awesome/tests/bootstrap.php awesome/tests/test-sample.php awesome/.travis.yml awesome/phpunit.xml

33 wp scaffold (contd.) Create WP instance and run unit tests: $ cd awesome $ bash./bin/install-wp-tests.sh wp_tests root vagrant latest... $ phpunit PHPUnit by Sebastian Bergmann. [...] Configuration read from [...]/plugins/awesome/phpunit.xml. Time: 5.52 seconds, Memory: 23.50Mb OK (1 test, 1 assertion)

34 Version Control use version control! many possible workflows, e. g. branches for dev and release use pre-commit hooks, e. g. with php -l syntax check

35 Travis-CI Continuous Integration service for GitHub 1. gets notified on push 2. builds project 3. runs phpunit 4. summarizes results, alert on failure

36 Example.travis.yml language: php php: hhvm env: - WP_VERSION= WP_VERSION=latest before_script: - bash bin/install-wp-tests.sh wordpress_test \ root '' localhost $WP_VERSION script: phpunit

37 Travis-CI Pass

38 Automated Testing Target: no manual effort. Continuous Integration: frequent code check-ins verified by automated builds and tests quickly find bugs and regressions Continuous Deployment: (semi-)automated deployment plan for rollback

39 Costs and Benefits of Testing Testing (like Documentation) has a cost usually: productivity improvement > cost but find the right balance

40 Conclusion I get paid for code that works, not for tests, so my philosophy is to test as little as possible to reach a given level of confidence. Kent Beck Links PHP Quality Assurance Toolchain compendium of useful WP developer tools test data for WP plugins and themes Ptah Dunbar: Automated Testing in WordPress, Really?! tuts+ articles by Tom McFarlin Conversation Is TDD Dead?

41 Thank You

Build & Launch Tools (BLT) Automating best practices for enterprise sites

Build & 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 information

Configuration Management

Configuration Management Configuration Management A True Life Story October 16, 2018 Page 1 Configuration Management: A True Life Story John E. Picozzi Senior Drupal Architect Drupal Providence 401-228-7660 oomphinc.com 72 Clifford

More information

Technical Architecture & Analysis

Technical Architecture & Analysis Technical Architecture & Analysis HS2 Technical Architecture & Analysis 15 October 2012 Anton Palitsyn 020 7426 8920 anton.palitsyn@precedent.co.uk Contents Contents... 2 Document info... 3 Authors...

More information

" Qué me estás container?" Docker for dummies

 Qué me estás container? Docker for dummies " Qué me estás container?" Docker for dummies Sara Arjona @sara_arjona Pau Ferrer @crazyserver Developer at Moodle HQ Moodle Mobile developer at Moodle HQ #MootES18 Who uses Docker for development? Who

More information

A Sweet Test Suite. DrupalCon NA A Sweet Test Suite

A Sweet Test Suite. DrupalCon NA A Sweet Test Suite A Sweet Test Suite A Sweet Test Suite Dan Gurin Twitter @dgurin dangur @ D.O, GitHub, LinkedIn... Organizer @ Drupal Camp Asheville Engineer @CivicActions Test Driven Development Test Driven Development

More information

Travis Cardwell Technical Meeting

Travis Cardwell Technical Meeting .. Introduction to Docker Travis Cardwell Tokyo Linux Users Group 2014-01-18 Technical Meeting Presentation Motivation OS-level virtualization is becoming accessible Docker makes it very easy to experiment

More information

Automated Testing in Drupal 8

Automated Testing in Drupal 8 PNWDS 2018 Jonathan Hedstrom Introduction jhedstrom nearly everywhere jhedstro on Twitter 2 1 Why test? 2 What to test? 3 Which type of tests? 4 Practical examples Testing in Drupal 8 5 Go forth and test!

More information

TangeloHub Documentation

TangeloHub Documentation TangeloHub Documentation Release None Kitware, Inc. September 21, 2015 Contents 1 User s Guide 3 1.1 Managing Data.............................................. 3 1.2 Running an Analysis...........................................

More information

Continuous integration & continuous delivery. COSC345 Software Engineering

Continuous 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 information

More Dev / Less Ops. Sean Dietrich DrupalCorn '18

More Dev / Less Ops. Sean Dietrich DrupalCorn '18 More Dev / Less Ops Sean Dietrich DrupalCorn '18 Hi there! I m a Technical Lead at Kanopi Studios. @seanedietrich / sean_e_dietrich / sean.e.dietrich Maintainer on the Docksal Project Drupal Development

More information

Testing your puppet code

Testing your puppet code Libre Software Meeting 2013 July 10, 2013 1 2 Style and linting Catalogs 3 4 Homework sysadmin @ inuits open-source defender for 7+ years devops believer @roidelapluie on twitter/github Infrastructure

More information

@EvanMHerman Introduction to Workflow Automation

@EvanMHerman Introduction to Workflow Automation Introduction to Workflow Automation WordCamp Baltimore - October 14th, 2017 1 Evan Herman Software Engineer at GoDaddy WordPress Core Contributor Plugin Developer Goal The main goal of this talk is to

More information

Selenium Testing Course Content

Selenium Testing Course Content Selenium Testing Course Content Introduction What is automation testing? What is the use of automation testing? What we need to Automate? What is Selenium? Advantages of Selenium What is the difference

More information

WHO'S TALKING? Edvinas Aleksejonokas Member of OXID core team Joined two years ago

WHO'S TALKING? Edvinas Aleksejonokas Member of OXID core team Joined two years ago OXID VM & SDK WHO'S TALKING? Edvinas Aleksejonokas Member of OXID core team Joined two years ago WHO'S TALKING? HONESTLY... A person who was really feed up by the fact that: Everyone had their own dev-env

More information

Managing a WordPress 2.6 installation with Subversion. Sam Bauers - Automattic

Managing a WordPress 2.6 installation with Subversion. Sam Bauers - Automattic Managing a WordPress 2.6 installation with Subversion Sam Bauers - Automattic In this presentation... - Overview of version control and Subversion - Anatomy changes in WordPress 2.6 - Creating a clean

More information

Having Fun with Social Coding. Sean Handley. February 25, 2010

Having Fun with Social Coding. Sean Handley. February 25, 2010 Having Fun with Social Coding February 25, 2010 What is Github? GitHub is to collaborative coding, what Facebook is to social networking 1 It serves as a web front-end to open source projects by allowing

More information

Behat Drupal Integration Documentation

Behat Drupal Integration Documentation Behat Drupal Integration Documentation Release 1.1 Brendan MacDonald Jul 19, 2017 Contents 1 Introduction 3 2 System Requirements 5 3 Installation 7 4 Adding it to an existing project 9 5 Initial setup

More information

TM DevOps Use Case. 2017TechMinfy All Rights Reserved

TM 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 information

Behat Kickstart. For Drupal 8 Developers. Stanford Drupal Camp 2016 Stanford, CA -- April 1-2, Peter Sawczynec Customer Success Engineer

Behat Kickstart. For Drupal 8 Developers. Stanford Drupal Camp 2016 Stanford, CA -- April 1-2, Peter Sawczynec Customer Success Engineer Behat Kickstart For Drupal 8 Developers Stanford Drupal Camp 2016 Stanford, CA -- April 1-2, 2016 \ Peter Sawczynec Customer Success Engineer D8 Testing Ecosystem Behat SimpleTest PHPUnit JMeter Drupal

More information

Application Deployment

Application Deployment Application Deployment Software Engineering II WS 2018/19 Christoph Matthies (christoph.matthies@hpi.de) Enterprise Platform and Integration Concepts Datacenter Work by Leonardo Rizzi (CC BY-SA 2.0) Agenda

More information

Index. Elad Elrom 2016 E. Elrom, Pro MEAN Stack Development, DOI /

Index. Elad Elrom 2016 E. Elrom, Pro MEAN Stack Development, DOI / Index A Accessible Rich Internet Applications (ARIA), 101 Amazon AWS, 44 Amazon EC2, 28 Amazon s Relational Database Service (RDS), 28 Amazon Web Services (AWS) cloud, 28 Android SDK Manager, 272 Android

More information

projecto Documentation

projecto 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 information

Topic 16: Validation. CITS3403 Agile Web Development. Express, Angular and Node, Chapter 11

Topic 16: Validation. CITS3403 Agile Web Development. Express, Angular and Node, Chapter 11 Topic 16: Validation CITS3403 Agile Web Development Getting MEAN with Mongo, Express, Angular and Node, Chapter 11 Semester 1, 2018 Verification and Validation Writing a bug free application is critical

More information

Setting up VPS on Ovh public cloud and installing lamp server on Ubuntu instance

Setting up VPS on Ovh public cloud and installing lamp server on Ubuntu instance Setting up VPS on Ovh public cloud and installing lamp server on Ubuntu instance What is OVH Public Cloud Public Cloud Instances provides a choice of two types of virtual machines: the RAM instances are

More information

Chrome if I want to. What that should do, is have my specifications run against four different instances of Chrome, in parallel.

Chrome if I want to. What that should do, is have my specifications run against four different instances of Chrome, in parallel. Hi. I'm Prateek Baheti. I'm a developer at ThoughtWorks. I'm currently the tech lead on Mingle, which is a project management tool that ThoughtWorks builds. I work in Balor, which is where India's best

More information

P a g e 0. CIDRZ Website Manual.

P a g e 0. CIDRZ Website Manual. P a g e 0 2015 CIDRZ Website Manual http://cidrz.org/ Manual Contents 1. Overview... 2 Getting Started... 2 The Frontend... 2 The Backend... 2 2.0 Managing the website... 4 Adding & editing pages... 4

More information

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Drupal

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. Drupal About the Tutorial is a free and open source Content Management System (CMS) that allows organizing, managing and publishing your content. This reliable and secure CMS is built on PHP based environment

More information

Documentation. Visit the Documentation Online at:

Documentation. Visit the Documentation Online at: Documentation Install Plugin Overview Settings How to add and edit entries From Administration Panel Front-end Form How to display them Shortcodes & PHP Function Layout Generator Front-end Form Generator

More information

platform Development Process Optimization For Drupal centric projects

platform Development Process Optimization For Drupal centric projects platform Development Process Optimization For Drupal centric projects Introduction This document explains how Platform impacts your Drupal centric project development process. Performance data from digital

More information

Scaling with Continuous Deployment

Scaling 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 information

Test all the things! Get productive with automated testing in Drupal 8. Sam Becker

Test all the things! Get productive with automated testing in Drupal 8. Sam Becker Test all the things! Get productive with automated testing in Drupal 8 Sam Becker WHO AM I? Sam152 on drupal.org Back-end Drupal dev for PreviousNext Core contributor Author of 50+ contributed projects

More information

BEHAVIOR DRIVEN DEVELOPMENT BDD GUIDE TO AGILE PRACTICES. Director, Strategic Solutions

BEHAVIOR DRIVEN DEVELOPMENT BDD GUIDE TO AGILE PRACTICES. Director, Strategic Solutions BEHAVIOR DRIVEN DEVELOPMENT BDD GUIDE TO AGILE PRACTICES Presenter: Joshua Eastman Director, Strategic Solutions ABOUT THE SPEAKER Josh has over seven years of experience as an accomplished software testing

More information

Behat BDD, FUNCTIONAL TESTS & SELENIUM (IN DRUPAL!)

Behat BDD, FUNCTIONAL TESTS & SELENIUM (IN DRUPAL!) Behat BDD, FUNCTIONAL TESTS & SELENIUM (IN DRUPAL!) s Hallo! > Lead of the Symfony documentation team > KnpLabs US - Symfony consulting, training & kumbaya > Writer for KnpUniversity.com: PHP & Symfony

More information

Azure DevOps. Randy Pagels Intelligent Cloud Technical Specialist Great Lakes Region

Azure 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 information

AUTOMATION TESTING FRAMEWORK FOR LUMINOUS LMS

AUTOMATION TESTING FRAMEWORK FOR LUMINOUS LMS AUTOMATION TESTING FRAMEWORK FOR LUMINOUS LMS CONTENT Introduction. List of tools used to create Testing Framework Luminous LMS work scheme Testing Framework work scheme Automation scenario set lifecycle

More information

DEPLOYMENT MADE EASY!

DEPLOYMENT 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 information

Test Driven Development and Refactoring. CSC 440/540: Software Engineering Slide #1

Test Driven Development and Refactoring. CSC 440/540: Software Engineering Slide #1 Test Driven Development and Refactoring CSC 440/540: Software Engineering Slide #1 Topics 1. Bugs 2. Software Testing 3. Test Driven Development 4. Refactoring 5. Automating Acceptance Tests CSC 440/540:

More information

FPLLL. Contributing. Martin R. Albrecht 2017/07/06

FPLLL. 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 information

MANUAL+ SELENIUM CURRICULUM

MANUAL+ SELENIUM CURRICULUM MANUAL+ SELENIUM CURRICULUM Software Organization and Process Overviews: 2 Hrs Software Organization Types and Process Overviews Overviews of Software Quality Testing Quality Assurance and Quality Control

More information

Peter Sawczynec Engineer

Peter Sawczynec Engineer 2016 Peter Sawczynec Engineer FLORIDA DRUPALCAMP 2016 BEHAT KICKSTART FOR DRUPAL DEVELOPERS PETER SAWCZYNEC PETER.SAWCZYNEC@CIVICACTIONS FLORIDA DRUPALCAMP 2016 BEHAT KICKSTART FOR DRUPAL DEVELOPERS PETER

More information

Open Source Test Automation: Riding the Second Wave

Open Source Test Automation: Riding the Second Wave K2 Keynote 5/4/16 10:00 Open Source Test Automation: Riding the Second Wave Presented by: David Dang Zenergy Technologies Brought to you by: 350 Corporate Way, Suite 400, Orange Park, FL 32073 888- - -

More information

Die drei Dimensionen des Testens. Sebastian Bergmann 4. Juli 2015

Die drei Dimensionen des Testens. Sebastian Bergmann 4. Juli 2015 Die drei Dimensionen des Testens Sebastian Bergmann 4. Juli 2015 Sebastian Bergmann Hilft Teams, erfolgreich die richtige Software zu entwickeln. sharing experience "I'll take your brain to another dimension

More information

We want to install putty, an ssh client on the laptops. In the web browser goto:

We want to install putty, an ssh client on the laptops. In the web browser goto: We want to install putty, an ssh client on the laptops. In the web browser goto: www.chiark.greenend.org.uk/~sgtatham/putty/download.html Under Alternative binary files grab 32 bit putty.exe and put it

More information

Somerville College WordPress user manual. 7th October 2015

Somerville College WordPress user manual. 7th October 2015 Somerville College WordPress user manual 7th October 05 0 INDEX YOUR SITE IMAGES FORMS THE MENU 4 4 5 0 YOUR SITE The Content Management System The Somerville website has been built using the WordPress

More information

Simplified CICD with Jenkins and Git on the ZeroStack Platform

Simplified CICD with Jenkins and Git on the ZeroStack Platform DATA SHEET Simplified CICD with Jenkins and Git on the ZeroStack Platform In the technical article we will walk through an end to end workflow of starting from virtually nothing and establishing a CICD

More information

Emerging trends in test automation

Emerging trends in test automation Emerging trends in test automation 3 I AM SRIRAM ANGAJALA Eurostar Trains I am here because I love AUTOMATION since 2003. Worked in Silk Test, Winrunner, QTP, Selenium RC. Find me at sriram.angajala in

More information

Finding Vulnerabilities in Web Applications

Finding Vulnerabilities in Web Applications Finding Vulnerabilities in Web Applications Christopher Kruegel, Technical University Vienna Evolving Networks, Evolving Threats The past few years have witnessed a significant increase in the number of

More information

Drupal Command Line Instructions Windows 7 List All Users >>>CLICK HERE<<<

Drupal Command Line Instructions Windows 7 List All Users >>>CLICK HERE<<< Drupal Command Line Instructions Windows 7 List All Users Last updated January 7, 2015. Alternatively, Windows users can often just use the Drush Command Prompt You will find out about all the other options

More information

WordPress is free and open source, meaning it's developed by the people who use it.

WordPress is free and open source, meaning it's developed by the people who use it. 1 2 WordPress Workshop by BBC July 2015 Contents: lorem ipsum dolor sit amet. page + WordPress.com is a cloudhosted service that runs WordPress where you can set up your own free blog or website without

More information

Software Continuous Integration & Delivery INCREASING SOFTWARE DEVELOPMENT AGILITY TO SPEED TIME TO MARKET

Software Continuous Integration & Delivery INCREASING SOFTWARE DEVELOPMENT AGILITY TO SPEED TIME TO MARKET DAITAN WHITE PAPER Software Continuous Integration & Delivery INCREASING SOFTWARE DEVELOPMENT AGILITY TO SPEED TIME TO MARKET White Paper Contents Making software development more Agile Moving to a more

More information

Final Paper/Best Practice/Tutorial Advantages OF BDD Testing

Final Paper/Best Practice/Tutorial Advantages OF BDD Testing Final Paper/Best Practice/Tutorial Advantages OF BDD Testing Preeti Khandokar Test Manager Datamatics Global Solutions Ltd Table of Contents Table of Contents... 2 Abstract... 3 Introduction... 3 Solution:...

More information

Automated Security Scanning in Payment Industry

Automated Security Scanning in Payment Industry Digital Transformation Specialist Automated Security Scanning in Payment Industry Michał Buczko Michał Buczko Test Consultant Public Speaker Security enthusiast Agenda 1.) Why security? 2.) How hard it

More information

Solar Plant Data Acquisition Maintenance

Solar Plant Data Acquisition Maintenance Solar Plant Data Acquisition Maintenance Instructions on installing and running the software Christian Paulino Teodor Talov Instructor: Dr. Janusz Zalewski CEN 4935 Senior Software Engineering Project

More information

Software Testing

Software Testing Ali Complex, 2nd block, Kormangala, Madiwala, Bengaluru-560068 Page 1 What is Software Testing? Software Testing is the process of testing software with the purpose of finding bugs and ensuring that it

More information

Docker for Development: Getting Started

Docker for Development: Getting Started Docker for Development: Getting Started Lisa H. Ridley Savas Labs DrupalCamp Chattanooga November 5, 2016 Who am I? Lisa Ridley, Director of Client Success, Savas Labs Lead Developer and Project Manager

More information

CuteFlow-V4 Documentation

CuteFlow-V4 Documentation CuteFlow-V4 Documentation Release 4.0.0 Timo Haberkern Nov 15, 2017 Contents 1 Contributing 3 1.1 Contributing Code............................................ 3 1.2 Contributing Documentation.......................................

More information

The InfluxDB-Grafana plugin for Fuel Documentation

The InfluxDB-Grafana plugin for Fuel Documentation The InfluxDB-Grafana plugin for Fuel Documentation Release 0.8.0 Mirantis Inc. December 14, 2015 Contents 1 User documentation 1 1.1 Overview................................................. 1 1.2 Release

More information

Blogging using Wordpress

Blogging using Wordpress Blogging using Wordpress 5 th February 2014 ilqam By Mohd Ali Mohd Isa 2 Blogging with wordpress INTRODUCTION Wordpress is a free blogging platform that can be accessed from anywhere over the Internet.

More information

I've installed Wampserver 2.1d on Windows 8.1 as it is the nearest in php mysql the rewrite_module option on Apache and uncommented the LoadModule.

I've installed Wampserver 2.1d on Windows 8.1 as it is the nearest in php mysql the rewrite_module option on Apache and uncommented the LoadModule. How To Install Joomla Module 2.5 On Wamp Server 2.1 Extensions Showcase Directory Translations Ideas 1 Create a Place on Your Remote Host to Install Joomla! 2.1 Upload all Files by FTP, 2.2 Upload a Compressed

More information

Publish Joomla! Article

Publish Joomla! Article Enterprise Architect User Guide Series Publish Joomla! Article Author: Sparx Systems Date: 10/05/2018 Version: 1.0 CREATED WITH Table of Contents Publish Joomla! Article 3 Install Joomla! Locally 4 Set

More information

Publish Joomla! Article

Publish Joomla! Article Enterprise Architect User Guide Series Publish Joomla! Article Sparx Systems Enterprise Architect supports publishing an entire model, or part of the model, in a local Joomla! Repository as Articles (HTML

More information

nacelle Documentation

nacelle 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 information

WordPress Maintenance For Beginners

WordPress Maintenance For Beginners WordPress Maintenance For Beginners Content Pages, posts, users, links, widgets, menus, comments, products, etc. Media Images, documents, videos, music, etc. Plugins Function, features, and facilities.

More information

Software Development I

Software Development I 6.148 Software Development I Two things How to write code for web apps. How to collaborate and keep track of your work. A text editor A text editor A text editor Anything that you re used to using Even

More information

HTML presentation, positioning and designing responsive web applications.

HTML presentation, positioning and designing responsive web applications. Hi I am Rodolfo. I put to life to MEAN Stack development and Serverless applications in Amazon and Google Cloud. My passion revolves around helping clients solve very complex problems using cool technologies

More information

Turbo boost your digital app test automation with Jenkins

Turbo boost your digital app test automation with Jenkins Turbo boost your digital app test automation with Jenkins Step-by-Step Tutorial May, 2018 Speakers Sheli Ashkenazi Sr. Product Manager Experitest Jonathan Aharon Sr. Sales Engineer Experitest 2 01 The

More information

Better Translation Technology. XTM Connect for WordPress

Better Translation Technology. XTM Connect for WordPress Better Translation Technology XTM Connect for WordPress Documentation for XTM Connect for WordPress. Published by XTM International Ltd. Copyright XTM International Ltd. All rights reserved. No part of

More information

TDD: TEST DRIVEN DRUPAL

TDD: TEST DRIVEN DRUPAL TDD: TEST DRIVEN DRUPAL BIT.LY/TDD-TEST-DRIVEN-DRUPAL DIAMOND SPONSOR PLATINUM SPONSORS GOLD SPONSORS Module and theme developers Want to know more about automated testing Looking to start writing your

More information

cwmon-mysql Release 0.5.0

cwmon-mysql Release 0.5.0 cwmon-mysql Release 0.5.0 October 18, 2016 Contents 1 Overview 1 1.1 Installation................................................ 1 1.2 Documentation.............................................. 1 1.3

More information

Continuous Delivery for Python Developers PyCon 8, 2017

Continuous Delivery for Python Developers PyCon 8, 2017 Continuous Delivery for Python Developers PyCon 8, 2017 live slides @ tinyurl.com/pycon8-cd Peter Bittner Developer (of people, companies, code) Co-founder Painless Software @peterbittner, django@bittner.it

More information

Selenium Training. Training Topics

Selenium Training. Training Topics Selenium Training Training Topics Chapter 1 : Introduction to Automation Testing What is automation testing? When Automation Testing is needed? When Automation Testing is not needed? What is the use of

More information

Simulation Manager Configuration Guide

Simulation Manager Configuration Guide Cornell University College of Veterinary Medicine Student Training Simulation Project Simulation Manager Configuration Guide 2018-Oct-1 Version 1.9 Prepared by: I-Town Design David Weiner 117 Burleigh

More information

A TALE OF TWO APPS WHY DEVELOPMENT PRACTICES MATTER

A TALE OF TWO APPS WHY DEVELOPMENT PRACTICES MATTER A TALE OF TWO APPS WHY DEVELOPMENT PRACTICES MATTER WHO AM I? PHP Developer for about 9 years Worked in insurance for 4.5 years I know RPG! (Not that good at it though) WHAT DID WE NEED TO DO? Build an

More information

Index. alt, 38, 57 class, 86, 88, 101, 107 href, 24, 51, 57 id, 86 88, 98 overview, 37. src, 37, 57. backend, WordPress, 146, 148

Index. alt, 38, 57 class, 86, 88, 101, 107 href, 24, 51, 57 id, 86 88, 98 overview, 37. src, 37, 57. backend, WordPress, 146, 148 Index Numbers & Symbols (angle brackets), in HTML, 47 : (colon), in CSS, 96 {} (curly brackets), in CSS, 75, 96. (dot), in CSS, 89, 102 # (hash mark), in CSS, 87 88, 99 % (percent) font size, in CSS,

More information

WP EBOOKS Creating A WordPress Network

WP EBOOKS Creating A WordPress Network WP EBOOKS Creating A WordPress Network The Complete Guide to Setting Up WordPress Multisite 1 WP EBOOKS Creating A WordPress Network The Complete Guide to Setting Up WordPress Multisite 2 Creating a WordPress

More information

About Us. Services CONSULTING OUTSOURCING TRAINING MENTORING STAFF AUGMENTATION 9/9/2016

About Us. Services CONSULTING OUTSOURCING TRAINING MENTORING STAFF AUGMENTATION 9/9/2016 About Us Incorporated in January, 2003 QA and QC in expertise focused on functional, performance and application security validation HPE Software Gold Partner, HPE Authorized Software Support Partner &

More information

How to set up a continuous integration process in the cloud

How to set up a continuous integration process in the cloud How to set up a continuous integration process in the cloud Tools and services I will use the following cloud services and tools: 1. Github for source code hosting and release control 2. Travis CI for

More information

Reviewer Plugin. Ultimate Reviews & User Ratings. Version Author: Michele Ivani Reviewer Plugin v. 3.6.

Reviewer Plugin. Ultimate Reviews & User Ratings. Version Author: Michele Ivani Reviewer Plugin v. 3.6. Reviewer Plugin Ultimate Reviews & User Ratings Version 3.6.0 Author: Michele Ivani Twitter: @Michele_Ivani Reviewer Plugin v. 3.6.0 1 di 15 Index # Getting started 3 Install the plugin 3 Installation

More information

Make your IBM i Sizzle

Make your IBM i Sizzle Make your IBM i Sizzle with WordPress seidengroup.com Seiden Group and Club Seiden Alan is a leader and expert in PHP on IBM i; leader, Zend s PHP Toolkit for IBM i; and Performance guru of PHP on IBM

More information

CMS and e-commerce Solutions. version 1.0. Please, visit us at: or contact directly by

CMS and e-commerce Solutions. version 1.0. Please, visit us at:   or contact directly by Frequently Asked Questions for Magento User Guide version 1.0 created by IToris IToris Table of contents 1. Introduction... 3 1.1. Purpose... 3 2. Installation and License... 3 2.1. System Requirements...

More information

CodeCeption. introduction and use in Yii. Yii London Meetup - 15 April 2014 by Matteo Peach Pescarin

CodeCeption. introduction and use in Yii. Yii London Meetup - 15 April 2014 by Matteo Peach Pescarin CodeCeption introduction and use in Yii Yii London Meetup - 15 April 2014 by Matteo Peach Pescarin - @ilpeach The current situation (Potentially) fiddly system configuration unless the framework ships

More information

JUnit 3.8.1, 64. keep it simple stupid (KISS), 48

JUnit 3.8.1, 64. keep it simple stupid (KISS), 48 Index A accessor methods, 11, 152 add parameter technique, 189 190 add() method, 286 287, 291 algorithm, substituting, 104 105 AND logical operator, 172 architectural design patterns, 277 278 architecture,

More information

if (WP_DEBUG) E_ALL 'on'; }

if (WP_DEBUG) E_ALL 'on'; } BAVC WordPress Resources http://codex.wordpress.org/ Lab Resources MAMP Git Aptana Studio 3 Firefox with Firebug Outline I. WordPress installation (Installing_WordPress) A. Requirements 1. PHP >= version

More information

Continuous Integration & Code Quality MINDS-ON NUNO 11 APRIL 2017

Continuous Integration & Code Quality MINDS-ON NUNO 11 APRIL 2017 Continuous Integration & Code Quality MINDS-ON NUNO BETTENCOURT (NMB@ISEP.IPP.PT) @DEI, 11 APRIL 2017 Continuous Integration - THE THEORY - NMB@DEI - 11 April, 2017 CONTINUOUS INTEGRATION & SOFTWARE QUALITY

More information

Welcome to you user manual for your website

Welcome to you user manual for your website Welcome to you user manual for your website Your website is unique to you. We build our websites on the Wordpress platform. and each of our websites are designed to be different. To achieve this we use

More information

Exercises. Cacti Installation and Configuration

Exercises. Cacti Installation and Configuration Exercises Cacti Installation and Configuration Exercises Your Mission... Install Cacti Create device entry for your local router Create device entries for your local servers Create entries for class router

More information

Exercises. Cacti Installation and Configuration

Exercises. Cacti Installation and Configuration Exercises Cacti Installation and Configuration Exercises Your Mission... Install Cacti Create device entry for your local router Create device entries for your local servers Create entries for class router

More information

Continuous Integration (CI) with Jenkins

Continuous 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 information

Blog site (cont.) theme, 202 view creations, 205 Browser tools, 196 Buytaert, Dries, 185

Blog site (cont.) theme, 202 view creations, 205 Browser tools, 196 Buytaert, Dries, 185 Index A Administration, 157 backups and restore (see Backups and restore website) file system, 161 log files, 162 tasks, 157 updates and security patches, 165 user accounts, 166 Aggregator module, 218

More information

WordPress SEO. Basic SEO Practices Using WordPress. Leo Wadsworth LeoWadsworth.com

WordPress SEO. Basic SEO Practices Using WordPress. Leo Wadsworth LeoWadsworth.com Basic SEO Practices Using WordPress Leo Wadsworth LeoWadsworth.com Copyright 2012, by Leo Wadsworth, all rights reserved. Unless you have specifically purchased additional rights, this work is for personal

More information

Release Ralph Offinger

Release Ralph Offinger nagios c heck p aloaltodocumentation Release 0.3.2 Ralph Offinger May 30, 2017 Contents 1 nagios_check_paloalto: a Nagios/Icinga Plugin 3 1.1 Documentation..............................................

More information

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. WordPress

About the Tutorial. Audience. Prerequisites. Copyright & Disclaimer. WordPress About the Tutorial WordPress is an open source Content Management System (CMS), which allows the users to build dynamic websites and blog. WordPress is the most popular blogging system on the web and allows

More information

Composer and Drupal. CIDUG Meeting December 13, 2018 John Rearick

Composer 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 information

Index. Chaminda Chandrasekara 2017 C. Chandrasekara, Beginning Build and Release Management with TFS 2017 and VSTS, DOI /

Index. Chaminda Chandrasekara 2017 C. Chandrasekara, Beginning Build and Release Management with TFS 2017 and VSTS, DOI / Index A Agent platforms, 10 system and user capabilities, 10 Agent pool add user, 12 assign permissions, 55 56 default pool, 8 hosted Linux pool, 8 hosted pool, 7 set up assign administrator role, 45 auto-provision

More information

Relax-and-Recover (ReaR) Automated Testing

Relax-and-Recover (ReaR) Automated Testing Relax-and-Recover Relax-and-Recover (ReaR) Automated Testing Gratien D'haese IT3 Consultants http://it3.be What is ReaR? A modular bare-metal disaster recovery tool for GNU/Linux written in bash with a

More information

Index 1. Description 2. Examples 3. Installation 4. How to begin using

Index 1. Description 2. Examples 3. Installation 4. How to begin using 3 Index 1. Description 2. Examples 3. Installation 4. How to begin using 4.1. Adding web forms 4.1.1 Widgets 4.1.2 Shortcodes 4.2. Adding CTA s 4.2.1 Widgets 4.2.2 Shortcodes 2 3 7 8 8 9 11 13 13 15 1.

More information

Vijaya Chandran

Vijaya Chandran Testing Vijaya Chandran Mani @vijaycs85 Overview Introduction Types Sample tests Lessons learned 1. Introduction What? Code to test code by coder for coder Lives and runs as part of project code base Quality

More information

withenv Documentation

withenv Documentation withenv Documentation Release 0.7.0 Eric Larson Aug 02, 2017 Contents 1 withenv 3 2 Installation 5 3 Usage 7 3.1 YAML Format.............................................. 7 3.2 Command Substitutions.........................................

More information

Creating pipelines that build, test and deploy containerized artifacts Slides: Tom Adams

Creating pipelines that build, test and deploy containerized artifacts Slides:   Tom Adams Creating pipelines that build, test and deploy containerized artifacts Slides: https://goo.gl/2mzfe6 Tom Adams tadams@thoughtworks.com 1 Who I am Tom Adams Tech Lead tadams@thoughtworks.com http://tadams289.blogspot.com

More information

Continuous Delivery for Cloud Native Applications

Continuous Delivery for Cloud Native Applications Continuous Delivery for Cloud Native Applications Cyrille Le Clerc, Director, Product Management at CloudBees Bjorn Boe, Senior Field Engineer at Pivotal Software Speakers /Cyrille Le Clerc Product Manager

More information