Build the "right" regression suite using Behavior Driven Testing (BDT)

BDT is a way to identify the correct scenarios to build a good and effective (manual & automation) regression suite that validates the Business Goals. We will learn about how this is different from BDD, and do some hands-on exercises in form of workshops to understand the concept better.

 
 

Outline/Structure of the Workshop

  • What is BDD – Behavior Driven Development?
  • What is BDT – Behavior Driven Testing?
  • The difference between BDD and BDT
  • Understand Case Study
  • Iteration 1 - Work in teams to write scenarios
  • Iteration 1 - retrospective
  • Different styles of writing scenarios - Imperative Vs Declarative
  • Update Case Study
  • Iteration 2 - work in teams to write new scenarios
  • Iteration 2 - retrospective
  • The value proposition for the team - live documentation, business rules, onboarding, etc.

Learning Outcome

  • Understand the difference between BDD and BDT
  • Learn how to build a good regression suite for the product under test
  • Learn different style of writing your scenarios that validate the expected Business Functionality

Target Audience

BAs, QAs, Product Owners

schedule Submitted 6 years ago

Public Feedback


    • Liked Vinod Sankaranarayanan
      keyboard_arrow_down

      Vinod Sankaranarayanan / Pravin Kumar Thakur - Introducing Agile Knowledge Transfer

      20 Mins
      Experience Report
      Beginner

      After more than 5 years of supporting the thetrainline.com platform, ThoughtWorks worked with The Trainline teams to transfer knowledge and context  back to the Trainline Teams.

      This methodology was co-created by ThoughtWorks and Trainline as a healthy sustainable and mature way to transfer knowledge. The transition itself was about a year long and involved multiple agile concepts around remote pairing, program MVP and above all, continuous delivery and non-disruption to business through the process.

      This presentation would take the audience through the experiences and learnings of the process. This session is co-presented by ThoughtWorks and Trainline (vendor and customer) and will provide an insight across multiple spectrums of delivery and business.

    • Liked Naresh Jain
      keyboard_arrow_down

      Naresh Jain - Scaling XP Practices inside your organization using Train-the-Trainer Model

      Naresh Jain
      Naresh Jain
      Founder
      Xnsio
      schedule 6 years ago
      Sold Out!
      90 Mins
      Workshop
      Advanced

      How do you effectively scale skill-based, quality training across your organization?

      Over the years, I've experimented with different ideas/models to scaling skill-based training across an organization. In the last 4 years, I've pretty much settled down on the following model. Its very useful when mentoring teams on skills like Test-Drive-Development (TDD), Behavior-Driven Development (BDD), Product Discovery, Writing User Stories, Evolutionary Design, Design Patterns, Problem Solving, etc. I've successfully implemented this model at some very prominent fortune 500 enterprises.

      The goal of this workshop is to explore what other successful models organized have used to scale skill-based training in their organization.

    • Naresh Jain
      Naresh Jain
      Founder
      Xnsio
      schedule 6 years ago
      Sold Out!
      45 Mins
      Demonstration
      Intermediate

      "Release Early, Release Often" is a proven mantra and many companies have taken this one step further by releasing products to real users with every commit a.k.a Continuous Deployment (CD).

      Over the years, I've built many web/infrastructure products, where we've effectively practiced CD. However at Edventure Labs, when we started building iPad games, we realized there was no easy was to practice CD, esp. given the fact that Apple review takes a few days.

      Our main question was: As mobile app developers, how should we architect/design our apps for CD?

      We were a young startup, learning new behavior about our users (kids aged 5-8) everyday. We could not afford any delay in releasing latest, greatest features to our users. To solve this problem, I believe we've built an innovative solution to enable any mobile app developer to achieve CD.

      If you are building real products, which have platform/3rd-party dependencies and you want to practice CD, this session is for you.

    • 45 Mins
      Experience Report
      Intermediate

      Agile processes are the new order of IT implementations. These talk will elaborate on our experience and learnings during agile process implementation at Walmart. 

      We will touchupon following 3 key areas and our learnings that helped us scale agile in large enterprises.

      • Process Visualization - Our learnings related to visualization of existing processes and practices and how it helped us identify signals from noise

      • Product Backlog Elaboration - In a complex and large programs product backlog management and role of product owner needs to be revisited.

      • Team Working Agreement - This is particulary crucial for scaling agile as dependency management is one of the key aspects of enterpsie agile implementation.

      We will conclude with our key learning of how processes needs to be continuously evolved in large scale implementation.

    • Liked Pramod Sadalage
      keyboard_arrow_down

      Pramod Sadalage - Ten Patterns of Database Refactoring

      Pramod Sadalage
      Pramod Sadalage
      Software Developer
      ThoughtWorks
      schedule 6 years ago
      Sold Out!
      45 Mins
      Talk
      Beginner

      Over the life of an application as requirements change, application usage patterns alter, load and performance changes the need to change database and database architecture is inevitable. There are patterns of these changes such as

      1. 1. Encapsulate Table with View
      2. 2. Migrate method from database
      3. 3. Replace method with views
      4. 4. Introduce Read only table
      5. 5. Split table
      6. 6. Make column non-nullable
      7. 7. Drop column
      8. 8. Add foreign key constaint
      9. 9. Merge columns
      10. 10. Replace columns

      In this talk we will discuss the above database refactoring patterns and different implementation techniques to enable blue, green deployments, allow for legacy applications to work with fast changing database and enable the teams to effectively refactor the database to fulfill the changing needs of the organization.

    • Liked Cara Turner
      keyboard_arrow_down

      Cara Turner - Building Creative Teams: Motivation, Engagement and Retrospectives

      Cara Turner
      Cara Turner
      Agile Coach
      Khanyisa Real Systems
      schedule 6 years ago
      Sold Out!
      90 Mins
      Talk
      Advanced

      How do software teams become creative? If you're not a start-up, does creativity even play a role in the business driven world of software development? Idea generation is the basis of all our work - no matter how challenging or mundane. With a scientific approach to implementing change, creativity is the basic tool we have for addressing the challenges of software development.

      This talk explores the elements of engagement and creativity along with the neuroscience of generating ideas. These give us specific insight into how employing different agile retrospective formats over the course of the product development process can extend our usual practices and develop a thinking mind-set comfortable with tackling daily work with a fresh and explorative approach.

    • Liked Anand Bagmar
      keyboard_arrow_down

      Anand Bagmar - Automate across Platform, OS, Technologies with TaaS

      45 Mins
      Demonstration
      Advanced

      "TaaS" is an open-source product that allows you do achieve the "correct" way of doing integration testing across a variety of products via Test Automation.

      Typically in organizations, there are multiple projects / products. Many organizations like to have a common Test Automation solution across these products in an effort to standardize the framework.

      However, this is not a good idea! Each product should be tested using the tools and technologies that are "right" for it. Yet - these different products talk with each other and you need to test the integration between them in an automated way.

    • Liked Sudipta Lahiri
      keyboard_arrow_down

      Sudipta Lahiri - Capacity Planning for Dynamic Teams

      20 Mins
      Experience Report
      Intermediate

      Fixed price (and fixed scope) projects dominate the offshore industry. These projects have offshore/onsite teams. They often have large team size (over 100s of people in one team).

      Agile thinking uses team velocity/ throughput and uses that to project an end date (Kanban system) or how much scope can be accomplished in a given time duration (number of sprints in SCRUM). They assume a stable team. However, this is not applicable for projects. They experience resource and productivity ramp-up issues. Often, resources keep changing as new projects come in. Projects do not have past velocity or throughput data. Extrapolating historical data from other similar projects, though possible, is inaccurate for multiple reasons.

      This talk is based on our experience of working with such project teams. They want to adopt agile methods. We show how they can adopt the Kanban Method and yet do: A) Initial Capacity Planning B) Assess the impact of scope creep to the project end date.

      The session assumes a basic understanding of the Kanban method.

    • Liked Ellen Grove
      keyboard_arrow_down

      Ellen Grove - Build Your Dreams: User Requirements Gathering with LEGO Serious Play

      90 Mins
      Workshop
      Beginner

      Let your hands be the search engine for your brain! LEGO® Serious Play® is a powerful thinking, communicating and problem solving technique that can help you and your team do serious work through structured play activities using a popular and playful 3D modeling toy. Through a facilitated process of building models that, storytelling and reflection, every person at the table is engaged and actively participating in the discussion, whether the topic is individual aspirations, team relationships, developing a new product or solving a wicked organizational problem. Everyone builds and everyone tells their story – all participants have equal opportunity to put their own points of view on the table, unlocking new perspectives and exposing the answers that are already in the room.  LEGO Serious Play has been used successfully for team-building and problem solving in a variety of organizations, from NASA to RBC to academic settings and public utilities.  

      This presentation provides a hands-on introduction to LEGO Serious Play, so that you can experience firsthand how using LEGO to do real work unleashes creativity and enables meaningful conversations in a very short time. We will explore how to use this playful technique to collaboratively elicit information about user requirements and strategic design issues using the open source User Requirements with Lego methodology developed by a team at the University of Lugano, Switzerland.  This approach is particularly suited to Agile teams that want to get team members and stakeholders sharing their different perspectives on common goals in an open and light-weight manner.

    • Liked Jason Yip
      keyboard_arrow_down

      Jason Yip - Think Like an Agilist: Deliberate practice for Agile culture

      Jason Yip
      Jason Yip
      Principal Consultant
      ThoughtWorks
      schedule 6 years ago
      Sold Out!
      90 Mins
      Workshop
      Intermediate

      If I say, culture is important to adopting Agile, most people will just agree without even thinking too much about it.  But what is meant by "culture"?  Why is it important?

      Culture is not typical behaviour; it is not what we say we value (but don't actually do).  Culture is our basic assumptions of how things work.  Culture is the logic we use to think through and respond to any particular situation.

      If you imagine a pyramid, Agile practice and any other visible behaviour is on the top, stated or written Agile values and principles are in the middle, fundamental assumptions (aka culture) is at the base.

      My session is intended to expose people to the base of that pyramid.

      If culture is assumptions, then to understand Agile culture, we need to understand the basic assumptions of Agile.  To do this, I have created an approach called "Think Like an Agilist" that both exposes how we think through an "Agile situation" and allows us to deliberately practice "Agile culture".

      The general idea is that I won't just talk about Agile culture and values, what I'll call "culture theatre", but rather expose people, who nominally consider themselves part of the Agile culture, to their underlying thought processes and assumptions, given a relatively difficult scenario.  Those thought processes and assumptions are the essence of culture (reference Edgar H. Schein).  What is interesting is noting when the thought processes and assumptions are different which indicates that there is a different culture at play.  What I've noticed is that this difference is common between novice vs expert Agilists.

      Note that it isn't even about analyzing vs doing it mechanically but more about exposing what assumptions are being used to respond.

      NOTE: I will be updating the attached slides as when I created them, I was framing it more as "doctrine" rather than "culture", defined as fundamental assumptions"

    • Aman King
      Aman King
      Agile Technologist
      ThoughtWorks
      schedule 6 years ago
      Sold Out!
      20 Mins
      Experience Report
      Beginner

      Are you an Agile Practitioner? Or are you responsible for Agile transformation?

      Organizations that have begun their Agile journey welcome the guidance of an experienced Agile Coach. But external guidance cannot continue indefinitely as the only way to scale Agile.

      If you are in an Agile team, are you prepared to take on the coaching role for other teams once your Agile Coach moves on?

      If you are a manager, are you looking at grooming in-house coaches to scale and self-sustain transformation?

      The transitioning of practitioners into coaches can be key to your Agile journey. Individuals get to build on their potential, while the organization becomes more self-reliant.

      This session explores my personal journey from practitioner to coach. It should help you too in taking that first jump into the role of a coach. I will share real-world examples of dealing with on-the-fly situations, and of preparing upfront where possible. I will recommend resources, and mention handy techniques that should be in a coach's toolkit. The session essentially provides a kick-start for first-time coaches.

    • Liked Nikhil Joshi
      keyboard_arrow_down

      Nikhil Joshi - Build - Measure - Learn : Without spending a fortune

      20 Mins
      Experience Report
      Beginner

      At times we have great product ideas but the biggest barrier to entry lies in answering few questions such as:

      - How do I define and validate Problem hypothesis, Solution hypothesis and Underlying assumptions?

      - How do I quickly setup a platform for people to register their interest?

      - What will keep the potential customers engaged, excited until the first release (or beta) is out?

      - How do I get feedback from the early adopters?

      - And eventually when I have answers to some of these questions, how do I make a decision to persevere or pivot?

      If you've faced a challenge while answering any of these questions while building/validating your product idea, this session is for you. We'll look at tools and techniques to validate the product hypothesis early-on without spending months or fortunes. We'll also look at a case study to highlight how some of these tools, techniques helped us validate our product idea.

    • Liked Nitin Ramrakhyani
      keyboard_arrow_down

      Nitin Ramrakhyani - Lean Roots to Grow, Wings to fly!

      45 Mins
      Talk
      Beginner

      A lot has been said about Kanban and how these can be implemented in Software development, but the learning remains superficial till we go deep down to its roots to understand the core underlying practices and principles and why/how these practices evolved over a period of time. Infact the roots of most of the Agile methods can be traced back to Lean/Toyota Production Systems, a set of practices and techniques used by Toyota to build great set of cars with limited amount of resources. Even though building software is much different than building a car, there are many lessons and practices that can be learnt and applied nonetheless.

      In this interactive and visual talk, we'll take a virtual trip to Japan and learn some of the best practices/concepts that originated at Toyota for building "world-class" cars and see how each of these can be applied to software development. Learning about the roots of Lean should help the attendees in sowing the seeds of Lean improvement in their organizations and would help in building better software and improving the efficiency of the software delivery lifecycle.

    • Liked Ram Srinivasan
      keyboard_arrow_down

      Ram Srinivasan - The Conflict Paradox

      90 Mins
      Workshop
      Intermediate

      It is not a question of if a team is going to have a conflict; it is a question of when. Equipping them to deal with conflict is more than creating agreements or having a good facilitator. We look at a conflict model that focuses on dynamics of conflict by understanding- 1. Cognitive skills:self-awareness about triggers, hot spots, emotions,behaviors. 2. Emotional skills:reading emotions, body language, balancing emotions, using curiosity 3. Behavioral skills:understanding others’ perspectives and needs, avoiding 8 destructive behaviors, embracing 8 constructive behavior. In an organizational setting, it is important to understand the source (culture, interdependence, incompatibility, personality, power, etc.) and types of conflict (cognitive vs. affective). Creating awareness about conflict processes, retaliatory cycles and building a conflict profile can empower teams engage in constructive disagreements. 

    • Liked Tathagat Varma
      keyboard_arrow_down

      Tathagat Varma - Designing agile feedbacks for agile learning - an experience report

      Tathagat Varma
      Tathagat Varma
      Country Manager
      NerdWallet
      schedule 6 years ago
      Sold Out!
      20 Mins
      Experience Report
      Beginner

      Feedback is perhaps the most important aspect of the overall agile lifecycle. If the feedback is too wide and shallow, it won't give enough actionable feedback. If it is too narrow and deep, it might fail to register feedback outside its focus area. So, how does one go about designing feedbacks that enable agile learning. We call them agile feedbacks.

      In this brief session, we will share an experience from designing agile feedbacks for agile trainings and workshops. The objective was to get most critical feedback in shortest amount of time to enable quick action planning. We created feedback that took a maximum of 5 minutes and enabled the most important learning in both, focussed as well as open-ended manner that allowed us to focus on the most critical items. We employed elements of Design Thinking and Rapid Iterative Testing and Evaluation (RITE) to improve the process and quality of feedback themselves. We will also be touching up these concepts and how effective they were.

    • Liked Ram Ramalingam
      keyboard_arrow_down

      Ram Ramalingam - The secret shortcuts to Agile... (that won't get you there)

      Ram Ramalingam
      Ram Ramalingam
      Associate Partner
      IBM
      schedule 6 years ago
      Sold Out!
      45 Mins
      Talk
      Advanced

      This is an exploratory talk, based, first, on some recent insights from cognitive science, behavioural economics (which have enriched Agile folklore already) and then on, some interesting twists from culture based research in sociology and psychology. While the former will be useful in understanding the common pitfalls encountered in a scaled Agile implementation, the latter, maybe useful in understanding the unexpected twists when doing scaled agile in a distributed/off-shore environment that have different cultural norms.

      While the anti-patterns and anti-paths are common across the world, the solution to these does differ. The assumptions behind what leads to a motivated, self-organizing, self-directing team will determine how to bring about a nuanced mindset to Agility, and understanding that what works in the West may not work in India (and other similar higher Power-Distance-Index countries).

      While sharing my experiences in a large scale Agile transformation and working with different cultures, I hope to bring out some subtle variations that could be useful in coaching and working with and transforming Agile teams in an offshore engagement.

    • Liked Mushtaq Ahmed
      keyboard_arrow_down

      Mushtaq Ahmed - Using a modern web framework for big enterprise agile project

      Mushtaq Ahmed
      Mushtaq Ahmed
      Mr Scala
      ThoughtWorks
      schedule 6 years ago
      Sold Out!
      20 Mins
      Demonstration
      Advanced

      At ThoughtWorks, a 50-people team is building a marketing website backend for one of the largest consumer electronics brands in the world. We are Play-Scala as our web framework which allows us to design the application in a very different but powerful ways. This experience based talk will talk about these differences, emphasizing on two of them: "Dealing with concurrency without threads" and "Dependency resolution with constructor injection".

      Dealing with concurrency without threads
      - The backend is end to end non-blocking with highly concurrent architecture
      - Each page consists of 20+ reusable snippets, so each page request translates into 20+ outbound web service calls to get data for the snippet data in parallel
      - Posting data involves download/upload of large images from/to remote services, also done in parallel
      - We will show you how Scala Futures, Play and ReactiveMongo functional programming paradigm allows us to do all this without blocking any thread or managing thread-pools by hand

      Dependency resolution with constructor injection
      - Dependency injection is considered essential for designing applications that are easy to test. Usaully, dependencies are specified as constructors parameters
      - Scala traits allow us to get rid of constructors by wrapping classes and their factories inside components that in turn can depend on other components, this enables a compile time mechanism for dependency resolution which is very flexible
      - We will show examples of this pattern, its effects testing without external DI frameworks

      We will briefly talk on how functional programming style in general helps with testing and software delivery on agile projects. Finally, we will also cover the pain-points these approaches bring out, and argue if it is worth to pay that cost.

       

       

    • Liked Gerry Kirk
      keyboard_arrow_down

      Gerry Kirk - Create an Agile virus in your organization, empower your team, change your life

      90 Mins
      Tutorial
      Beginner

      Need buy in from a key manager or executive to adopt Agile? Desiring better team collaboration? Hungry for a saner life at home?
      Try Personal Kanbanwinner of the Shingo prize for Operational Excellence. It's the fastest, simplest way to taste test the goodness of the Lean Agile approach to managing knowledge work. Personal Kanban empowers small teams and individuals, at work and at home.Give that overwhelmed executive instant relief. Build your own system, and soon curious onlookers ask and then create their own. Look out, you've just released an Agile virus in your organization!
      You've also discovered a way for you and your team to get more out of your efforts, to improve communication, and find time for the things that matter most.In this session you'll learn how to create a Personal Kanban system through stories, examples and interactive exercises. Walk away understanding the psychology behind visualizing work and limiting work in progress, inspired and motivated to make a difference at work and home. 

    • Liked Anna Obukhova
      keyboard_arrow_down

      Anna Obukhova - The SCRUM and the willpower: how neuroscience can boost your productivity

      Anna Obukhova
      Anna Obukhova
      Agile Coach
      ScrumTrek
      schedule 6 years ago
      Sold Out!
      45 Mins
      Talk
      Intermediate

      Willpower is the force that is between the brain activity (I want to do this or I need to do this) and the action itself (start coding). If there is not enough willpower, people find it difficult to start any activity (especially that involves
      decision making).


      What is the standard approach when you feel tired and find it difficult to concentrate? Take some coffee (but latest research shows that coffee depletes the brain activity, even when body has more energy), take some sweets (but sugar ends quickly and gives even more exhaustion to the body)? These widely used strategies generally do not work, and in long-term even add harm to the body and brain.


      The willpower is not endless (so-called muscle theory of willpower), it can be saved, it can be trained, there are approaches how to keep the willpower level high. To keep the willpower (and thus, productivity) on the high level, people should know and use different approaches that lay in the field on the social and cognitive science.


      There are a lot of evidences that SCRUM improves the developer’s productivity in terms of speed of development, code quality, and accuracy of design. Unfortunately mainly all recommendations from SCRUM coaches look like “believe me, if you do this, you will have better velocity”. Yes, it works. But why does it work?


      Sometimes SCRUM does not give such great results even when main elements are in place. The question “Why” and “What makes the difference” is here again.


      I will describe the model of relationship between the willpower related brain metabolism on very low level (specific amino acid cycle) and the SCRUM practices. I can prove that SCRUM addresses the productivity of the people’s brain using 3 different flows simultaneously. There are several tips that make these productivity flows working or not. You can make Agile productive, you can have non-productive Agile. I will show you where the difference is.


      Overall there are 10 productivity tips that can be put into 3 flows.


      As the outcome of this session, Agile coaches, and all people who can change the process (in fact that is any team member) will review their SCRUM: does the way they have it improve the productivity or they are losing all the power? The changes are cheap, the outcome can be huge.

    • Liked Naresh Jain
      keyboard_arrow_down

      Naresh Jain - SAMPLE PROPOSAL - Product Discovery Workshop

      Naresh Jain
      Naresh Jain
      Founder
      Xnsio
      schedule 6 years ago
      Sold Out!
      90 Mins
      Tutorial
      Beginner

      Many product companies struggle with a big challenge: how to identify a Minimal Viable Product that will let them quickly validate their product hypothesis?

      Teams that share the product vision and agree on priorities for features are able to move faster and more effectively.

      During this workshop, we’ll take a hypothetical product and coach you on how to effectively come up with an evolutionary roadmap for your product.

      This 90 mins workshop teaches you how to collaborate on the vision of the product and create a Product Backlog, a User Story map and a pragmatic Release Plan.

      This is a sample proposal to demonstrate how your proposal can look on this submission system.