Are you trying to decide what kind of automation to pursue in your current project - API or UI? Or are you enticed by the clear benefits of doing both, but are worried about the kind of maintenance it may require in your tests going forward?

This is the same dilemma that we at Gainsight went through, before we came up with an ingenious solution that allows us to target both API and UI automation and at the same time mitigate most of the the maintenance overheads that are generally associated with such an approach.

The heart of the solution is:

  • A concept called State Transitions which allows to remove navigation level details from test cases.
  • Adherence to common design patterns and industry best practices
  • Designing test cases as a set of business actions rather than a string of click and fill operations.

Once implemented correctly, the proposed approach allows to target both API and UI tests from a single set of feature files.


Outline/Structure of the Demonstration

  • Problem statement
  • Writing declarative feature files.
  • Understanding/Implementing state transitions
  • Defining action interfaces
  • Defining API and UI actions
  • Live execution
  • Q&A

Learning Outcome

The participant will learn:

  • How to design declarative feature files (B.D.D) effectively.
  • How to use state transitions to remove navigation level details from feature files.
  • How to design code to support both UI and API automation.

Target Audience

Anyone who has worked on test automation with B.D.D before can benefit from this session.

Prerequisites for Attendees

To get the best out of this session, the participant is recommended to have some knowledge on the following topics

  • Core Java
  • Selenium
  • B.D.D (Cucumber/ Gherkin)
  • Spring dependency management
schedule Submitted 1 year ago

Public Feedback

comment Suggest improvements to the Speaker
  • Pooja Shah
    By Pooja Shah  ~  1 year ago
    reply Reply

    A useful design technique, thanks Lavneesh for proposing this.

    Along with the code snippets do you plan to do a quick demo, just an idea- showing something like "how could someone go ahead and implement this in their existing framework" 

    It would be great if you could provide any of your previous talk link (any topic) or if none then share a 1-2 minutes video shoot (can be anything you find best example: just briefing why/what you are going to talk, something like why as an attendee, should join this talk)

    • Liked Vineet Tiwari

      Vineet Tiwari / Kunal Bhat - CodeVigil: Real-time monitoring and analysis of automation runs with defect analytics and advanced notifications

      45 Mins

      Do you have thousands of automated test cases, multiple test automation suites, do several runs every cycle, and have a hard time monitoring and analysing all of it or getting any meaningful metrics from it?

      Have you ever been frustrated because there was an infrastructure issue, a setup failure, or a defect which would require a re-trigger of the entire test run and you had to wait till the end of the run to find out while wasting crucial time?

      CodeVigil is an application developed in-house at Gainsight which looks to solve all these problems. It provides the ability to monitor test results and defects as they run while also giving real-time defect analysis even while the suite is running.

      In addition, CodeVigil also gives metrics and analysis at every level (Org/Team/Suite/Feature/Scenario/Step).

      It also provides targeted and relevant rule-based Slack notifications to make stakeholders aware of risks without inundating them with notifications and numbers. It's been particularly useful to support the BDD model at Gainsight.

      The application would be open source and available to use and integrate into your automation process.

    • Liked Somasekhar Bobba

      Somasekhar Bobba - AI Driven Quality Assurance Program

      20 Mins
      Case Study

      State-of-the-art AI solutions automatically find key insights and hidden patterns applied across different domains to solve challenging problems. Embedding automated artificial intelligence as part of SDLC empowers organisations to easily adapt to change & learn fast in driving quality. New Ideas and hypothesis can be efficiently tested and continuously evaluated with datasets available from past test executions - Automated and Manual, Git / Gerrit Code commits, JIRA User stories, Customer Escalations , Product Usage Data, Metadata Configuration, Code Quality Metics, etc

      Automated artificial intelligence provides the following benefits

      • Intelligent automated test suites : Identify and taking decision on what tests to be executed in which phase of the SLDC process.
      • Data Analysis : Artificial intelligence can search and analyse huge combinations in no time to find insights.
      • Impact Analysis and Risk Assessment : Artificial intelligence applies statistical significance, and risk model estimates that manual reports might not consider.
      • Reveals hidden patterns: Artificial intelligence often finds hidden patterns and weak signals that a human might never detect using manual approaches.
      • Reduces Manual bias: Artificial intelligence helps minimise potential bias since insights are purely data-driven.
      • Optimise outcomes: Provides prescriptive, actionable guidance.