schedule Oct 24th 01:00 PM - 01:45 PM place Tiered Classroom

I recently was put on a project where we were doing development for a website. There was already a large code base, and we went in to add features in order to complete the site; including performing code refactoring when necessary. In order to accomplish this successfully, we wanted to build a complete DevOps pipeline, ensuring the application was being tested early and often: static analysis, unit, smoke, acceptance, security, feature, load, and performance. None of this testing was previously in place, and to ensure the refactoring doesn’t break anything, this testing became critical for us.
This session will discuss setting up a complete DevOps pipeline, with a quick CI cycle, followed by automated and scheduled CD cycles to QA, Staging, and Production. We will cover the many pitfalls of integrating already built code into this process, and some lessons learned and good strategies for other teams looking to accomplish this. Tools and techniques used for a PHP project will be demoed, but all of these practices can be applied to any project.

 
6 favorite thumb_down thumb_up 4 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist
 

Outline/structure of the Session

  • Project Background
  • Code Overview
  • Pipeline
    • Dev
      • Unit Testing/Code Coverage
      • Static Analysis
      • Third Party Tools Analysis
    • DevInt
      • System Test
      • Smoke Test (APIs)
      • Acceptance Test (Selenium)
      • Security Scan (Unauthenticated)
    • Test
      • System Test
      • Smoke Test (APIs)
      • Acceptance Test (Selenium)
      • Regression Test (Selenium through Proxy)
      • Security Scan (Authenticated)
    • Pre-Prod
      • System Test
      • Penetration Test (w3af)
      • Performance Test (SOAPUI and LoadUI)
    • Production
      • System Test
  • Pitfalls / Lessons Learned

Learning Outcome

Those attending the presentation will walk away with an understanding of how to integrate CI/CD practices into an existing development project.

Common tools and techniques will be discussed, including environment, test, and security automation. All tools discussed are open source.

Additionally, attendees will engage in a discussion on best practices for DevOps at the end of the talk.

Target Audience

Developers, Testers, DevOps

schedule Submitted 1 year ago

Comments Subscribe to Comments

comment Comment on this Proposal
  • George Dinwiddie
    By George Dinwiddie  ~  1 year ago
    reply Reply

    Max, I wish your outline of the session included the details of the pipeline you plan to demonstrate.

    • Max Saperstone
      By Max Saperstone  ~  1 year ago
      reply Reply

      George, I added some more comments in my outline to address the pipeline a bit, without trying to give everything away

      • George Dinwiddie
        By George Dinwiddie  ~  1 year ago
        reply Reply

        The outline is really intended to be for the program committee. Confengine blurs that distinction.

        • Max Saperstone
          By Max Saperstone  ~  1 year ago
          reply Reply

          I put in a full outline of the pipeline. Hopefully this helps expand on things


  • Liked Arjun Comar
    keyboard_arrow_down

    Arjun Comar - DevOps in a Regulated and Embedded Environment

    Arjun Comar
    Arjun Comar
    Software Consultant
    Coveros
    schedule 1 year ago
    Sold Out!
    45 mins
    Experience Report
    Intermediate

    Embedded environments greatly restrict the tools available for a DevOps pipeline. A regulated environment changes the processes a development team can use to deliver software. The combination results in a highly restricted environment that forces the team back to first principles, finding what can actually work. In this talk we'll consider the options, develop a set of helpful tools and discuss the challenges facing any team working on DevOps in unfavorable environments.

    Together, we'll examine my experiences with a medical device company, where I built a DevOps pipeline for software controlling a heart pump. I would like to discuss the tools that worked as well as the principles that lead our team to success.

  • Liked Max Saperstone
    keyboard_arrow_down

    Max Saperstone - Custom Testing Frameworks

    45 mins
    Talk
    Intermediate

    There are many testing tools and frameworks out there, and the question often is, which is the best one to use. The main things that I look for are ease of use, self documentation, and error handling. After working with Selenium for almost a decade, I have yet to come across a framework that provides that with ease. So I decided to write one. I wrote this framework to build upon Selenium's tools, specifically to provide more error handling capabilities and custom output reporting. While the Testing Framework is both designed and optimized for Selenium Webdriver, it can be run for any type of tests, including used for unit tests. An entire testing framework, including custom reporting metrics, is built on top of the basic TestNG framework. All of the Selenium functionality is wrapped, providing fallback capabilities, so that if an element is missing, or a check is performed that fails, the test do not crash, they continue forward, logging the error. All Selenium calls are automatically documented, and screenshots are taken anytime an action or check is performed. Setup was designed to be simple and quick, allowing more concentration on creating tests, and less worry about configuring.

  • Liked Jeffery Payne
    keyboard_arrow_down

    Jeffery Payne - Building an Agile Company from Scratch

    Jeffery Payne
    Jeffery Payne
    CEO
    Coveros, Inc.
    schedule 1 year ago
    Sold Out!
    45 mins
    Talk
    Beginner

    There's been lots of talk recently about how agile can be used to run and manage businesses. This presentation discusses the lessons learned while building Coveros into a successful company by using agile methods. Topics discussed will include: effective approaches for keeping an organization lean, leveraging agile principles for company structure and staff organization, using Scrum/Kanban techniques to focus staff on what's most important and minimize WIP, and using open book management techniques to assure everyone in the company can impact change. Challenges and issues in implementing these concepts will be discussed as well as how to overcome them. Participants in this session will leave with practical ideas about how to apply agile principles to their business (or division) and make it more successful.