Behat is a tool that makes behavior driven development (BDD) possible. With BDD, you write human-readable stories that describe the behavior of your Drupal site. These stories can then be auto-tested against your website, whether in the midst of development, or on a live site. And yes, it’s as cool as it sounds!
Behat, if embraced by enough Drupal folks, has the potential to vastly improve the way we build and test Drupal websites. Testing language can be developed by module maintainers, and allow nearly codefree testing to be developed by everyone, as needed, per site.
Behat IS NOT unit testing nor a specification testing tool. Behat is a Scenario-oriented BDD framework with functional testing capabilities as part of a communication process between stake-holders and developers. Think Agile User Stories meets Selenium.
Behat is currently used to test Drupal.org, allowing a variety of coders to work on a single site, and ensure that no existing functionality will break as they add new features. Or as it's migrated from one version to another. Imagine that on your site.
We will review Behat (and Mink, and related code), how to use it with Drupal, Drush, and the existing modules/code to support that. We will demo live testing, and so how easy it is to write tests, with and without code.
Php[tek] 2016 - BDD with Behat for BeginnersAdam Englander
Learn the basics of Behavioral Driven Development (BDD) with Behat to build quality applications. Behat utilizes natural language syntax to define feature test scenarios. In this tutorial you will learn how to write integration tests for web applications. This will include utilizing Selenium WebDriver for real world multi-browser testing including introductions to Selenium Grid and Sauce Labs. Learn a better way to perform integration testing today!
This presentation introduces the audience to BDD - the Behavior-Driven Development method and how it can be applied to development and testing of GUI applications. We will also try to debunk myths and false hopes surrounding it.
BDD centers around stories written in an "ubiquitous language" that describe the expected behavior of an application. The use of a human-readable language allows for technical as well as non-technical project stakeholders to participate in authoring of feature descriptions. Those descriptions then serve as a base for the work of both developers and testers.
Classic agile and test-driven programming takes an inside-out approach by focussing on the specification and testing of the API of individual software components. BDD, on the other hand, looks at the application as a whole and puts interaction sequences and their expected outcomes into the foreground.
An introduction to the de-facto standard BDD language Gherkin will be given. It became popular as part of the Cucumber Ruby testing framework but has found its way into various free and commercial tools that will be listed.
A sample feature file including scenarios, outlines and backgrounds descriptions will be developed live using the Squish GUI Tester. This feature file can already be "run" in dry mode. We'll see different types of usage of this input:
* A mean to communicate with the customer.
* Documentation for the acceptance test before delivery
* A sequence to walk through for manual testing
* Automated GUI testing through tools like Squish.
Behat is a tool that makes behavior driven development (BDD) possible. With BDD, you write human-readable stories that describe the behavior of your Drupal site. These stories can then be auto-tested against your website, whether in the midst of development, or on a live site. And yes, it’s as cool as it sounds!
Behat, if embraced by enough Drupal folks, has the potential to vastly improve the way we build and test Drupal websites. Testing language can be developed by module maintainers, and allow nearly codefree testing to be developed by everyone, as needed, per site.
Behat IS NOT unit testing nor a specification testing tool. Behat is a Scenario-oriented BDD framework with functional testing capabilities as part of a communication process between stake-holders and developers. Think Agile User Stories meets Selenium.
Behat is currently used to test Drupal.org, allowing a variety of coders to work on a single site, and ensure that no existing functionality will break as they add new features. Or as it's migrated from one version to another. Imagine that on your site.
We will review Behat (and Mink, and related code), how to use it with Drupal, Drush, and the existing modules/code to support that. We will demo live testing, and so how easy it is to write tests, with and without code.
Php[tek] 2016 - BDD with Behat for BeginnersAdam Englander
Learn the basics of Behavioral Driven Development (BDD) with Behat to build quality applications. Behat utilizes natural language syntax to define feature test scenarios. In this tutorial you will learn how to write integration tests for web applications. This will include utilizing Selenium WebDriver for real world multi-browser testing including introductions to Selenium Grid and Sauce Labs. Learn a better way to perform integration testing today!
This presentation introduces the audience to BDD - the Behavior-Driven Development method and how it can be applied to development and testing of GUI applications. We will also try to debunk myths and false hopes surrounding it.
BDD centers around stories written in an "ubiquitous language" that describe the expected behavior of an application. The use of a human-readable language allows for technical as well as non-technical project stakeholders to participate in authoring of feature descriptions. Those descriptions then serve as a base for the work of both developers and testers.
Classic agile and test-driven programming takes an inside-out approach by focussing on the specification and testing of the API of individual software components. BDD, on the other hand, looks at the application as a whole and puts interaction sequences and their expected outcomes into the foreground.
An introduction to the de-facto standard BDD language Gherkin will be given. It became popular as part of the Cucumber Ruby testing framework but has found its way into various free and commercial tools that will be listed.
A sample feature file including scenarios, outlines and backgrounds descriptions will be developed live using the Squish GUI Tester. This feature file can already be "run" in dry mode. We'll see different types of usage of this input:
* A mean to communicate with the customer.
* Documentation for the acceptance test before delivery
* A sequence to walk through for manual testing
* Automated GUI testing through tools like Squish.
Cucumber is a tool which supports development via behavior realization (BDD - Behavior-Driven Development). It is considered to be utilized for creating the tests which can be understood by each and all, even without special technical knowledge.
(by QATestLab)
Behavior Driven Development (BDD) is a software engineering practice designed to help teams build and deliver more valuable, higher quality software faster.
It is not about programming, testing or management. It's about building together.
Javascript Tests with Jasmine for Front-end DevsChris Powers
Jasmine isn't just for Rubyists - it's for anyone that wants to revolutionize their Javascript code and development workflow. I give a tutorial in getting up and running with an agile, Test Driven Development workflow using nothing but HTML and Javascript.
evelopment of Behat and PHPSpec tools cause, that BDD started to show up in minds of PHP developers. How we currently understand this methodology? Is it become effective and helpful in our everyday work? What problems and fails we can meet during tries of applying this methodology to our project?
During this talk, you will see how we can use BDD for modeling our application. One of the benefits will be an application that is not hardly coupled with the framework. So, it will give you the possibility of easy integration with that kind of tool. Also integrating with other infrastructure elements will be easy to implement. Everything thanks to use of ports and adapters approach.
BDD Testing Using Godog - Bangalore Golang Meetup # 32OpenEBS
BDD uses natural language to describe the "desired behaviour" of the system, that can be understood by both the developer and the customer
Demo of an existing BDD application using Godog predominantly used with golang
When All Teammates Speak The Same Language
Two main problems in software development
It's all about brains
What is BDD?
BDD vs TDD vs ATDD
Three Amigos
Gherkin
Cucumber and Selenium WebDriver
How to use feature files and create steps definitions
Examples
Behaviour Driven Development with The Cucumber
Test Pyramid
BDD Concept
Why BDD
Traditional Loop
Collaboration
Cucumber is the Tool
Cucumber structure
Sample feature
Gherkin is the Language
Step Definitions
Reqular Expressions
How the Cucumber Works
Expressive Scenarios
Outside-in development
Keeping your cucumbers sweet
Environment
Conclusion
There has been lots of talk on the importance of writing good and manageable code – code whose inherent beauty bring tears to the eyes of the developer that looks at it. This talk is not like that. This talk will focus on the techniques that are used by millions across the world to bring tears to the eyes of the maintaining developer, as well as a graphic stream of profanities.We will investigate some of the most common anti-patterns and half-measures that occur in real live code, and will marvel at the ingenuity and outright creativity necessary to create ugly messes of unmaintainable code that still manages to work for it’s users.
This power point presentation provides details on syntax of Gherkin language and how it can be used to write accurate user acceptance criteria for user stories.
How to support acceptance testing of web applications with the PHP tool Behat in a BDD manner.
Including an overview of acceptance testing in agile software development in general.
Concluding with the most frequent challenges of using Behat and similar tools in practice.
Cucumber is a tool which supports development via behavior realization (BDD - Behavior-Driven Development). It is considered to be utilized for creating the tests which can be understood by each and all, even without special technical knowledge.
(by QATestLab)
Behavior Driven Development (BDD) is a software engineering practice designed to help teams build and deliver more valuable, higher quality software faster.
It is not about programming, testing or management. It's about building together.
Javascript Tests with Jasmine for Front-end DevsChris Powers
Jasmine isn't just for Rubyists - it's for anyone that wants to revolutionize their Javascript code and development workflow. I give a tutorial in getting up and running with an agile, Test Driven Development workflow using nothing but HTML and Javascript.
evelopment of Behat and PHPSpec tools cause, that BDD started to show up in minds of PHP developers. How we currently understand this methodology? Is it become effective and helpful in our everyday work? What problems and fails we can meet during tries of applying this methodology to our project?
During this talk, you will see how we can use BDD for modeling our application. One of the benefits will be an application that is not hardly coupled with the framework. So, it will give you the possibility of easy integration with that kind of tool. Also integrating with other infrastructure elements will be easy to implement. Everything thanks to use of ports and adapters approach.
BDD Testing Using Godog - Bangalore Golang Meetup # 32OpenEBS
BDD uses natural language to describe the "desired behaviour" of the system, that can be understood by both the developer and the customer
Demo of an existing BDD application using Godog predominantly used with golang
When All Teammates Speak The Same Language
Two main problems in software development
It's all about brains
What is BDD?
BDD vs TDD vs ATDD
Three Amigos
Gherkin
Cucumber and Selenium WebDriver
How to use feature files and create steps definitions
Examples
Behaviour Driven Development with The Cucumber
Test Pyramid
BDD Concept
Why BDD
Traditional Loop
Collaboration
Cucumber is the Tool
Cucumber structure
Sample feature
Gherkin is the Language
Step Definitions
Reqular Expressions
How the Cucumber Works
Expressive Scenarios
Outside-in development
Keeping your cucumbers sweet
Environment
Conclusion
There has been lots of talk on the importance of writing good and manageable code – code whose inherent beauty bring tears to the eyes of the developer that looks at it. This talk is not like that. This talk will focus on the techniques that are used by millions across the world to bring tears to the eyes of the maintaining developer, as well as a graphic stream of profanities.We will investigate some of the most common anti-patterns and half-measures that occur in real live code, and will marvel at the ingenuity and outright creativity necessary to create ugly messes of unmaintainable code that still manages to work for it’s users.
This power point presentation provides details on syntax of Gherkin language and how it can be used to write accurate user acceptance criteria for user stories.
How to support acceptance testing of web applications with the PHP tool Behat in a BDD manner.
Including an overview of acceptance testing in agile software development in general.
Concluding with the most frequent challenges of using Behat and similar tools in practice.
Presentation held on Swiss Requirements Day 2013 in Zurich
Many teams struggle with the implementation of user story acceptance criteria and establishing a shared understanding about the expected story outcomes. This results in missed stakeholder expectations and ad-hoc assumptions made by the team. High efforts for regression testing and the lack of a reliable documentation about the current system behavior are further problems resulting from an unstructured approach to define and validate acceptance criteria.
In this session, you will learn how specification-by-example addresses these problems and overall increases the level of clarity on the project end-to-end. The presentation will cover the theory and practical experience from real projects, with concrete implementation examples based on the Gherkin specification language, that can be used for automated specification validation (available for .NET, Java, Ruby, PHP, JavaScript).
You will leave this session with a fundamental understanding of specification-by-example and its benefits, as well as concrete pointers on how to get started using it in your own projects.
Symfony 3.0 is just around the corner. Are you ready to migrate? The Symfony core team created a continuous upgrade path for progressively upgrading current apps. In this session, I'll show you this path so you'll be able to migrate your own applications to Symfony 3.0.
New Symfony Tips & Tricks (SymfonyCon Paris 2015)Javier Eguiluz
This talk included tens of tips and tricks, new features and rarely used options for Symfony and its ecosystem. Besides the full-stack Symfony framework, other related technologies were mentioned, like Doctrine, Composer, Twig, PHPUnit and Monolog.
A quick overview of tips, tricks and code snippets for developers using Symfony and all its ecosystem, from Monolog to Doctrine. Learn how to become more productive and discover some rarely used options and features.
TDD BDD PHP - Sviluppo guidato dai test in PHP con phpspecPatrick Luca Fazzi
Phpspec è uno strumento che può aiutarci a scrivere codice pulito e funzionante facilitandoci nell'adottare delle pratiche di Behaviour-Driven Development (BDD). Ma cos’è il BDD? Qual è la differenza tra il BDD e il Test-Driven Development (TDD)? Quali sono le differenze tra le famiglie di tool xSpec e xUnit? Quali strumenti mette a disposizione l’ecosistema PHP per praticare il TDD?
Zend con 2016 bdd with behat for beginnersAdam Englander
Learn the basics of behavioral driven development (BDD) with Behat to build high quality and well documented applications. You'll learn how BDD can help you deliver greater business value more efficiently while accurately documenting the functionality of your application along the way. You'll learn how to utilize Behat as your BDD tool. With Behat, you'll create tests for the features in your application by utilizing a natural language syntax called Gherkin backed by PHP code to execute the steps executed in the feature's scenarios.
This will be a hands-on tutorial. You'll learn how to implement BDD for a web application. This will include utilizing Selenium WebDriver for real world multi-browser testing including introductions to Selenium Grid and hosted integration services utilizing Selenium.
Technical stream: Moving to test- and behaviour-driven development
In this session Kim will be going over the benefits of introducing TDD and BDD: How to introduce them, their differences, how to deal with push back from team members and upper management.
The benefits of driving our development with tests, how it helps the quality and maintainability of our software, how it helps the business and the client. The types of tests that best serve us for the different layers of our application development and how business people can get benefit from TDD and especially BDD.
When Kim’s not working at his day job as a senior software engineer, consultant, Scrum Master, you can find him indulging his passions of software architecture, creating and exploiting software and networks. In order to develop and release software faster, it's Kim’s aim to increase the awareness for the need of higher quality incremental software releases.
PHPConf.asia 2016 - BDD with Behat for BeginnersAdam Englander
Learn the basics of Behavioral Driven Development (BDD) with Behat to build quality applications. Behat utilizes natural language syntax to define feature test scenarios. In this tutorial you will learn how to write integration tests for web applications. This will include utilizing Selenium WebDriver for real world multi-browser testing including introductions to Selenium Grid and Sauce Labs. Learn a better way to perform integration testing today!
Greenfield projects are awesome – you can develop highest quality application using best practices on the market. But what if your bread actually is Legacy projects? Does it mean that you need to descend into darkness of QA absence? This talk will show you how to be successful even with the oldest legacy projects out there through the introduction of Agile processes and tools like Behat.
Many developers know that they should be writing tests for their apps. However, it’s often hard to know how to get started or to convince your manager that you should be spending half of your time writing and maintaining test code. In this talk, you will learn how you can integrate testing into your day-to-day workflow and you’ll learn why a good test suite will not cost you a lot of time. Instead, it should end up saving you time. And as you know, the manager loves it when you manage to save time. You will understand how TDD works, how to integrate the important bits of TDD and how to build a high-quality test suite that is a pleasure to maintain. To round things out, you will also learn about Xcode 11’s new test plans feature and how you can use it to make your test suite even better!
Behaivior Driven Development - from the tests to the business logic in a sing...Evgeniy Kuzmin
The slides describes Behaivior Driven Development approach to plan, develop and automate test software base on BDD framework Behat. The main point - concentrate on the benefit of each feature.
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
The field of Information retrieval (IR) is currently undergoing a transformative shift, at least partly due to the emerging applications of generative AI to information access. In this talk, we will deliberate on the sociotechnical implications of generative AI for information access. We will argue that there is both a critical necessity and an exciting opportunity for the IR community to re-center our research agendas on societal needs while dismantling the artificial separation between the work on fairness, accountability, transparency, and ethics in IR and the rest of IR research. Instead of adopting a reactionary strategy of trying to mitigate potential social harms from emerging technologies, the community should aim to proactively set the research agenda for the kinds of systems we should build inspired by diverse explicitly stated sociotechnical imaginaries. The sociotechnical imaginaries that underpin the design and development of information access technologies needs to be explicitly articulated, and we need to develop theories of change in context of these diverse perspectives. Our guiding future imaginaries must be informed by other academic fields, such as democratic theory and critical theory, and should be co-developed with social science scholars, legal scholars, civil rights and social justice activists, and artists, among others.
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
33. Step 2 – Object Definition Steps are generated Calculator.php
34. Step 2 – Object Definition *Writing a stub class is not really the BDD way of doing things, PHP doesn't handle 'method not found' exceptions very well, so the stub class is necessary for PHP