The agenda for the upcoming vodQA Pune - Less Talk, Only Action! is now published. NOTE: For this event, we will require the participants to get their laptops (and chargers).
vodQA Pune - Less Talk, Only Action! - Registration - 8.30am- 9.15am - Welcome note - 9.15am
Topics covered:
This vodQA will focus on hands-on activities. We are setting up a bunch of workshops for participants, please keep a watch for details and pre-requisites required for the workshops. We will publish the agenda very soon in vodQA groups on Facebook (https://www.facebook.com/groups/vodqa/) and LinkedIn (https://www.linkedin.com/groups/4281359) NOTE: For this event, we will require the participants to get their laptops (and chargers).
I spoke about "Patterns in Test Automation Framework" in ATA's Global Testing Retreat 2016, held in Pune. For a change, I did not need to travel out of Pune to speak in a conference :) Here are some details about the same:
Abstract
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 Framework2. Test Data Management3. 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!
Over the past few years, after having spoken in a lot of individuals & teams in conferences & organizations, I realized the understanding of Agile and what does it mean to do effective Testing on Agile projects / teams is very poor. So, we at ThoughtWorks, Pune, as part of vodQA Pune - Agile Testing Workshop, start 2016 with the objective of connecting with our peers in the Software industry to discuss and understand - "What is Agile and what does it mean to Test on Agile projects / teams?" We have planned and organized this vodQA conference in a very Lean and simple way - announcement, registrations, agenda and updates - all directly from our vodQA group in facebook. This edition of vodQA will be held on Saturday, 9th January, 2016 at the ThoughtWorks, Pune office on the 4th floor. For more details, see the vodQA event page in facebook.
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.
Abstract
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.
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.
Abstract
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:
Build your Test Automation Framework
Test Data Management
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!
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:
Abstract
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.
I spoke in DevOps Summit on 8th Oct in Bangalore on "To Deploy, or Not To Deploy - Decide using TTA's Trend & Failure Analysis".
The conversations during and after this talk with various veterans in the Software Industry, across various different domains; reiterated my belief in the need for me to spend more time in taking TTA to the next level and make it a more robust and feature-rich product.
Below are the details of the talk:
Abstract
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.
ThoughtWorks Gurgaon is happy to announce 8th edition of vodQA happening on 17th October, 2015 at TW Gurgaon office.
The theme for this edition is "Quest For Quality", i.e. anything and everything related to quality. The speaker registrations are now open, request you all to submit talkshere.
Taste of Mobile - ThoughtWorks, Chennai - Saturday, 31st October, 2015
This edition of VodQa will give you the 'TASTE OF MOBILE'. We will discuss new practices and ideas in the field of mobile testing. You could present your thoughts as a hands-on workshop, a short lightning talk (\~10 mins) or a detailed presentation (\~30 mins), submit your talkshere.
As mentioned here, I conducted a Client-side Performance Testing workshop in TechJam. It was a full house, and almost turned into a flop show because there was no wifi available - an essential requirement for the workshop. There were 2 things that saved me: 1. The attendees, thankfully (in this case) did not read the prerequisites well - most of them came without a laptop 2. Because of the above, I could get by using a 3G USB connection and just do a demo of the tools I wanted to show. End of the day, all was good. I got good feedback from the participants that they really enjoyed the workshop, and it was very informative and useful. (Thank you all again for the kind words!) Below is the video from the workshop.
[UPDATE] I think I will include some interesting Innovation Games to demonstrate the need for collaboration and more effective working. Or it could be something more specific to Testing on Agile projects. So many options ... --------------------------------- As part of Unicom's World Conference Next Generation Testing, I am doing a 1-day workshop on "Agile Testing", on Friday, 24th July 2015 in Bangalore. You can register for the workshop from here, or contact me for more information. Below are the details of the workshop.
Agile Testing
Abstract
The Agile Manifesto was published in 2001. It took the software industry a good few years to truly understand what the manifesto means, and the principles behind it. However, choosing and implementing the right set of practices to get the true value from working the Agile way has been the biggest challenge for most!
While Agile has now gone mainstream, and as we get better at the development practices to being Agile, Testing has still been lagging behind in most cases. A lot of teams are still working in the staggered fashion - with testing following next after development completed.
In this workshop, we will learn and share various principles and practices which teams should adopt to be successful in testing on Agile projects.
Agenda
What is Agile testing? - Learn what does it mean to Test on Agile Projects
Effective strategies for Distributed Testing - Learn practices that help bridge the Distributed Testing gap!
Test Automation in Agile Projects - Why? What? How? - Why is Test Automation important, and how do we implement a good, robust, scalable and maintainable Test Automation framework!
Build the "right" regression suite using Behavior Driven Testing (BDT) - Behavior Driven Testing (BDT) is an evolved way of thinking about Testing. It helps in identifying the 'correct' scenarios, in form of user journeys, to build a good and effective (manual & automation) regression suite that validates the Business Goals.
Key Learnings for participants in this workshop
Understand the Agile Testing Manifesto
Learn the essential Testing practices and activities essential for teams to adopt to work in Agile way of working
Discover techniques to do effective testing in distributed teams
Find out how Automation plays a crucial role in Agile projects
Learn how to build a good, robust, scalable and maintainable Functional Automation framework
Learn, by practice, how to identify the right types of tests to automate as UI functional tests - to get quick and effective feedback
Pre-requisites
At-least a basic working knowledge and understanding of Agile
I had the opportunity to speak in Discuss Agile Delhi 2015 on 2 topics. Here are the details on the same:
Enabling Continuous Delivery (CD) in Enterprises with Testing
Abstract:
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.
To Deploy, or Not to Deploy? Decide using Test Trend Analyzer (TTA)
Abstract:
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.
Here is an update of the vodQA that went by at supersonic speed!
We had an intense and action-packed vodQA in ThoughtWorks, Pune on Saturday, 6th June 2015 - with the theme - Innovations in Testing!
Here are some highlights from the event:
You can find the details of the agenda + links to slides & videos from here or here.
After a record breaking attendee registrations (~500), we frantically closed off registrations. This meant around 140-180 people would show up based on historic attendance trends. 135 attendees made it to vodQA - the first person reaching office at 8.30am - when the event was supposed to start at 10am! That is enthusiasm!
We had 45+ speaker submissions (and we had to reject more submissions because the registrations had already closed). After speaking to all submitters, and a lot of dry-runs and feedback, we eventually selected 6 talks, 4 lightning talks, 4 workshops from this massive list.
We were unfortunately able to select only 2 external speakers (but it was purely based on the content + relevance to the theme). One of these speakers travelled all the way from Ahmedabad to Pune on his own for delivering a Lightning Talk.
We had a few ThoughtWorkers travelling from Bangalore (2 speakers + 1 attendee) and 1 (speaker) from Gurgaon
We had around 30-40 ThoughtWorkers participating in the conference.
No event in the office can be possible without the amazing support from our Admin team + support staff!
Overall - we had around 200 people in the office on a Saturday!
For the first time, we did a live broadcasting of all the talks + lightning talks (NO workshops). This allowed people to connect with vodQA as it happened. Also - usually the last and most cumbersome thing from a post-event processing - uploading videos - was now the the first thing that was completed. See the videos here on youtube. This update got delayed because we still have to get the link to the slides :(
We celebrated the 5th Birthday of vodQA!
Even though most projects in TW Pune are running at 120+% delivery speed, we were able to pull this off amazingly well! This can only happen when individuals believe in what they are contributing towards. Thank you all!
We wrapped up most of the post-event activities (office-cleanup, retro, post-vodQA dinner and now this update email) within 5 days of the vodQA day - another record by itself!
Detail agenda, with expected learning and speaker information available here (http://vodqa-pune.weebly.com/agenda.html) for vodQA Pune - Innovations in Testing. NOTE; - Each workshop has limited # of seats. - Registration for workshop will be done at the Attendee Registration Desk between 9am-10am on vodQA day. - Registration will be on first-come-first choice basis. - See each talk / workshop details (below) for pre-requisites, if any.
---------------- vodQA is back in ThoughtWorks, Pune on Saturday, 6th June 2015. This time the theme is - "Innovations in Testing". We got a record number of submissions from wannabe speakers and HUGE number of attendee registrations. Selecting 12-14 talks from this list was no small task - but we had to take a lot of tough decisions. The agenda is now published (see here - http://vodqa-pune.weebly.com/agenda.html) and we are looking forward to have a very rocking vodQA!
I spoke in a conference recently on "What is Agile Testing? How does Automation help?"
Abstract
Agile Methodology is not new. Many organisations / teams have already adopted Agile way of Software Development or are in the enablement journey for the same.
What does this mean for Testing? There is no doubt that the Testing approach and mindset also needs to change to be in tune with the Agile Development methodology.
Learn what does it mean to Test on Agile Projects. Also, learn how Test Automation approach needs to change for the team to be successful!
I am conducting a workshop on "Client-side Performance Testing" in vodQA Geek Night, ThoughtWorks, Hyderabadfrom 6.30pm-8pm IST on Thursday, 14th May, 2015. Visit this page to register! Abstract of the workshop:
In this workshop, we will see the different dimensions of Performance Testing and Performance Engineering, and focus on Client-side Performance Testing.
Before we get to doing some Client-side Performance Testing activities, we will first understand how to look at client-side performance, and putting that in the context of the product under test. We will see, using a case study, the impact of caching on performance, the good & the bad! We will then experiment with some tools like WebPageTest and Page Speed to understand how to measure client-side performance.
Lastly - just understanding the performance of the product is not sufficient. We will look at how to automate the testing for this activity - using WebPageTest (private instance setup), and experiment with yslow - as a low-cost, programmatic alternative to WebPageTest.
Venue:
ThoughtWorks Technologies (India) Pvt Ltd. 3rd Floor, Apurupa Silpi, Beside H.P. Petrol Bunk (KFC Building), Gachibowli, Hyderabad - 500032, India
[UPDATED - Slides added]
Yet another vodQA begins today, Saturday, 25th April 2015 - this time at ThoughtWorks, Bangalore. The theme for this vodQA is - "Push the Envelope". The detail agenda can be found here.
I conducted a workshop on "Client-side Performance Testing" in vodQA Bangalore. Abstract of the workshop:
In this workshop, we will see the different dimensions of Performance Testing and Performance Engineering, and focus on Client-side Performance Testing.
Before we get to doing some Client-side Performance Testing activities, we will first understand how to look at client-side performance, and putting that in the context of the product under test. We will see, using a case study, the impact of caching on performance, the good & the bad! We will then experiment with some tools like WebPageTest and Page Speed to understand how to measure client-side performance.
Lastly - just understanding the performance of the product is not sufficient. We will look at how to automate the testing for this activity - using WebPageTest (private instance setup), and experiment with yslow - as a low-cost, programmatic alternative to WebPageTest.
I have been very busy off late .... and am enjoying it too! I am learning and doing a lot of interesting things in the Performance Testing / Engineering domain. I had no idea there are so many types of caching, and that there would be a need to do various different types of Monitoring for availability, client-side performance testing, Real User Monitoring, Server-side load testing and more ... it is a lot of fun being part of this aspect of Testing. That said, I am equally excited about 2 talks coming up in the end-of-March 2015:
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 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 and Enterprises need to implement to enable CD. Testing (automation) is one of the important practices that needs to be setup correctly for CD to be successful.
Testing in Organizations on the CD journey is tricky and requires a lot of discipline, rigor and hard work. In Enterprises, the Testing complexity and challenges increase exponentially.
In this session, I am sharing my vision of the Test Strategy required to make successful the journey of an Enterprise on the path of implementing CD.
Behavior Driven Testing (BDT) is a way of thinking. It helps in identifying the 'correct' scenarios, in form of user journeys, to build a good and effective (manual & automation) regression suite that validates the Business Goals. We will learn about BDT, do some hands-on exercises in form of workshops to understand the concept better, and also touch upon some potential tools that can be used.
Learning outcomes
Understand Behavior Driven Testing (BDT)
Learn how to build a good and valuable regression suite for the product under test
Learn different style of identifying / writing your scenarios that will validate the expected Business Functionality
Automating tests identified using BDT approach will automate your Business Functionality
Advantages of identifying Regression tests using BDT approach