Enabling Continuous Delivery (CD) in Enterprises with Testing

The key objectives of any organization 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!

There are various practices that organizations need to implement to enable CD. Changes in requirements (a reality in all projects) needs to be managed better. Along with this, processes and practices need to be tuned based on the team capability, skills and distribution.

Testing (automation) is one of the important practices that needs to be setup correctly for CD to be successful. But, this is tricky and requires a lot of discipline, rigor and hard work by all the team members involved the product delivery.

All the challenges faced in smaller organizations get amplified when it comes to Enterprises. There are various reasons to this - but most common reasons are - scale, complexity of the domain, complexity of the integrations (to internal / external system), involvement of various partners / vendors, long product life-cycles, etc.

In such situations, the Testing complexity and challenges also increase exponentially!

Learn, via a case study of an Enterprise, a large Bank, the Testing approach required to take them on the journey to achieving CD.

Outline/structure of the Session

Explain the concept of a Test Pyramid, what it really means and some Test Pyramid Anti-Patterns

Recap of what Continuous Integration (CI) and Continuous Delivery (CD)

Describe the case-study of an Enterprise on the path to implement CD, including challenges related to scale in implementing processes and practices, managing distributed teams, changes in requirements, etc.

Walk-through the Test Strategy for this Enterprise

Different types of testing required (Starting from Unit, and all the way up to UI, NFRs, batches, migrations, etc.)

Different types of Environments needed

Test data challenges and requirements

Importance of selecting the right tools and technology for Testing

How does Manual testing fit in this?

Ways to show real-time assessment of state of the product-under-test in order to take meaningful decisions for next deployment stage

Key takeaways from the Test Strategy to help achieve CD

Learning Outcome

Understand the [Test Automation Pyramid](http://martinfowler.com/bliki/TestPyramid.html), and its importance for quick feedback

People who liked this proposal, also liked:

Sanath - Life Skills for the tester

schedule 2 years ago

Sold Out!

45 Mins

Keynote

Beginner

When a tester begins his career, he usually learns testing from testing institutes and organzations. What they do is to impart technical skills and core testing techniques to the tester (Black box testing, white box testing, automation, boundary value analysis, etc.). What's forgotten is "Lifeskills" (key skills for a tester to survive in testing). By Survival, I dont mean "mere existence in the company" as another testing resource year on year; I would define Survival as the tester's capability to constantly influence others, develop re-learning capabilities and indulge in "continous learning" throughout his career. Most of these lifeskills were originally designed by the "World Health Organization" for being used in education (which has been conveniently overlooked in our schools due to the demands of our "centum seeking generation"). These skills are expected to With these skills, the tester can work autonomously, make independant decisions, question others around him, challenge himself and help him in his quest towards excellence. Some of these lifeskills would include "Empathy", "Problem Solving", "Coping with Stress and emotion", "Critical Thinking", "Decision Making" etc. This talk is about the 1st 10 years of a tester's life and the lifeskills that he would need to start developing, sustain and drop at various stages of his 1st 10 years. The intent of this speech is to open up thoughts from everyone on this topic and get them to start thinking about the importance of having such "lifeskills" in testing education.

Kapil Saxena - BUILDING AGILITY FOR AUTOMATED MOBILE APPS TESTING

schedule 2 years ago

Sold Out!

45 Mins

Keynote

Advanced

Mobile Apps market is growing rapidly and this has raised our expectations as a user. Study researchers have found that nearly 50% of consumers will delete a mobile app if they encounter just a single bug. More to that 35% of the consumers would report this bug publicly to friends or peers and in many cases, to the app provider itself. There is no way to hide poor mobile app quality in this era of social networking. Today's consumer demands high quality, are you ready to cater to it?

schedule 2 years ago

45 Mins

Talk

Intermediate

Building a Test Automation Framework is easy - there are so many resources / guides / blogs / etc. available to help you get started and help solve the issues you get along the journey.

However, building a "good" Test Automation Framework is not very easy. There are a lot of principles and practices you need to use, in the right context, with a good set of skills required to make the Test Automation Framework maintainable, scalable and reusable.

Design Patterns play a big role in helping achieve this goal of building a good and robust framework.

In this talk, we will talk about, and see examples of various types of patterns you can use for:

Rajdeep - Enrich Your Mobile Automation With Visual Assertions

schedule 2 years ago

Sold Out!

45 Mins

Talk

Intermediate

While we continuously implement new functionalities in our mobile app, automated functional tests acts as safety net and gives us confidance. Still, there is something missing. Many times we get feedbacks from clients like:"Sign-In button has shifted a bit and user have to scroll down to see it""We asked to change background color of screen-X, it got changed for Screen-Y screen as well""Why has fonts of this link become so tiny?”I am working on customer facing enterprise level Mobile apps of one of the biggest airline in the world. For us user experience is as important as functionality.Our regression suit did not have capability to catch such issues. Moreover, we started building another airline app from the same codebase with only change in user interface of this new app. This means, change done for one app, affects another. Hence, it became really critical to enhance our automation with visual assertions.There are many tools which can do this, but they charge hefty money and also does not give full flexibility. Therefore, I worte my own gem called 'nakal'.http://rubygems.org/gems/nakal

ShriKant Vashishtha - Specification by Example (ATDD/BDD) Explained

schedule 2 years ago

Sold Out!

45 Mins

Talk

Intermediate

What if you could write functional tests without writing a single line of application code? What if those tests are written in plain English (so that anybody could understand) but still it's executable spec or source-code? What if you could generate the documentation from live production source code? Now you don't need to update the requirement doc all the time.

What's Specification by Example? Is it different compared to BDD? Who all participate in defining these specifications? Are functional tests and functional specifications same? These are the questions this session tries to answer.

Boopathi - IOT Vs Intelligence of Testing

schedule 2 years ago

Sold Out!

15 Mins

Talk

Beginner

Planning and Estimation faces the biggest challenge with the new technologies and need for innovation. Agile helps us to minimize this disruption through an iterative and incremental approach. Unpredictable events, Dev takes longer, business changes, retesting extends all of them live in Black Swan territory. What use is a five year test on a Radar when a Lidar replaces it? What to do with long term tests on a battery when it is replaced by one of the new lithium-ion capacitors? Instead of attempting to improve prediction we are better off developing a more robust approach to change by a rethink in testing and a testing mind-set. The emphasis of the report is on lessons of success and failure and what comes next, with lead indicators of such success. Emerging technologies such as mobile apps, tablets, 4G, cloud computing, and HTML5 are impacting software engineering and testing organizations across all industries. By enabling sensitive data to be accessed through the web and on mobile devices, there is immense pressure to ensure that apps are reliable, scalable, private and secure. With the evolving and popular market for wearable and connected devices has led to create simple, efficient and cost effective solutions. Though we are skeptical about the change, Agile minimizes these disruptions through several approaches. The internet of things devices extend its applications more than the smartphones. So how are testers prepared to test their devices in the real messy world outside the lab? What is the role of Tester?