Monday, November 30, 2015

Enabling CD at Agile Noida

On 29th November 2015, I spoke in Agile Noida on "Enabling Continuous Delivery (CD) in Enterprises with Testing".

Below is the abstract, slides and video from the talk.


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!
In such a fast moving environment, CI (Continuous Integration) and CD (Continuous Delivery) are now a necessity and not a luxury!
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.





Sunday, November 29, 2015

Patterns in Test Automation - Framework, Data, Locators at Agile Noida

On 28th November 2015, I spoke in Agile Noida on "Patterns in Test Automation - Framework, Data, Locators".

I had spoken on the same topic (Patterns in Test Automation) in vodQA Hyderabad - but that was a Testing conference and I knew the attendees were Testing and Test Automation focused. Here, I was skeptic about how this topic would be received by the attendees - given that the conference was focused on Agile, and this topic was core Testing related, and to add to the fact - very technical where I was showing various Java / Ruby code samples.

My skepticism was, thankfully, unfounded. There was a good number of attendees that came to the talk and based on conversations after the talk, I realized that I was able to get the message across to the attendees.

Below is the abstract, slides and video from the talk.


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:
  1. Build your Test Automation Framework
  2. Test Data Management
  3. Locators / IDs (for finding / interacting with elements in the browser / app)
Using these patterns you will be able to build a good framework, that will help keep your tests running fast, and reliably in your CI / CD setup!



Monday, November 23, 2015

TTA in Discuss Agile Day Pune

I spoke in Discuss Agile Day, Pune on 22nd Nov on "To Deploy, or Not To Deploy - Decide using TTA's Trend & Failure Analysis".

Below are the details of the talk:


In a fast-moving environment, where Continuous Integration (CI) and Continuous Delivery (CD) are a necessity and not a luxury, how can teams decide if a product is ready to be deployed to the next environment and go 'live'?

What is the health of your product portfolio at any point in time?
Can you identify patterns over a period of time in making better decisions to better the quality of your product(s)?
Test Automation across all layers of the Test Pyramid enables to get quick feedback about the health of the product-under-test.

However, in an organization having multiple products in its portfolio, how can you get the collated quality / health information from all the products, quickly and in real-time? Or, for a large program of work, which has various projects being worked on in parallel by numerous teams across the world, how can the relevant people quickly get the consolidated quality / health information for the whole program?

In such cases, how can you:
- figure out any Trends / Patterns in the quality, or,
- do any meaningful Comparative Analysis (say between the quality of last release Vs the next release), or,
- do quick Failure Analysis and prioritize the 'fixing' of issues in an efficient fashion, and,
- do some quick Functional Performance Benchmarking.

At present this needs to be done manually.
Learn an effective way to answer the above questions - with TTA (Test Trend Analyzer), an open source product.

TTA give you real-time and visual insights into the health of the product portfolio using the Test Automation results. This allows teams to take decisions on the product deployment to the next level using actual data points, instead of 'gut-feel' based decisions.

Slides from the talk