Gaurav Awasthi presented on Behavior Driven Development (BDD) at the India Agile Week conference on October 26, 2013 in Pune. He discussed BDD concepts like writing software that matters in close collaboration with stakeholders. He explained BDD practices like writing features and scenarios in a executable way. He demonstrated tools like Cucumber, JBehave, and RSpecs that support BDD. Finally, he provided a demo of using Cucumber to write a feature file, implement step definitions in Java code, and see the tests pass.
There are many benefits and some detriments to building your own JavaScript framework. With so many frameworks available do you need to build one at all? What kind of API should you provide? And how do you ensure quality as your codebase grows? This talk covers answers to these questions and more in order to provide a solid starting point for you to create a successful JS framework.
Test Automation - pathway for building and sustaining agile teamsMahesh VG
BEING AGILE requires focus on people to interact for building features than keep testing manually. Automation is valuable investment for sustaining the agility of the teams. Test Automation in fact acts as one of the key pathways for building and sustaining agile teams. This slide presents the case study of such successful adoption across few teams in an organization.
Architecting for Huper Growth and Great Engineering CultureSARCCOM
Architecting for Huper Growth and Great Engineering Culture
by Ifnu Bima
@SARCCOM MEETUP
http://sarccom.org
https://www.meetup.com/Software-Architect-Indonesia
There are many benefits and some detriments to building your own JavaScript framework. With so many frameworks available do you need to build one at all? What kind of API should you provide? And how do you ensure quality as your codebase grows? This talk covers answers to these questions and more in order to provide a solid starting point for you to create a successful JS framework.
Test Automation - pathway for building and sustaining agile teamsMahesh VG
BEING AGILE requires focus on people to interact for building features than keep testing manually. Automation is valuable investment for sustaining the agility of the teams. Test Automation in fact acts as one of the key pathways for building and sustaining agile teams. This slide presents the case study of such successful adoption across few teams in an organization.
Architecting for Huper Growth and Great Engineering CultureSARCCOM
Architecting for Huper Growth and Great Engineering Culture
by Ifnu Bima
@SARCCOM MEETUP
http://sarccom.org
https://www.meetup.com/Software-Architect-Indonesia
Angular is considered as one of the most popular software development instruments today. Many custom Angular software development companies are seeing positive results after adopting Angular and the popularity of Angular with compared to other technologies is far high throughout 2019 and might be rise in 2020 as well as per the current trend.
"This article originally appeared in iFour Technolab Blog."
This document also gives a source link.
Accessibility Testing - Using Asqatasun - Meetup WebinarKeyur Shah
This webinar covers accessibility testing tool "Asqatasun" which is from the open source community and a great way to figure out accessibility guideline violations and remediation.
You can find the associated video recording of the webinar @ https://youtu.be/oE1QayUu5KA
Angular Meetup 1 - Angular Basics and WorkshopNitin Bhojwani
Introduction to Angular
- What's Angular
- Why Angular
- TypeScript
- Building Blocks of Angular
- Clarity Design System - VMware's Open Sourced
- Angular Setup on local
- Build an Angular application
A Comprehensive Guide to Conducting Test Automation Using Appium & Cucumber o...flufftailshop
The widespread use of mobile applications in our daily lives has created a demand for seamless integration and reliable performance. Modern tech-savvy users expect mobile apps to solve their problems seamlessly and without fail.
5 Best Automation Testing Tools to Speed up Testing.pdfSerena Gray
Automation testing tools play a key role in developing a robust software product while ensuring the quality is in line with the expected requirements. There are many automation testing tools that have played a key role in carrying out various software development projects with utmost efficiency along with profitable and productive outcomes. In this article, you will get to know about the five best test automation tools that play a pivotal role in the software development process.
Read more https://bethwilsonuk.wixsite.com/my-site/post/5-best-automation-testing-tools-to-speed-up-testing
- Overview of a use case - Sentiment analysis
- Introduction - Using Jupyter Notebook & AWS SageMaker
- Setup New Project
- Setup and Run the Build CI/CD Pipeline
- Setup the Release Pipeline
- Test Build and Release Pipelines
- Testing the deployed solution
- Examining deployed model performance
How Oracle Integrates Accessibility into the Development Process3Play Media
In this webinar, Monica Gaines, Michele Van Dooze, and Kent Boucher from Oracle will provide practical advice for developing accessible ICT products. They will run through the key roles and responsibilities everyone should have to build accessibility minded teams.
Optimus XPages: An Explosion of Techniques and Best PracticesTeamstudio
Are you starting a new XPages project, but not sure it’s going to be done right the first time? Do you have an existing application that doesn’t seem to have that “X” Factor? In this webinar, John Jardin demonstrates how XPages developers can apply proven techniques and best practices to take their applications to a game-changing level.
You'll learn how to:
-Rapidly develop responsive applications,
-Improve user experience and response times with background and multi-threaded operations,
-Keep your XPages lightweight with code injection,
-Create scheduled tasks the XPages way,
-And much more.
AWS 2019 Re: Cap Naija http://meetu.ps/e/JbnT3/vlGcR/a
About the features and benefits of Amazon CodeGuru
How CodeGuru works with a demo of CodeGuru Reviewer and CodeGuru Profiler
About the kinds of recommendations, CodeGuru makes so you can remediate quickly
https://github.com/berry2012/maven-codeguru.git
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
More Related Content
Similar to Behaviour Driven Development - Cuking the Agile world
Angular is considered as one of the most popular software development instruments today. Many custom Angular software development companies are seeing positive results after adopting Angular and the popularity of Angular with compared to other technologies is far high throughout 2019 and might be rise in 2020 as well as per the current trend.
"This article originally appeared in iFour Technolab Blog."
This document also gives a source link.
Accessibility Testing - Using Asqatasun - Meetup WebinarKeyur Shah
This webinar covers accessibility testing tool "Asqatasun" which is from the open source community and a great way to figure out accessibility guideline violations and remediation.
You can find the associated video recording of the webinar @ https://youtu.be/oE1QayUu5KA
Angular Meetup 1 - Angular Basics and WorkshopNitin Bhojwani
Introduction to Angular
- What's Angular
- Why Angular
- TypeScript
- Building Blocks of Angular
- Clarity Design System - VMware's Open Sourced
- Angular Setup on local
- Build an Angular application
A Comprehensive Guide to Conducting Test Automation Using Appium & Cucumber o...flufftailshop
The widespread use of mobile applications in our daily lives has created a demand for seamless integration and reliable performance. Modern tech-savvy users expect mobile apps to solve their problems seamlessly and without fail.
5 Best Automation Testing Tools to Speed up Testing.pdfSerena Gray
Automation testing tools play a key role in developing a robust software product while ensuring the quality is in line with the expected requirements. There are many automation testing tools that have played a key role in carrying out various software development projects with utmost efficiency along with profitable and productive outcomes. In this article, you will get to know about the five best test automation tools that play a pivotal role in the software development process.
Read more https://bethwilsonuk.wixsite.com/my-site/post/5-best-automation-testing-tools-to-speed-up-testing
- Overview of a use case - Sentiment analysis
- Introduction - Using Jupyter Notebook & AWS SageMaker
- Setup New Project
- Setup and Run the Build CI/CD Pipeline
- Setup the Release Pipeline
- Test Build and Release Pipelines
- Testing the deployed solution
- Examining deployed model performance
How Oracle Integrates Accessibility into the Development Process3Play Media
In this webinar, Monica Gaines, Michele Van Dooze, and Kent Boucher from Oracle will provide practical advice for developing accessible ICT products. They will run through the key roles and responsibilities everyone should have to build accessibility minded teams.
Optimus XPages: An Explosion of Techniques and Best PracticesTeamstudio
Are you starting a new XPages project, but not sure it’s going to be done right the first time? Do you have an existing application that doesn’t seem to have that “X” Factor? In this webinar, John Jardin demonstrates how XPages developers can apply proven techniques and best practices to take their applications to a game-changing level.
You'll learn how to:
-Rapidly develop responsive applications,
-Improve user experience and response times with background and multi-threaded operations,
-Keep your XPages lightweight with code injection,
-Create scheduled tasks the XPages way,
-And much more.
AWS 2019 Re: Cap Naija http://meetu.ps/e/JbnT3/vlGcR/a
About the features and benefits of Amazon CodeGuru
How CodeGuru works with a demo of CodeGuru Reviewer and CodeGuru Profiler
About the kinds of recommendations, CodeGuru makes so you can remediate quickly
https://github.com/berry2012/maven-codeguru.git
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofsAlex Pruden
This paper presents Reef, a system for generating publicly verifiable succinct non-interactive zero-knowledge proofs that a committed document matches or does not match a regular expression. We describe applications such as proving the strength of passwords, the provenance of email despite redactions, the validity of oblivious DNS queries, and the existence of mutations in DNA. Reef supports the Perl Compatible Regular Expression syntax, including wildcards, alternation, ranges, capture groups, Kleene star, negations, and lookarounds. Reef introduces a new type of automata, Skipping Alternating Finite Automata (SAFA), that skips irrelevant parts of a document when producing proofs without undermining soundness, and instantiates SAFA with a lookup argument. Our experimental evaluation confirms that Reef can generate proofs for documents with 32M characters; the proofs are small and cheap to verify (under a second).
Paper: https://eprint.iacr.org/2023/1886
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
UiPath Test Automation using UiPath Test Suite series, part 6DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 6. In this session, we will cover Test Automation with generative AI and Open AI.
UiPath Test Automation with generative AI and Open AI webinar offers an in-depth exploration of leveraging cutting-edge technologies for test automation within the UiPath platform. Attendees will delve into the integration of generative AI, a test automation solution, with Open AI advanced natural language processing capabilities.
Throughout the session, participants will discover how this synergy empowers testers to automate repetitive tasks, enhance testing accuracy, and expedite the software testing life cycle. Topics covered include the seamless integration process, practical use cases, and the benefits of harnessing AI-driven automation for UiPath testing initiatives. By attending this webinar, testers, and automation professionals can gain valuable insights into harnessing the power of AI to optimize their test automation workflows within the UiPath ecosystem, ultimately driving efficiency and quality in software development processes.
What will you get from this session?
1. Insights into integrating generative AI.
2. Understanding how this integration enhances test automation within the UiPath platform
3. Practical demonstrations
4. Exploration of real-world use cases illustrating the benefits of AI-driven test automation for UiPath
Topics covered:
What is generative AI
Test Automation with generative AI and Open AI.
UiPath integration with generative AI
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
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.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024Neo4j
Neha Bajwa, Vice President of Product Marketing, Neo4j
Join us as we explore breakthrough innovations enabled by interconnected data and AI. Discover firsthand how organizations use relationships in data to uncover contextual insights and solve our most pressing challenges – from optimizing supply chains, detecting fraud, and improving customer experiences to accelerating drug discoveries.
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
2. Concept, Practice, Tools
www.unicomlearning.com
Concept, Practice and finally Tools
Concepts are beyond Practices and Tools
Good Tools are better suited to Practices which
help internalize Concepts quickly
UNICOM Presents
India Agile Week-2013
3. The BDD World…
Concepts
Write software that matters
In close collaboration with Stakeholder
Practices
Writing features, scenarios
Write executable specs
Tools
Cucumber
JBehave
RSpecs
UNICOM Presents
India Agile Week-2013
www.unicomlearning.com
4. BDD…by definition
www.unicomlearning.com
BDD is a second-generation,
outside-in,
multiple-stakeholder,
high-automation,
agile methodology.
It describes a cycle of interactions with well-defined
outputs, resulting in the delivery of working, tested software
that matters.
Dan North
UNICOM Presents
India Agile Week-2013
5. Buzzword Agnostic Benefits…
www.unicomlearning.com
• Seamless mapping between Requirement statements and
executable tests
• Specification by example
• Loose grammar of the domain
• Brings Testers/QA to the forefront of development
process
• Self verifying documentation
• Evolves behavior as the domain understanding changes
UNICOM Presents
India Agile Week-2013
6. Co-existence with TDD
Write a failing
feature test
BDD
www.unicomlearning.com
Write a
failing unit
test
TDD
Refactor
TDD – Develop it the
right way
BDD – Develop the right
thing
UNICOM Presents
India Agile Week-2013
Make the
test pass
7. And what about DDD ?
• Domain Driven Design
• Ubiquitous Language
• gives vocabulary
• Inside Out
• Behavior Driven Development
• Sentences out of the vocabulary
• Description of the behavior
• Outside In
UNICOM Presents
India Agile Week-2013
www.unicomlearning.com
8. The BDD Practice
www.unicomlearning.com
1. Describe the behavior in plain text – Features and Scenarios
2. Write a step definition for each Step
3. Run it and watch it fail
4. Write code to make the step pass
5. Run it again and see the step pass
6. Repeat step 2 – 5 until green like a Cuke
7. Repeat step 1 – 6 until the money runs out
UNICOM Presents
India Agile Week-2013
9. The Tool - Cucumber
Why Cucumber ?
• one of the least technical tools
• a very active open source project
• supports a variety of languages
UNICOM Presents
India Agile Week-2013
www.unicomlearning.com
10. Slicing Cucumber
www.unicomlearning.com
•
JBehave -> ported to Ruby -> RBehave -> rewritten from scratch > RSpec -> + story runner -> Cucumber -> Cucumber-JVM
•
Aslak Hellesoy ported Cucumber to Java (cucumber-jvm)
•
Cucumber comes with Ruby (the original), Java, .NET, Adobe Flex,
Python, Perl, Erlang, PHP
•
Full stack for acceptance tests include – Browser Driver and
Browser
UNICOM Presents
India Agile Week-2013
11. Gherkin
www.unicomlearning.com
• A Business Readable, Domain Specific Language that
Cucumber understands
• Line-based language that Cucumber uses to define
behaviors in the form of features, scenarios, and steps
• Serves 3 purposes :
•
•
•
Automated Tests
Documentation
Specs for Code to be written
• Source files have .feature extension. Single Gherkin source
file contains a description of a single feature
UNICOM Presents
India Agile Week-2013
12. Gherkin syntax
Feature : title
www.unicomlearning.com
As a [ person or role who will benefit ]
I want [ some feature ]
So that [ benefit or value of the feature ]
UNICOM Presents
India Agile Week-2013
13. Gherkin syntax
Scenario : title
Given [ some initial context ]
When [ an event occurs]
Then [ ensures some outcome ]
UNICOM Presents
India Agile Week-2013
www.unicomlearning.com
14. Example
Feature: Customer
purchases a device
• As a Customer
• I want to purchase a Bluetooth
device
• So that I can make or receive a
hands free call
www.unicomlearning.com
Scenario : Customer has a
credit note valued more
than the receipt amount
• Given the customer is on the till
• And he has a credit note of Rs
1000
• And the receipt amount is Rs 500
• When the balance amount is
paid
• Then the billing completes
UNICOM Presents
India Agile Week-2013
15. Cucumber Options
@RunWith(Cucumber.class)
@Cucumber.Options (
tags = “@focus”,
features= “classpath:billing.feature”
)
public class CukeRunner {
}
Some common options :
• features – path to the feature files
• glue – where to look for step definition and hooks
• tags – what tags in the features should be executed
• format – what formatters to use
• …
UNICOM Presents
India Agile Week-2013
www.unicomlearning.com
16. CLI Option
www.unicomlearning.com
• Several Runners
•
•
•
Command Line Interface
JUnit Runner
Android Runner
cucumber-core
cucumber-junit
cucumber-android
• java cucumber.cli.Main [options] [FILE|DIR]
•
--glue , --format, --tags, --name …
• Benefit :
•
•
Independent of JUnit
Integration with Ant
UNICOM Presents
India Agile Week-2013
17. Demo Code
•
Create a maven project, with cucumber-jvm related
dependencies
•
•
Feature: Withdrawing money from a User account
•
Scenario: Withdrawing money from a User's account should
reduce money in the current balance
•
Given a User has $100 in his account
•
When $50 is withdrawn from the account
•
Then the balance should be $50
Write Java wrapper class – like CukeRunner,
•
•
•
•
cucumber-core, cucumber-java, cucumber-junit
Write a Feature and a scenario with steps
•
•
www.unicomlearning.com
annotated with RunWith and Cucumber.Options
Run the class, let it fail
Implement Steps, Run again
See it green like a cuke
UNICOM Presents
India Agile Week-2013
19. References
•
•
•
•
•
www.unicomlearning.com
That's not BDD, that's just Cucumber by Chris Parsons
Introducing BDD by Dan North
http://dannorth.net/whats-in-a-story/ by Dan North
http://cukes.info/install-cucumber-jvm.html
http://cukes.info/api/cucumber/jvm/javadoc/cucumber/api/junit/C
ucumber.Options.html
UNICOM Presents
India Agile Week-2013