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.

Role of Test Automation in Modern Software Delivery Pipelines

91 views

Published on

This presentation dives into the role of test automation in modern software delivery pipelines and how the expectations on the test automation have changes over time with complex business demands and faster release cycles. And the dive in to details on how Test Automation needs to evolve into Continuous Testing approach to handle the complexities and the speed required in a modern business context.

Published in: Technology
  • Advertisers run several ad campaigns across multiple websites and mobile apps. These ad campaigns' KPIs need to be proactively monitored and optimized to increase their ROI. Hence, we have built our own automated campaign data anomaly detection system using machine learning. This system will help spot data anomalies in campaign performance data for thousands of campaigns dailyAdvertisers run several ad campaigns across multiple websites and mobile apps. These ad campaigns' KPIs need to be proactively monitored and optimized to increase their ROI. Hence, we have built our own automated campaign data anomaly detection system using machine learning. This system will help spot data anomalies in campaign performance data for thousands of campaigns daily http://bit.ly/2N5Z6kh
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Leverage Test Automation Services to build automated test scripts using open source tools and test your website under peak load conditions. Maximize software quality. Get a free Proof of Concept. http://bit.ly/2lTjjzX
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Role of Test Automation in Modern Software Delivery Pipelines

  1. 1. Role of Test Automation In Modern Software Delivery Pipelines Kasun Kodagoda Technical Lead | 99X Technology https://kasunkodagoda.com
  2. 2. Coming Up… • Why Test Automation is Important? • What Should Be Automated? • Expectation of Test Automation • Continuous Testing • Why Continuous Testing is Important? • Continuous Testing vs Test Automation • Benefits of Continuous Testing • Key Best Practices
  3. 3. Why Test Automation is Important? • Automated repetitive test scenarios • More time to focus on new business cases and exploratory testing • Can be used to assess the application load and performance • Executing end-to-end scenarios with many virtual users • Can be integrated into CI/CD Pipelines • Run automated smoke tests, load tests on the different stages of development • Increase productivity and quality of the software product.
  4. 4. What Should be Automated? • Unit Tests • Smoke Tests • API Tests • Integration Tests • UI Tests • Regression Tests • Performance Tests • Security Tests
  5. 5. Expectation of Test Automation • The expectation being put on Test Automation has changed • Business demands are more complex and require fast release cycles • Legacy Test Automation can not keep up • Legacy Test Automation Frameworks • Brittle tests • Slow End-to-End execution time • Increased levels of False Positives • This leads to more reliance on Manual Testing
  6. 6. The Reality Source: Tricentis
  7. 7. Continuous Testing The Next Evolution of Test Automation
  8. 8. Continuous Testing Continuous testing is the process of executing automated tests as part of the software delivery pipeline to obtain feedback on the business risks associated with a software release candidate as rapidly as possible.
  9. 9. Continuous Testing • Executing automated tests as part of a software delivery pipeline • Get feedback on; • Business risk associated with a release • Fast feedback to mitigate risk • Evolution of Test Automation • To handle the increasing complexity of software products • Fast delivery cycles
  10. 10. Why Continuous Testing Is Important? • Application Architecture is getting increasingly complex • Microservices, Cloud, APIs creates endless combinations in a single business scenarios • Application Releases have become much faster • Applications are getting deployed multiple times per day, even multiple times per hour • Software is an Interface for the Business • A software failure is a business failure. And the impact is huge.
  11. 11. Continuous Testing vs Test Automation • Risk • Risk is different from Code Complete vs Analyzing Risk in earlier stages of development • Detect risk at the end of the development • Risk is much higher • Impact is much greater • Time to react is much less • Continuous Testing detects risk early as possible • More time to react • The risk and the Impact associated is much less and more manageable
  12. 12. Continuous Testing vs Test Automation • Breadth • The boundaries between applications are getting blurred • You are no longer doing your end-to-end scenarios in a single application • Span across multiple applications and services • Using different technologies • Scope of end-to-end scenarios are much wider • Advanced Automation techniques are required • To handle these complexities
  13. 13. Continuous Testing vs Test Automation • Time • Time-to-market is what matters • Deliver value faster to the customer • Beat the competition to become the market leader • Development can always release software much faster than we can test it. • Traditional testing methods can’t keep up • Predictor of Success • Time-to-Market • The Risk Associated with it. • It’s no longer • When the Code/Product is Ready, it’s When the Business is Ready
  14. 14. Benefits of Continuous Testing • Assess the business risk coverage • Instant insights into the viability of a release candidate • Is it too risky to progress to the next stage of the software delivery pipeline? • Helps preserving the quality and user experience in an accelerated development process • Testing is embedded in the development process, Not an afterthought
  15. 15. Benefits of Continuous Testing • Seamlessly integrates with Software Delivery and DevOps pipelines • A shift-left approach to software quality • Fast feedback at each stage of delivery
  16. 16. Who Is Responsible? • The entire Engineering Team is responsible • Shift-Left Approach to Quality is a must • Cultural & Mindset Change is necessary
  17. 17. Key Best Practices • Incorporate Exploratory Testing • Identify usability issues, missing functionality • Address functionality that automation can’t handle or too expensive • Risk Based Test Prioritization and Test Case Design • Continues testing is risk based • So identifying the business risks and prioritizing with risk in mind is important • Risk Coverage over Test Coverage
  18. 18. Key Best Practices • UI and API Based Test Automation • UI tests should complement the lower level automation • Test Data Management Process • Proper Test Data Management is important • If the test data is correct, you can prevent false positives • CI/CD Integration • Continuous testing needs to be integrated into CI/CD • Define acceptable baselines • Create thresholds that automated pipelines can identify and break the CI/CD
  19. 19. Key Best Practices • Planning your Test Frameworks • Reuse code, create common packages to share • Reduce duplication, decrease maintenance • Allows you to focus on writing tests that add value • Continuous Learning and Improvements • Identify key technologies that can be used to • Reduce execution time • Reduce scripts (or even script-less automation) • Reduce maintenance
  20. 20. Thank You :) Any Questions? ;)

×