This is the presentation for the "Gauge your BDD Tests" automation testing workshop conducted at vodQA Hyderabad 2015 in ThoughtWorks Hyderabad office.
Over the last few decades we've been bombed with anti-pattern warnings carrying ear-appealing neologisms, such as Primitive Obsession, Object Orgy and Feature Envy. This phenomenon is making us live in a constant fear of life-threatening situations. In the act of self-preservation we don't only avoid anti-patterns, but we make sure we drive away from them as far as we possibly could. However, this is 2016 and a lot has changed. Maybe we drove away a bit too far. Let's start an anti movement: anti anti-patterns. In this talk we motivate our theory that some code smells can now safely be reinterpreted and become the astonishing scent of a fabulous ripe cheese.
Java Sutra is the holy bible of all Java Developers. We did a talk about the Java Sutra at Devoxx Mars and had a lot of audience questions. This talk is about answering all those questions. Come join us dissecting a bunch of patterns and practices that at first sight look extremely great and interesting to try out, but will inevitability break your bones if you try to put them into practice.
Test Driven Development en Go con Ginkgo y GomegaSoftware Guru
Esta sesión está constituida por dos partes: en la primera explicaré en qué consiste el test driven development y cómo funciona a grandes rasgos; posteriormente mostraré ejemplos de cómo se puede implementar en el lenguaje de programación Go utilizando el framework Ginkgo y la biblioteca de afirmaciones Gomega.
Gauge is a lightweight open-source, cross-platform test automation tool from ThoughtWorks which provides the ability to author test cases in the business language.
By: Harmeet Singh & Vivek Mahajan
Mobile Test Automation Made Awesome With AppiumvodQA
This document discusses mobile testing and the tool Appium. It covers the importance of mobile testing, the different types of mobile apps and their features, and the challenges of testing across different device types, OS versions, and configurations. It then discusses the testing approach including test types, tool selection criteria, and testing platforms. The document introduces Appium as an open source, cross-platform tool for mobile test automation and describes its philosophy, features including support for platforms, apps, languages, browsers, OS, and devices/emulators. It provides an overview of Appium's architecture and compares it to other tools. Finally, it outlines the toolset that will be used in a workshop including Eclipse IDE, Appium library, JUnit
The document discusses Behavior Driven Development (BDD) and the Gauge testing framework. It begins with an overview of BDD, noting that it is a collaborative way to define test behavior using natural language. Examples are given of well-written BDD tests in the Given-When-Then format. The document then introduces the Gauge framework, highlighting its key features like simple Markdown syntax, multiple language support, and integration with CI/CD pipelines. A hands-on workshop on using Gauge is outlined, followed by a Q&A session.
BDD and QA - Make Yourself More Valuablevikramviblr
This document discusses the career journey of a QA engineer who has transitioned through various QA roles over 14 years. It poses a series of questions about the tester's experiences with manual and automation testing, challenges in the QA field, different software development lifecycles (SDLCs), and their experiences adopting behavior-driven development (BDD). The QA engineer offers to demonstrate a sample BDD project using Cucumber, Selenium, and the Serenity framework to illustrate how BDD differs from traditional SDLC models and discuss best practices.
This document summarizes a presentation given by three Google software engineers about their journeys to Google.
Ryan Ting discusses his background in computer science and business from Trinity College Dublin. He completed internships at Google in Warsaw and Zurich before becoming a full-time software engineer. He outlines the interview process for internships and shares details about his STEP and software engineering internship projects.
Faha Abdurakhimov shares his background from Uzbekistan and experience developing skills in English, leetcode problems, system design, and behavioral interviews. He provides tips in these areas to help with interviews.
Ilya Vysotski discusses learning from others' experiences on sites like teamblind.com. He
Over the last few decades we've been bombed with anti-pattern warnings carrying ear-appealing neologisms, such as Primitive Obsession, Object Orgy and Feature Envy. This phenomenon is making us live in a constant fear of life-threatening situations. In the act of self-preservation we don't only avoid anti-patterns, but we make sure we drive away from them as far as we possibly could. However, this is 2016 and a lot has changed. Maybe we drove away a bit too far. Let's start an anti movement: anti anti-patterns. In this talk we motivate our theory that some code smells can now safely be reinterpreted and become the astonishing scent of a fabulous ripe cheese.
Java Sutra is the holy bible of all Java Developers. We did a talk about the Java Sutra at Devoxx Mars and had a lot of audience questions. This talk is about answering all those questions. Come join us dissecting a bunch of patterns and practices that at first sight look extremely great and interesting to try out, but will inevitability break your bones if you try to put them into practice.
Test Driven Development en Go con Ginkgo y GomegaSoftware Guru
Esta sesión está constituida por dos partes: en la primera explicaré en qué consiste el test driven development y cómo funciona a grandes rasgos; posteriormente mostraré ejemplos de cómo se puede implementar en el lenguaje de programación Go utilizando el framework Ginkgo y la biblioteca de afirmaciones Gomega.
Gauge is a lightweight open-source, cross-platform test automation tool from ThoughtWorks which provides the ability to author test cases in the business language.
By: Harmeet Singh & Vivek Mahajan
Mobile Test Automation Made Awesome With AppiumvodQA
This document discusses mobile testing and the tool Appium. It covers the importance of mobile testing, the different types of mobile apps and their features, and the challenges of testing across different device types, OS versions, and configurations. It then discusses the testing approach including test types, tool selection criteria, and testing platforms. The document introduces Appium as an open source, cross-platform tool for mobile test automation and describes its philosophy, features including support for platforms, apps, languages, browsers, OS, and devices/emulators. It provides an overview of Appium's architecture and compares it to other tools. Finally, it outlines the toolset that will be used in a workshop including Eclipse IDE, Appium library, JUnit
The document discusses Behavior Driven Development (BDD) and the Gauge testing framework. It begins with an overview of BDD, noting that it is a collaborative way to define test behavior using natural language. Examples are given of well-written BDD tests in the Given-When-Then format. The document then introduces the Gauge framework, highlighting its key features like simple Markdown syntax, multiple language support, and integration with CI/CD pipelines. A hands-on workshop on using Gauge is outlined, followed by a Q&A session.
BDD and QA - Make Yourself More Valuablevikramviblr
This document discusses the career journey of a QA engineer who has transitioned through various QA roles over 14 years. It poses a series of questions about the tester's experiences with manual and automation testing, challenges in the QA field, different software development lifecycles (SDLCs), and their experiences adopting behavior-driven development (BDD). The QA engineer offers to demonstrate a sample BDD project using Cucumber, Selenium, and the Serenity framework to illustrate how BDD differs from traditional SDLC models and discuss best practices.
This document summarizes a presentation given by three Google software engineers about their journeys to Google.
Ryan Ting discusses his background in computer science and business from Trinity College Dublin. He completed internships at Google in Warsaw and Zurich before becoming a full-time software engineer. He outlines the interview process for internships and shares details about his STEP and software engineering internship projects.
Faha Abdurakhimov shares his background from Uzbekistan and experience developing skills in English, leetcode problems, system design, and behavioral interviews. He provides tips in these areas to help with interviews.
Ilya Vysotski discusses learning from others' experiences on sites like teamblind.com. He
Collaborating with Developers: How-to Guide for Test Engineers - By Gil Tayar Applitools
* Full webinar recording here: https://youtu.be/0NT_fmXwz1k **
"I will give a recipe that you can follow to ease your fear of the unknown: writing tests for developer code.
At the end of this session, I guarantee that you will gain a deeper understanding of different kinds of tests, know how to decipher developer terminology, and learn how to write unit, integration, browser, and E2E tests." -- Gil Tayar. Sr. Architect & Evangelist
Testing is shifting left, moving closer to testing the code itself. But while managers dictate a shift to the left, developers and testers are confused as to how exactly to test the code.
And while the backend world has established code-testing methodologies, we are still trying to figure out how to test frontend code, while ensuring effective testing procedures and processes.
This means testers need to step in and work with the frontend developers, but with an understanding of the frameworks by which frontend code is tested, the various kinds of testing that can be performed on frontend code, and which tools can be used for this.
In this hands-on session, Gil Tayar discusses various test methodologies, and how they fit together in a coherent way. Gil also includes sample code that you can use as a template in your own project -- all in order to provide you with the knowledge and tools to approach and test developer code.
This document provides an overview of Cucumber, a behavior-driven development framework. It discusses what BDD is, the benefits it provides like usability, fewer defects, and living documentation. Popular BDD tools like Cucumber, Jasmine and JBehave are mentioned. Cucumber is introduced in more detail, explaining how it executes scenarios using a Given, When, Then format and supports multiple programming languages. Hands-on examples demonstrate features like data and table-driven execution, background, hooks, tags and reports. Suggested additional reading materials on BDD and Cucumber are also provided.
jSession#6 - Adam Bieńkowski - JGiven - BDD testing in plain JavajSession
The document discusses Behavior Driven Development (BDD) testing using the JGiven framework in Java. It notes that BDD requires high business collaboration and follows a Given-When-Then structure. JGiven allows for writing tests in a natural language format with scenario, stage, and step annotations. It provides features for readability like tables, formatting, and reports. JGiven tests are highly readable, secure, and resistant to breaking due to refactoring thanks to the framework's design that separates behavior from implementation.
TDD - Seriously, try it - Codemotion (May '24)Nacho Cougil
Ever wondered about the wonders of Test-Driven Development (TDD)? Curious devs, this session is for you!
Get ready to dive into TDD and explore its benefits. We'll see the "secrets" behind TDD, its roots, and the rules surrounding it. But that's not all! We'll also uncover the ups and downs of TDD, plus we'll share some tips and tricks... including a live coding session in Java. Get ready to level up your development skills with TDD – more insights, more advantages, and more confidence in your coding adventures!
PS: Building tests before production code can sound more fun than it sounds 😉.
---
Presentation shared at Codemotion Madrid '24
Feedback form:
https://bit.ly/tdd-seriously-try-it-feedback
The document discusses testing concepts such as code with tests vs without tests, test-oriented development, and different types of testing including unit testing, integration testing, and acceptance testing. It provides examples of test-driven development (TDD) and behavior-driven development (BDD) processes. The document also discusses tips for testing, including only testing what is necessary and identifying the appropriate types of testing for an application. Frameworks and tools for test automation and continuous integration are also mentioned.
This document discusses Behavior-Driven Development (BDD) and how it can help deliver working, tested software quickly through collaboration. BDD focuses on specifying software behavior through scenarios written in a ubiquitous language. It emphasizes delivering features with business value. The document provides tips on how to implement BDD, including defining requirements and acceptance criteria, assigning roles, involving business stakeholders, and testing at multiple levels from units to APIs. It also addresses how to apply BDD when not using Gherkin through patterns like fluent APIs. The overall message is that BDD, through collaboration and specification-driven development, can help continuously deliver high quality software that matters to customers.
An initiative by Linways Technologies to make hiring tech talents a little bit easy. Codeways is a simple and easy to use assessment tool. Companies can create coding challenges, MCQs, one-word questions, numerical problems and descriptive questions.
The document contains a quiz about acceptance driven test driven development (ATDD) workflows. It asks multiple choice questions about which roles are involved in ATDD, how to introduce the ATDD workflow to a team, how tests written by different roles differ, and whether statements about ATDD and test driven development (TDD) are correct. It also contains examples of functional tests written in Gherkin format and a question about why functional tests need virtualization.
Pertemuan 1 - Introduction to Frontend Engineer.pdfRaffiPratama3
This document provides information about becoming a frontend engineer. It includes sections on certifications, experience, components of the course, prerequisites, and tools. The key points are:
- The individual has certifications in frontend engineering from YABB Gojek and Dicoding, as well as backend certification from FreeCodeCamp. They have experience as an assistant lecturer and have worked as a frontend engineer, web developer, and content writer.
- The course components include attendance, tasks and practice, and exams, which make up 5%, 35%, and 60% of the grade respectively. Basic knowledge of HTML, CSS, and JavaScript is required.
- Recommended tools include VSCode as a text editor,
This document discusses test-driven development (TDD) and its benefits. It advocates following a process of writing tests before code to ensure code quality and prevent bugs. TDD involves writing a test, seeing it fail, writing the minimum code to pass the test, and refactoring code as needed. While initially time-consuming, TDD can save time in the long run by producing well-designed, modular code that is documented by tests and catches errors early. The document provides examples of TDD and cautions that intelligence alone is not enough - following a disciplined process is important for success.
TDD involves writing tests before code to help design and develop software incrementally. It can find defects earlier and make software easier to maintain with fewer bugs. While difficult to learn, TDD seeks to build better modular code through a simple iterative process. Starting small with katas and practicing regularly, including pair programming, can help adapt to TDD's mechanics. Though challenges exist, it is worth trying TDD to potentially improve software quality and reduce costs over time.
This document provides an overview of test-driven development (TDD). It defines TDD as a technique for building software by writing tests first before production code. The key aspects of TDD covered include the three laws of TDD, why it is used, the typical TDD process through an LED example, research on its effectiveness, designing code for testability, and best practices. Overall, TDD aims to increase code quality and catch errors early through writing automated tests before code, but requires effort and experience to apply effectively.
Test and Behaviour Driven Development (TDD/BDD)Lars Thorup
In this introduction to Test Driven Development (TDD) or Behaviour Driven Development (BDD) we give a high level description of what it is and why it is useful for developers. Then we go into some details on stubs and mocks, test data, UI testing, SQL testing, JavaScript testing, web services testing and how to start doing TDD/BDD on an existing code base.
Enroll expert level Online Testing Tools Training by Spiritsofts, Learn Testing Tools Certification Training with Course Material, Tutorial Videos, Attend Demo for free & you will find Spiritsofts is the best Online Training Institute within reasonable fee. Software Testing
Spiritsofts is the best Training Institutes to expand your skills and knowledge. We Provides the best learning Environment. Obtain all the training by our expert professionals which is having working experience from Top IT companies.
The Training in is every thing we explained based on real time scenarios, it works which we do in companies.
This document introduces Behavior Driven Development (BDD) and the Mocha.js testing framework. BDD focuses on writing user stories and scenarios from the customer's perspective to define important software behaviors. Mocha.js allows writing unit tests for JavaScript code using a BDD style. Tests are organized into test suites and test cases using describe and it functions. Assertions validate test outcomes. Mocha.js supports browser and Node.js testing and works with assertion libraries like Chai.js.
This document discusses the differences between software development in school versus industry. In school, the focus is on individual assignments, code, and grades. However, in industry the focus expands to include ideas, design, operations, testing, deployment, tools, methodologies like Agile and Kanban, and continuous integration and delivery. Most importantly, software development in industry is not just about code, but also includes factors like people, processes, communication and collaboration.
This document introduces Behavior Driven Development (BDD) as a rethinking and repurposing of existing agile methodologies like test-driven development (TDD) and extreme programming (XP) with a focus on defining value upfront. It discusses how BDD uses features made up of scenarios in a given-when-then format to define required system behaviors. This drives the development process through a red-green-refactor cycle of writing failing acceptance tests, unit tests, and code to pass the tests. The document recommends BDD tools like FitNesse, Story Q, and Cucumber and emphasizes that BDD is not about tools but rather delivering value through defined behaviors.
Building In Quality: The Beauty Of Behavior Driven Development (BDD)Synerzip
Behavior Driven Development (BDD) began as a means of helping developers practice Test Driven Development (TDD).
In this it was successful, but it quickly proved its value in many other ways. In this presentation, Larry Apke quotes heavily from the work of Uncle Bob Martin to make the case for TDD and then explains how developers can use BDD to take advantage of this excellent software development practice.
Larry also talks about his “Ten Reasons BDD Changes Everything” along with some easy ways to begin implementation of BDD in your software development organization immediately and what the corresponding future steps would be to take full advantage of this technique.
#Interactive Session by Siddhant Wadhwani, "Empowering DevTestOps with AI: A...Agile Testing Alliance
#Interactive Session by Siddhant Wadhwani, "Empowering DevTestOps with AI: Accelerating Software Delivery and Enhancing Quality" at #ATAGTR2023.
#ATAGTR2023 was the 8th Edition of Global Testing Retreat.
To know more about #ATAGTR2023, please visit: https://gtr.agiletestingalliance.org/
Collaborating with Developers: How-to Guide for Test Engineers - By Gil Tayar Applitools
* Full webinar recording here: https://youtu.be/0NT_fmXwz1k **
"I will give a recipe that you can follow to ease your fear of the unknown: writing tests for developer code.
At the end of this session, I guarantee that you will gain a deeper understanding of different kinds of tests, know how to decipher developer terminology, and learn how to write unit, integration, browser, and E2E tests." -- Gil Tayar. Sr. Architect & Evangelist
Testing is shifting left, moving closer to testing the code itself. But while managers dictate a shift to the left, developers and testers are confused as to how exactly to test the code.
And while the backend world has established code-testing methodologies, we are still trying to figure out how to test frontend code, while ensuring effective testing procedures and processes.
This means testers need to step in and work with the frontend developers, but with an understanding of the frameworks by which frontend code is tested, the various kinds of testing that can be performed on frontend code, and which tools can be used for this.
In this hands-on session, Gil Tayar discusses various test methodologies, and how they fit together in a coherent way. Gil also includes sample code that you can use as a template in your own project -- all in order to provide you with the knowledge and tools to approach and test developer code.
This document provides an overview of Cucumber, a behavior-driven development framework. It discusses what BDD is, the benefits it provides like usability, fewer defects, and living documentation. Popular BDD tools like Cucumber, Jasmine and JBehave are mentioned. Cucumber is introduced in more detail, explaining how it executes scenarios using a Given, When, Then format and supports multiple programming languages. Hands-on examples demonstrate features like data and table-driven execution, background, hooks, tags and reports. Suggested additional reading materials on BDD and Cucumber are also provided.
jSession#6 - Adam Bieńkowski - JGiven - BDD testing in plain JavajSession
The document discusses Behavior Driven Development (BDD) testing using the JGiven framework in Java. It notes that BDD requires high business collaboration and follows a Given-When-Then structure. JGiven allows for writing tests in a natural language format with scenario, stage, and step annotations. It provides features for readability like tables, formatting, and reports. JGiven tests are highly readable, secure, and resistant to breaking due to refactoring thanks to the framework's design that separates behavior from implementation.
TDD - Seriously, try it - Codemotion (May '24)Nacho Cougil
Ever wondered about the wonders of Test-Driven Development (TDD)? Curious devs, this session is for you!
Get ready to dive into TDD and explore its benefits. We'll see the "secrets" behind TDD, its roots, and the rules surrounding it. But that's not all! We'll also uncover the ups and downs of TDD, plus we'll share some tips and tricks... including a live coding session in Java. Get ready to level up your development skills with TDD – more insights, more advantages, and more confidence in your coding adventures!
PS: Building tests before production code can sound more fun than it sounds 😉.
---
Presentation shared at Codemotion Madrid '24
Feedback form:
https://bit.ly/tdd-seriously-try-it-feedback
The document discusses testing concepts such as code with tests vs without tests, test-oriented development, and different types of testing including unit testing, integration testing, and acceptance testing. It provides examples of test-driven development (TDD) and behavior-driven development (BDD) processes. The document also discusses tips for testing, including only testing what is necessary and identifying the appropriate types of testing for an application. Frameworks and tools for test automation and continuous integration are also mentioned.
This document discusses Behavior-Driven Development (BDD) and how it can help deliver working, tested software quickly through collaboration. BDD focuses on specifying software behavior through scenarios written in a ubiquitous language. It emphasizes delivering features with business value. The document provides tips on how to implement BDD, including defining requirements and acceptance criteria, assigning roles, involving business stakeholders, and testing at multiple levels from units to APIs. It also addresses how to apply BDD when not using Gherkin through patterns like fluent APIs. The overall message is that BDD, through collaboration and specification-driven development, can help continuously deliver high quality software that matters to customers.
An initiative by Linways Technologies to make hiring tech talents a little bit easy. Codeways is a simple and easy to use assessment tool. Companies can create coding challenges, MCQs, one-word questions, numerical problems and descriptive questions.
The document contains a quiz about acceptance driven test driven development (ATDD) workflows. It asks multiple choice questions about which roles are involved in ATDD, how to introduce the ATDD workflow to a team, how tests written by different roles differ, and whether statements about ATDD and test driven development (TDD) are correct. It also contains examples of functional tests written in Gherkin format and a question about why functional tests need virtualization.
Pertemuan 1 - Introduction to Frontend Engineer.pdfRaffiPratama3
This document provides information about becoming a frontend engineer. It includes sections on certifications, experience, components of the course, prerequisites, and tools. The key points are:
- The individual has certifications in frontend engineering from YABB Gojek and Dicoding, as well as backend certification from FreeCodeCamp. They have experience as an assistant lecturer and have worked as a frontend engineer, web developer, and content writer.
- The course components include attendance, tasks and practice, and exams, which make up 5%, 35%, and 60% of the grade respectively. Basic knowledge of HTML, CSS, and JavaScript is required.
- Recommended tools include VSCode as a text editor,
This document discusses test-driven development (TDD) and its benefits. It advocates following a process of writing tests before code to ensure code quality and prevent bugs. TDD involves writing a test, seeing it fail, writing the minimum code to pass the test, and refactoring code as needed. While initially time-consuming, TDD can save time in the long run by producing well-designed, modular code that is documented by tests and catches errors early. The document provides examples of TDD and cautions that intelligence alone is not enough - following a disciplined process is important for success.
TDD involves writing tests before code to help design and develop software incrementally. It can find defects earlier and make software easier to maintain with fewer bugs. While difficult to learn, TDD seeks to build better modular code through a simple iterative process. Starting small with katas and practicing regularly, including pair programming, can help adapt to TDD's mechanics. Though challenges exist, it is worth trying TDD to potentially improve software quality and reduce costs over time.
This document provides an overview of test-driven development (TDD). It defines TDD as a technique for building software by writing tests first before production code. The key aspects of TDD covered include the three laws of TDD, why it is used, the typical TDD process through an LED example, research on its effectiveness, designing code for testability, and best practices. Overall, TDD aims to increase code quality and catch errors early through writing automated tests before code, but requires effort and experience to apply effectively.
Test and Behaviour Driven Development (TDD/BDD)Lars Thorup
In this introduction to Test Driven Development (TDD) or Behaviour Driven Development (BDD) we give a high level description of what it is and why it is useful for developers. Then we go into some details on stubs and mocks, test data, UI testing, SQL testing, JavaScript testing, web services testing and how to start doing TDD/BDD on an existing code base.
Enroll expert level Online Testing Tools Training by Spiritsofts, Learn Testing Tools Certification Training with Course Material, Tutorial Videos, Attend Demo for free & you will find Spiritsofts is the best Online Training Institute within reasonable fee. Software Testing
Spiritsofts is the best Training Institutes to expand your skills and knowledge. We Provides the best learning Environment. Obtain all the training by our expert professionals which is having working experience from Top IT companies.
The Training in is every thing we explained based on real time scenarios, it works which we do in companies.
This document introduces Behavior Driven Development (BDD) and the Mocha.js testing framework. BDD focuses on writing user stories and scenarios from the customer's perspective to define important software behaviors. Mocha.js allows writing unit tests for JavaScript code using a BDD style. Tests are organized into test suites and test cases using describe and it functions. Assertions validate test outcomes. Mocha.js supports browser and Node.js testing and works with assertion libraries like Chai.js.
This document discusses the differences between software development in school versus industry. In school, the focus is on individual assignments, code, and grades. However, in industry the focus expands to include ideas, design, operations, testing, deployment, tools, methodologies like Agile and Kanban, and continuous integration and delivery. Most importantly, software development in industry is not just about code, but also includes factors like people, processes, communication and collaboration.
This document introduces Behavior Driven Development (BDD) as a rethinking and repurposing of existing agile methodologies like test-driven development (TDD) and extreme programming (XP) with a focus on defining value upfront. It discusses how BDD uses features made up of scenarios in a given-when-then format to define required system behaviors. This drives the development process through a red-green-refactor cycle of writing failing acceptance tests, unit tests, and code to pass the tests. The document recommends BDD tools like FitNesse, Story Q, and Cucumber and emphasizes that BDD is not about tools but rather delivering value through defined behaviors.
Building In Quality: The Beauty Of Behavior Driven Development (BDD)Synerzip
Behavior Driven Development (BDD) began as a means of helping developers practice Test Driven Development (TDD).
In this it was successful, but it quickly proved its value in many other ways. In this presentation, Larry Apke quotes heavily from the work of Uncle Bob Martin to make the case for TDD and then explains how developers can use BDD to take advantage of this excellent software development practice.
Larry also talks about his “Ten Reasons BDD Changes Everything” along with some easy ways to begin implementation of BDD in your software development organization immediately and what the corresponding future steps would be to take full advantage of this technique.
#Interactive Session by Siddhant Wadhwani, "Empowering DevTestOps with AI: A...Agile Testing Alliance
#Interactive Session by Siddhant Wadhwani, "Empowering DevTestOps with AI: Accelerating Software Delivery and Enhancing Quality" at #ATAGTR2023.
#ATAGTR2023 was the 8th Edition of Global Testing Retreat.
To know more about #ATAGTR2023, please visit: https://gtr.agiletestingalliance.org/
Similar to Gauge your BDD Test (vodQA Hyderabad) (20)
Best 20 SEO Techniques To Improve Website Visibility In SERPPixlogix Infotech
Boost your website's visibility with proven SEO techniques! Our latest blog dives into essential strategies to enhance your online presence, increase traffic, and rank higher on search engines. From keyword optimization to quality content creation, learn how to make your site stand out in the crowded digital landscape. Discover actionable tips and expert insights to elevate your SEO game.
Generating privacy-protected synthetic data using Secludy and MilvusZilliz
During this demo, the founders of Secludy will demonstrate how their system utilizes Milvus to store and manipulate embeddings for generating privacy-protected synthetic data. Their approach not only maintains the confidentiality of the original data but also enhances the utility and scalability of LLMs under privacy constraints. Attendees, including machine learning engineers, data scientists, and data managers, will witness first-hand how Secludy's integration with Milvus empowers organizations to harness the power of LLMs securely and efficiently.
Nunit vs XUnit vs MSTest Differences Between These Unit Testing Frameworks.pdfflufftailshop
When it comes to unit testing in the .NET ecosystem, developers have a wide range of options available. Among the most popular choices are NUnit, XUnit, and MSTest. These unit testing frameworks provide essential tools and features to help ensure the quality and reliability of code. However, understanding the differences between these frameworks is crucial for selecting the most suitable one for your projects.
Fueling AI with Great Data with Airbyte WebinarZilliz
This talk will focus on how to collect data from a variety of sources, leveraging this data for RAG and other GenAI use cases, and finally charting your course to productionalization.
Taking AI to the Next Level in Manufacturing.pdfssuserfac0301
Read Taking AI to the Next Level in Manufacturing to gain insights on AI adoption in the manufacturing industry, such as:
1. How quickly AI is being implemented in manufacturing.
2. Which barriers stand in the way of AI adoption.
3. How data quality and governance form the backbone of AI.
4. Organizational processes and structures that may inhibit effective AI adoption.
6. Ideas and approaches to help build your organization's AI strategy.
Introduction of Cybersecurity with OSS at Code Europe 2024Hiroshi SHIBATA
I develop the Ruby programming language, RubyGems, and Bundler, which are package managers for Ruby. Today, I will introduce how to enhance the security of your application using open-source software (OSS) examples from Ruby and RubyGems.
The first topic is CVE (Common Vulnerabilities and Exposures). I have published CVEs many times. But what exactly is a CVE? I'll provide a basic understanding of CVEs and explain how to detect and handle vulnerabilities in OSS.
Next, let's discuss package managers. Package managers play a critical role in the OSS ecosystem. I'll explain how to manage library dependencies in your application.
I'll share insights into how the Ruby and RubyGems core team works to keep our ecosystem safe. By the end of this talk, you'll have a better understanding of how to safeguard your code.
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Building Production Ready Search Pipelines with Spark and MilvusZilliz
Spark is the widely used ETL tool for processing, indexing and ingesting data to serving stack for search. Milvus is the production-ready open-source vector database. In this talk we will show how to use Spark to process unstructured data to extract vector representations, and push the vectors to Milvus vector database for search serving.
Your One-Stop Shop for Python Success: Top 10 US Python Development Providersakankshawande
Simplify your search for a reliable Python development partner! This list presents the top 10 trusted US providers offering comprehensive Python development services, ensuring your project's success from conception to completion.
Programming Foundation Models with DSPy - Meetup SlidesZilliz
Prompting language models is hard, while programming language models is easy. In this talk, I will discuss the state-of-the-art framework DSPy for programming foundation models with its powerful optimizers and runtime constraint system.
A Comprehensive Guide to DeFi Development Services in 2024Intelisync
DeFi represents a paradigm shift in the financial industry. Instead of relying on traditional, centralized institutions like banks, DeFi leverages blockchain technology to create a decentralized network of financial services. This means that financial transactions can occur directly between parties, without intermediaries, using smart contracts on platforms like Ethereum.
In 2024, we are witnessing an explosion of new DeFi projects and protocols, each pushing the boundaries of what’s possible in finance.
In summary, DeFi in 2024 is not just a trend; it’s a revolution that democratizes finance, enhances security and transparency, and fosters continuous innovation. As we proceed through this presentation, we'll explore the various components and services of DeFi in detail, shedding light on how they are transforming the financial landscape.
At Intelisync, we specialize in providing comprehensive DeFi development services tailored to meet the unique needs of our clients. From smart contract development to dApp creation and security audits, we ensure that your DeFi project is built with innovation, security, and scalability in mind. Trust Intelisync to guide you through the intricate landscape of decentralized finance and unlock the full potential of blockchain technology.
Ready to take your DeFi project to the next level? Partner with Intelisync for expert DeFi development services today!
4. What is TDD?
Test-driven development (TDD) is a technique for
building software that guides software development by
writing tests first.
- Martin Fowler
5. TDD (Contd…)
● Req: Calculation engine to be able to add 2 numbers
● Tests
○ @Test
shouldAddPositiveNumbers() {
assertEquals(calculator.add(1, 2), 3);
}
○ @Test
shouldAddNegativeNumbers() {
assertEquals(calculator.add(-1, -2), -3);
}
○ @Test
shouldAddNumbersInWords(){
assertEquals(calculator.add(“one”, “two”), 3);
}
7. When asked what is BDD
● It’s just TDD right?
● That Given-When-Then thing
● Business driven development
● The BA/PO writes the requirements and then the devs
write tests
8. A collaborative way to define what behaviour in a system
should be tested, by using the same language (natural
language) and grammar used to capture the business need.
BDD is...
9. The Requirement
As a [Role]
I want [Feature]
So that I receive [Value]
As an online shopper
I want to search for products
So that I can make buying decision
10. The Test
Given [Context]
When [Event Occurs]
Then [Outcome]
Given that I have logged in
When I search for a product
Then list of related items are displayed
11. A Badly Written Test
Given that I am on the home page
When I click on the “login” link
And I type text “Mahendra” in the “name” text box
And I type “pwd” in the “password” text box
And I click the “login” button
Then I can see my profile
12. A Well Written Test
Given I land on the homepage
When I log into my account with username “Mahendra” and
password “pwd”
Then I am on the “profile” page
13. Another Well Written Test
● Open Home Page
● Login with with username “Mahendra” and password
“pwd”
● “Profile” page is displayed
15. In a tool we want...
● Simplicity
because who doesn’t like simple!!
● Maintainability
because everyone has been on a long running project and we
know it is hell to keep tests working
● Customisability
because we all have our own preferences
● Speed
because we all have that need for speed
16. What if we want to break away from every form of
syntax and write specifications in natural
language?
Like you’d write an email
18. About Gauge
● Open Source
● Simple Markdown syntax
● Multiple Language Support (Java, C#, Ruby)
● First class parallel execution support
● Extensible and Hackable
● IDE support (IntelliJ, VS, Eclipse)
● First class CI / CD integration support