Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

ATAGTR2017 Testing in DevOps Culture


Published on

The presentation on Testing in DevOps Culture was done during #ATAGTR2017, one of the largest global testing conference. All copyright belongs to the author.

Author and presenter : Arshi Nazneen

Published in: Technology
  • Be the first to comment

  • Be the first to like this

ATAGTR2017 Testing in DevOps Culture

  1. 1. #ATAGTR2017 16th 17th March Testing in DevOps Culture Arshi Nazneen
  2. 2. Agile Testing Alliance Global Testing Retreat 2017 DevOps (development and operations) is an enterprise software development phrase used to mean a type of agile relationship between Development and IT Operations. A popular belief is that DevOps requires throwing away everything the organization has built and starting from scratch. However, that is untrue; the critical component of DevOps in large organizations is the need to improve communication and collaboration between IT team disciplines. In IT organizations, developers, testers and operations engineers typically play different roles, with varying responsibilities, job descriptions and cultures, and all working in separate functional areas as distinct entities. The question is whether QA can unify these various groups under the DevOps flag and spur adoption. Introduction
  3. 3. Agile Testing Alliance Global Testing Retreat 2017 DevOps at a Glance
  4. 4. Agile Testing Alliance Global Testing Retreat 2017 Testing in Agile Testing in DevOps Test as early and as often as possible. Test Continuously Automate test as much as possible Automate almost everything Continuous integration and testing is a step forward Continuous integration and testing is mandatory Role of Testing in DevOps The role of testing in DevOps can be best understood by comparing how testing is approached in Agile vs. DevOps. From DevOps perspective development and operation takes place together as a TEAM. They work together to deliver the final product. Prior to code integration to trunk, developers pre-flight test their code to make sure it doesn’t blow up the trunk. During the Continuous integration cycle and code commits from multiple developers integration testing is used to verify merges. Contd..
  5. 5. Agile Testing Alliance Global Testing Retreat 2017 • During the continuous testing phase where nightly and weekend regression runs are automated for trunk and release branches it is testing that does the job of finding problems before the software release. • During the development process the verdicts trends from testing are a primary measurement of progress. • During the release deployment phase more testing verifies the release packages are ready for release. What DevOps really does is bring testing into the mainstream of development processes, and avoids the problems created by having “big-bang” testing left to the end of the cycle, such as release delays, and quality issues. Testing is a vital part of the overall DevOps process — not only to ensure verify code changes work and integrate well — but to ensure the changes do not blow up the product. So clearly testing is an integral part of product development and delivery
  6. 6. Agile Testing Alliance Global Testing Retreat 2017 DevOps is Agile • Faster time to market • Higher quality • Increased organizational effectiveness DevOps is Agile taken through its logical evolution, removing all the obstacles to get high-quality software in the hands of customers. Once you have a smooth process for agile development and continuous integration, automating the deployment process makes total sense because it’s fulfilling the objectives that business managers crave:
  7. 7. Agile Testing Alliance Global Testing Retreat 2017 DevOps Adoption DevOps Adoption in 2015
  8. 8. Agile Testing Alliance Global Testing Retreat 2017 DevOps Lifecycle (New SDLC) DevOps lifecycle follow some principles-  Create production like systems for development and testing environment  Deployments need to iterative and frequent. Ensure a reliable and repeatable process  Continuously monitor and validate operational quality characteristics  Amplify feedback loop
  9. 9. Agile Testing Alliance Global Testing Retreat 2017 Challenges DevOps is gaining momentum with legacy organizations but at a slower pace due to a variety of challenges. Typical challenges in IT organizations seeking to embrace DevOps include:  Traditional Ops: This group spends the majority of its time putting out production fires, dealing with recurring failures and making urgent fixes  Test environment overhead: Each environment (testing, development, pre-production/ staging and production) is unique. Operations must have a laser focus on production environment issues and, as such, does not have time to work on improving infrastructure.  Traditional testing: Several thousand interdependent regression test cases run through the application user interface for several days, causing longer test cycles and manual handoffs, resulting in much slower feedback.  Traditional development: Late code integration results in integration issues and late defect fixes, leading to longer cycles. Schedule delays often occur due to the absence of automated build verification and deployment procedures.
  10. 10. Agile Testing Alliance Global Testing Retreat 2017 Continuous Testing (CT) Continuous Testing plays a crucial role in Continuous Delivery. It implicates usage of methods and concepts of agile development for the testing and QA process, offering more efficient testing process. Continuous Testing needs automated end-to-end testing solutions that integrate existing development processes while excluding errors and enabling continuity throughout SDLC
  11. 11. Agile Testing Alliance Global Testing Retreat 2017 Testing teams can play a key role in overcoming the challenges of transitioning to DevOps by planning a CT infrastructure and creating an early feedback loop with development. By successfully implementing CT as a first step, the dots of DevOps can be connected with development and operations to create automated build deployments, code coverage analysis, production monitoring and on-demand environment provisioning – enabling a full cycle of Continuous Transitioning (CT) and Continuous Delivery (CD) to be established. Conclusion