location_city Bengaluru schedule Mar 28th 11:30 AM - 12:30 PM place Esquire Hall

Chef is a popular Infrastructure Automation framework based in Ruby. It comes with a host of testing tools bundled with it like ChefSpec for unit testing, ServerSpec for system testing and TestKitchen for integration testing. This session is a demo of how to use these frameworks to test drive cookbook development.

 
 

Outline/Structure of the Demonstration

1) What is Infrastructure as Code & Why do we need Infrastructure Code - 5 mins

This section would explain the rationale behind Infrastructure as Code

2) Chef Architecture - 5 min
This section will discuss the major components of Chef and discuss how they are connected with each other. Also details how Chef models infrastructure.

3) Understanding Test Pyramid in Infrastructure Code testing - 5 mins
This section gives an understanding of how test pyramid should be for Infrastructure Code testing

4) Write Test Driven MySQL cookbook - 40 mins
Demos an incremental building of mysql cookbook, in the red-green-refactor sequence
a) Write system tests and test that they fail
b) Write recipe to make system tests green
c) Write unit tests to enhance test pyramid
d) Make sure recipe passes
e) Add a platform using test-kitchen and see it fail
d) Refactor recipe to provide a second platform

Note: The above will be a demo of incremental github repos as it is not possible to do it live in the session. This github repo will be shared with the audience.

Questions - 5 mins

Learning Outcome

1) Learn how to write tests for Infrastructure Code
2) Understanding Test Pyramid in Infrastructure Code testing
3) Exposure to Testkitchen, ServerSpec, ChefSpec
4) A working github repo for deploying an open source application that the audience can try later.

Target Audience

Developers, Quality Analysts, Release Engineers

schedule Submitted 5 years ago

Public Feedback


    • 45 Mins
      Talk
      Advanced

      Good engineering practices and fail-fast, iterative, low-ceremony processes help achieve team level agility. They are necessary but not sufficient to scale agility across the IT organization. In this talk, I'll address what else is needed and why. In particular, I'll address:

      1. Why plan-driven IT projects are a bad idea why we need value-driven projects instead
      2. Why a matrix org is a bad idea for IT and why we need cross-functional teams instead
      3. Why IT budgeting needs to change from being project-based to being team-capacity based
    • KK Sure
      keyboard_arrow_down

      KK Sure / Sheril Jebasingh - First Amongst Equals - Can UX be there?

      20 Mins
      Case Study
      Intermediate

      Traditionally, in software development, user experience (UX) wasn't valued as much as developing of the software itself. But this has changed rather radically. However, creating an enriching user experience in an agile fashion is still challenging. Most of the agile engineering practices in use are around building software but seldom address UX. When building a product in an agile fashion, UX in an incremental fashion becomes important.

      In this talk, we will present our experience of creating UX in an incremental fashion for a virtual wallet. We will also talk about the different challenges we faced such as, educating various stakeholders on the value of incremental UX, building collaboration between developers and experience designers and abstracting design components, along with the solutions we devised to tackle these challenges.

    • Krishnan Nair
      keyboard_arrow_down

      Krishnan Nair / KK Sure - Process Agility - the nemesis of business agility?

      45 Mins
      Talk
      Advanced

      We've come far in our journey of Agile as a software development methodology. From stand-ups to showcases to sprint planning meetings to burn-ups (or downs), we've got it down pat when it comes to processes to follow to be considered Agile. However this heads-down, process defined agile, often hinders real agility required to meet business needs. Is doing a three hour sprint planning meeting every week the most important thing to do when you have to get a minimal-viable-product out in the market? How much of automated functional testing should you do when you know that your product's beta version is only going to validate assumptions of your business idea? Should you write tests at all? There is no formulaic answer.

      In this talk, KK and Krishnan will talk about their experience of how much Agile is too much Agile. We look at how to find the right balance between following agile practices and being responsive to your business. How much agile is too much and how less is too less?

      We will do this by looking at:

      • A couple of successful agile adoption stories
      • Look at why agile was successful in the contexts above
      • Discuss why this success will limit us if we are not careful
      • Talk about a start-up and how the things that led to success in the first 2 stories limited us in the start-up context
      • Look at approaches to understand what agile practices/processes to follow to be business agile
      • Close by summarizing the challenges facing agile (as we see it) and how success in process agility will limit us in business agility
    • 60 Mins
      Demonstration
      Intermediate

      The key objectives of organizations is to provide / derive value from the products / services they offer. To achieve this, they need to be able to deliver their offerings in the quickest time possible, and of good quality!

      In order for these organizations to to understand the quality / health of their products at a quick glance, typically a team of people scramble to collate and collect the information manually needed to get a sense of quality about the products they support. All this is done manually.

      So in the fast moving environment, where CI (Continuous Integration) and CD (Continuous Delivery) are now a necessity and not a luxury, how can teams take decisions if the product is ready to be deployed to the next environment or not?

      Test Automation across all layers of the Test Pyramid is one of the first building blocks to ensure the team gets quick feedback into the health of the product-under-test.

      The next set of questions are:
          •    How can you collate this information in a meaningful fashion to determine - yes, my code is ready to be promoted from one environment to the next?
          •    How can you know if the product is ready to go 'live'?
          •    What is the health of you product portfolio at any point in time?
          •    Can you identify patterns and do quick analysis of the test results to help in root-cause-analysis for issues that have happened over a period of time in making better decisions to better the quality of your product(s)?

      The current set of tools are limited and fail to give the holistic picture of quality and health, across the life-cycle of the products.

      The solution - TTA - Test Trend Analyzer

      TTA is an open source product that becomes the source of information to give you real-time and visual insights into the health of the product portfolio using the Test Automation results, in form of Trends, Comparative Analysis, Failure Analysis and Functional Performance Benchmarking. This allows teams to take decisions on the product deployment to the next level using actual data points, instead of 'gut-feel' based decisions.

    • KK Sure
      keyboard_arrow_down

      KK Sure - Testing in Agile - Antipatterns and Remedies

      45 Mins
      Talk
      Intermediate
      When it comes to agile, we all know and practise standups, retrospectives, sprint plannings, showcases etc. Quite a few times, teams end up following these set of rituals and ceremonies without understanding the guiding principles of agile.
       
      In this talk I will present some testing practices that various agile teams employ. Some of these practices are anti-patterns and have the exact opposite effect of what is expected, while others become an anti-pattern sooner or later if not tweaked according to the changing situations.
       
      I will talk about the aspects like "Whose responsibility is Quality?", 'Measuring agile tester's success", "Balance between automation and exploratory testing". Along with each of the anti-pattern, I will present the remedies to fix these anti-patterns.
    • Sreedevi Vedula
      keyboard_arrow_down

      Sreedevi Vedula - Infrastructure As Code - The secret sauce for Continuous Delivery

      Sreedevi Vedula
      Sreedevi Vedula
      Quality Analyst
      ThoughtWorks
      schedule 5 years ago
      Sold Out!
      60 Mins
      Demonstration
      Intermediate

      Developing Infrastructure as Code as a practice is increasingly adopted by organizations that want to have Continuous Delivery. Infrastructure As Code requires treating infrastructure as code, applying the same development techniques that one uses to build application software. This talk discusses the need for having infrastructure as code, the several frameworks available in this space (like Puppet, Chef, Ansible), what they bring to the table and the philosophical differences between them and the testing tools and frameworks available to test infrastructure as code. The concepts would be supported by snippets of infrastructure code written for an open source application.

    • Sreedevi Vedula
      keyboard_arrow_down

      Sreedevi Vedula - The Practical Pyramid

      Sreedevi Vedula
      Sreedevi Vedula
      Quality Analyst
      ThoughtWorks
      schedule 5 years ago
      Sold Out!
      20 Mins
      Talk
      Intermediate

      An Ideal Test Pyramid is an invaluable technique to succeed with agile. However, it is challenging to have this ideal pyramid in practical projects for several conditions in the projects, like legacy code bases. To have a good test pyramid, several best practices of software development need to be followed. This talk discusses the practices that help in implementing test pyramid and the challenges faced by many teams in doing that and suggestions on how to overcome them.