The document discusses Acceptance Test Driven Development (ATDD), where acceptance tests are used to define requirements and drive the development process. It describes how ATDD works through a cycle of writing examples and tests, implementing features to pass the tests, and ensuring the tests continue to pass as changes are made. The benefits of ATDD include improved collaboration, a shared understanding of requirements, and preventing defects. Various tools that can be used for ATDD are also outlined, including FIT and Robot Framework. Adopting ATDD requires training, evangelism, and addressing organizational challenges through shared understanding.
Learn how Acceptance Test Driven Development (ATDD) provides the process for capturing detailed requirements as acceptance criteria and turn them into as test cases before development begins using Behavior Driven Development (BDD). The BDD approach and Gherkin format is the language used to create easy to understand and actionable scenarios that map from the functional level to the components and units. We will discuss the different approaches to TDD including a realistic approach leveraging BDD to a purest standpoint where TDD use the tests to drive the design of the application. Finally understand how the tools in Visual Studio and Team foundation Server to support BDD such as SpecFlow (Cucumber in .NET), Refactoring tools, and Test Cases in MTM.
ATDD - Acceptance Test Driven DevelopmentNaresh Jain
Acceptance test driven development tutorial. This tutorial explains how to take user stories and convert them into working software. Details about Acceptance Criteria and Acceptance tests using FitNesse and FitLibrary are described in this presentation. Also Patterns and Anti-Patterns associated with this are described in this presentation.
All organizations want to go faster and decrease friction in their cloud software delivery pipeline. Infosec has an opportunity to change their classic approach from blocker to enabler. This talk will discuss hallmarks of CI/CD and some practical examples for adding security testing across different organizations. The talk will cover emergent patterns, practices and toolchains that bring security to the table.
Presented at OWASP NoVA, Sept 25th, 2018
Quarkus offers a great development experience. In this session, I’ll introduce you to the power of Quarkus Live Coding and tools that are useful to developers for debugging, deploying, and testing Quarkus applications.
Let's explore what is agile testing, how agile testing is different than traditional testing. What practices team has to adopt to have parallel testing and how to create your own test automation framework. Test automation frameworks using cucumber, selenium, junit, nunit, rspec, coded UI etc.
In The Seven Habits of Highly Effective People, Stephen R. Covey names "Begin with the End in Mind" as the second of the seven habits. This habit applies not just to individuals, but to software development teams as well. In Acceptance Test Driven Development (ATDD), the Product Owner begins requirements discussions with expectations and examples, and the whole team collaborates to distill these into acceptance tests that define the essence of “Done." Modern testing frameworks enable the team to express the tests in natural language while connecting them to the software so that the tests are automated while the software is being developed. The end result is that the acceptance tests become executable requirements.
These slides explain the ATDD cycle and how it fits with other Agile development and testing practices including TDD, Continuous Integration, and Exploratory Testing.
Learn how Acceptance Test Driven Development (ATDD) provides the process for capturing detailed requirements as acceptance criteria and turn them into as test cases before development begins using Behavior Driven Development (BDD). The BDD approach and Gherkin format is the language used to create easy to understand and actionable scenarios that map from the functional level to the components and units. We will discuss the different approaches to TDD including a realistic approach leveraging BDD to a purest standpoint where TDD use the tests to drive the design of the application. Finally understand how the tools in Visual Studio and Team foundation Server to support BDD such as SpecFlow (Cucumber in .NET), Refactoring tools, and Test Cases in MTM.
ATDD - Acceptance Test Driven DevelopmentNaresh Jain
Acceptance test driven development tutorial. This tutorial explains how to take user stories and convert them into working software. Details about Acceptance Criteria and Acceptance tests using FitNesse and FitLibrary are described in this presentation. Also Patterns and Anti-Patterns associated with this are described in this presentation.
All organizations want to go faster and decrease friction in their cloud software delivery pipeline. Infosec has an opportunity to change their classic approach from blocker to enabler. This talk will discuss hallmarks of CI/CD and some practical examples for adding security testing across different organizations. The talk will cover emergent patterns, practices and toolchains that bring security to the table.
Presented at OWASP NoVA, Sept 25th, 2018
Quarkus offers a great development experience. In this session, I’ll introduce you to the power of Quarkus Live Coding and tools that are useful to developers for debugging, deploying, and testing Quarkus applications.
Let's explore what is agile testing, how agile testing is different than traditional testing. What practices team has to adopt to have parallel testing and how to create your own test automation framework. Test automation frameworks using cucumber, selenium, junit, nunit, rspec, coded UI etc.
In The Seven Habits of Highly Effective People, Stephen R. Covey names "Begin with the End in Mind" as the second of the seven habits. This habit applies not just to individuals, but to software development teams as well. In Acceptance Test Driven Development (ATDD), the Product Owner begins requirements discussions with expectations and examples, and the whole team collaborates to distill these into acceptance tests that define the essence of “Done." Modern testing frameworks enable the team to express the tests in natural language while connecting them to the software so that the tests are automated while the software is being developed. The end result is that the acceptance tests become executable requirements.
These slides explain the ATDD cycle and how it fits with other Agile development and testing practices including TDD, Continuous Integration, and Exploratory Testing.
[To download this complete presentation, visit: https://www.oeconsulting.com.sg/training-presentations]
This introduction to Agile and Scrum is a presentation that provides a high-level overview of Agile and Scrum methodologies. The presentation is aimed at individuals who may have heard of Agile and Scrum but are not familiar with the concepts or principles.
The presentation begins with an introduction of the basic principles and values of Agile and Scrum, which includes an explanation of the Agile philosophy and principles, and an overview of the Scrum framework and its origins. It also discusses the benefits and drawbacks of Agile and Scrum and compares them to traditional project management methodologies.
The key roles and responsibilities within a Scrum team are discussed next, including the three key roles of Scrum Master, Product Owner, and Development Team. An explanation on how these roles interact with each other and the wider organization is provided.
The Scrum framework and its key components, including an overview of Sprints, Backlog, and Artifacts are also explained. The Scrum events, including Sprint Planning, Daily Scrum, Sprint Review, and Sprint Retrospective, are also covered.
Lastly, successful examples of how Agile and Scrum are used in various industries, such as software development, marketing, and education are presented. Discussions on how Agile and Scrum can be adapted to fit the needs of different projects and organizations are also provided.
By the end of the Agile and Scrum PPT presentation, attendees would have a solid foundation in Agile and Scrum methodologies, including a basic understanding of the principles and values, the Scrum framework and its key components, and the roles and responsibilities of the Scrum team. They would be equipped with the necessary knowledge to apply Agile and Scrum to their own work.
LEARNING OBJECTIVES
1. Understand the basic principles, values, benefits and drawbacks of Agile and Scrum.
2. Understand the key roles of the Scrum team, and the Scrum framework and its key components.
3. Understand how Agile and Scrum can be applied to various industries and projects and adapted to fit different situations.
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...Edureka!
** DevOps Training: https://www.edureka.co/devops **
This CI CD Pipeline tutorial explains the concepts of Continuous Integration, Continuous Delivery & Deployment, its benefits, and its Tools. Below are the topics covered in the video:
1. What is DevOps
2. What are CI and CD?
3. Pipelines: What are they?
4. Continuous Delivery and Continuous Deployment
5. Role of Jenkins
6. Role of Docker
7. Hands-On – Creating CI CD Pipeline Using Jenkins and Docker
Check our complete DevOps playlist here (includes all the videos mentioned in the video): http://goo.gl/O2vo13
Why Should we use Microsoft's PlaywrightKnoldus Inc.
Playwright enables fast, reliable and capable testing and automation across all modern browsers. This guide covers those key differentiators to help you decide on the right tool for your automated tests.
SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...Tori Wieldt
How do you make DevOps magic when you aren’t Google? This talk will help whether you’re still figuring out how to create a site reliability practice at your company or you’re trying to improve the processes and habits of an existing SRE team.
Join BostonPHP and Michael Bourque as he presents the concept of Scrum and shows why so many people are now deploying scrum to their development projects. Michael will take us through the process and talk about how his company, Parametric Technology Inc. (PTC) , is successfully applying Scrum.
This presentation about DevOps will help you understand what is DevOps, how is DevOps different from traditional IT, benefits of DevOps, the lifecycle of DevOps and tools used in DevOps processes. DevOps is one of the most trending IT jobs. It is a collaboration between development and operation teams which enables continuous delivery of applications and services to our end users. However, if you want to become a DevOps engineer, you must have knowledge of various DevOps tools (like Git, Maven, Selenium, Jenkins, Docker, Ansible, Nagios etc.) to achieve automation at each stage which helps in gaining Continuous Development, Continuous Integration, Continuous Testing and Continuous Monitoring in order to deliver a quality product to the client at a very fast pace. Now, let us get started and understand DevOps and does the various DevOps tools work.
Below are the topics explained in this DevOps presentation:
1. What is DevOps?
2. Benefits of DevOps
3. Lifecycle of DevOps
4. Tools in DevOps
Why learn DevOps?
Simplilearn’s DevOps training course is designed to help you become a DevOps practitioner and apply the latest in DevOps methodology to automate your software development lifecycle right out of the class. You will master configuration management; continuous integration deployment, delivery, and monitoring using DevOps tools such as Git, Docker, Jenkins, Puppet, and Nagios in a practical, hands-on and interactive approach. The DevOps training course focuses heavily on the use of Docker containers, a technology that is revolutionizing the way apps are deployed in the cloud today and is a critical skillset to master in the cloud age.
After completing the DevOps training course you will achieve hands-on expertise in various aspects of the DevOps delivery model. The practical learning outcomes of this Devops training course are:
An understanding of DevOps and the modern DevOps toolsets
The ability to automate all aspects of a modern code delivery and deployment pipeline using:
1. Source code management tools
2. Build tools
3. Test automation tools
4. Containerization through Docker
5. Configuration management tools
6. Monitoring tools
Who should take this course?
DevOps career opportunities are thriving worldwide. DevOps was featured as one of the 11 best jobs in America for 2017, according to CBS News, and data from Payscale.com shows that DevOps Managers earn as much as $122,234 per year, with DevOps engineers making as much as $151,461. DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
1. This DevOps training course will be of benefit the following professional roles:
2. Software Developers
3. Technical Project Managers
4. Architects
5. Operations Support
6. Deployment engineers
7. IT managers
8. Development managers
Learn more at https://www.simplilearn.com/cloud-computing/devops-practitioner-certification-training
Playwright: A New Test Automation Framework for the Modern WebApplitools
Join Andrey Lushnikov, Principal Engineer at Microsoft, as he shares insights into the decisions behind the creation and development Playwright; how Playwright is the only tool that covers modern automation needs; and why it is believed Playwright is the first framework that can be used for cross-browser testing.
- What are Internal Developer Portal (IDP) and Platform Engineering?
- What is Backstage?
- How Backstage can help dev to build developer portal to make their job easier
Jirayut Nimsaeng
Founder & CEO
Opsta (Thailand) Co., Ltd.
Youtube Record: https://youtu.be/u_nLbgWDwsA?t=850
Dev Mountain Tech Festival @ Chiang Mai
November 12, 2022
In this session, we will learn about Teamcity CI Server. We will look at the different options available and how we can set a CI pipeline using Teamcity.
How to build security into the DevOps environment. Introduction to DevSecOps for DevOps / Agile enthusiasts and practitioners. Presented on Czech DevOps meet-up.
[To download this complete presentation, visit: https://www.oeconsulting.com.sg/training-presentations]
This introduction to Agile and Scrum is a presentation that provides a high-level overview of Agile and Scrum methodologies. The presentation is aimed at individuals who may have heard of Agile and Scrum but are not familiar with the concepts or principles.
The presentation begins with an introduction of the basic principles and values of Agile and Scrum, which includes an explanation of the Agile philosophy and principles, and an overview of the Scrum framework and its origins. It also discusses the benefits and drawbacks of Agile and Scrum and compares them to traditional project management methodologies.
The key roles and responsibilities within a Scrum team are discussed next, including the three key roles of Scrum Master, Product Owner, and Development Team. An explanation on how these roles interact with each other and the wider organization is provided.
The Scrum framework and its key components, including an overview of Sprints, Backlog, and Artifacts are also explained. The Scrum events, including Sprint Planning, Daily Scrum, Sprint Review, and Sprint Retrospective, are also covered.
Lastly, successful examples of how Agile and Scrum are used in various industries, such as software development, marketing, and education are presented. Discussions on how Agile and Scrum can be adapted to fit the needs of different projects and organizations are also provided.
By the end of the Agile and Scrum PPT presentation, attendees would have a solid foundation in Agile and Scrum methodologies, including a basic understanding of the principles and values, the Scrum framework and its key components, and the roles and responsibilities of the Scrum team. They would be equipped with the necessary knowledge to apply Agile and Scrum to their own work.
LEARNING OBJECTIVES
1. Understand the basic principles, values, benefits and drawbacks of Agile and Scrum.
2. Understand the key roles of the Scrum team, and the Scrum framework and its key components.
3. Understand how Agile and Scrum can be applied to various industries and projects and adapted to fit different situations.
CI CD Pipeline Using Jenkins | Continuous Integration and Deployment | DevOps...Edureka!
** DevOps Training: https://www.edureka.co/devops **
This CI CD Pipeline tutorial explains the concepts of Continuous Integration, Continuous Delivery & Deployment, its benefits, and its Tools. Below are the topics covered in the video:
1. What is DevOps
2. What are CI and CD?
3. Pipelines: What are they?
4. Continuous Delivery and Continuous Deployment
5. Role of Jenkins
6. Role of Docker
7. Hands-On – Creating CI CD Pipeline Using Jenkins and Docker
Check our complete DevOps playlist here (includes all the videos mentioned in the video): http://goo.gl/O2vo13
Why Should we use Microsoft's PlaywrightKnoldus Inc.
Playwright enables fast, reliable and capable testing and automation across all modern browsers. This guide covers those key differentiators to help you decide on the right tool for your automated tests.
SRE-iously! Defining the Principles, Habits, and Practices of Site Reliabilit...Tori Wieldt
How do you make DevOps magic when you aren’t Google? This talk will help whether you’re still figuring out how to create a site reliability practice at your company or you’re trying to improve the processes and habits of an existing SRE team.
Join BostonPHP and Michael Bourque as he presents the concept of Scrum and shows why so many people are now deploying scrum to their development projects. Michael will take us through the process and talk about how his company, Parametric Technology Inc. (PTC) , is successfully applying Scrum.
This presentation about DevOps will help you understand what is DevOps, how is DevOps different from traditional IT, benefits of DevOps, the lifecycle of DevOps and tools used in DevOps processes. DevOps is one of the most trending IT jobs. It is a collaboration between development and operation teams which enables continuous delivery of applications and services to our end users. However, if you want to become a DevOps engineer, you must have knowledge of various DevOps tools (like Git, Maven, Selenium, Jenkins, Docker, Ansible, Nagios etc.) to achieve automation at each stage which helps in gaining Continuous Development, Continuous Integration, Continuous Testing and Continuous Monitoring in order to deliver a quality product to the client at a very fast pace. Now, let us get started and understand DevOps and does the various DevOps tools work.
Below are the topics explained in this DevOps presentation:
1. What is DevOps?
2. Benefits of DevOps
3. Lifecycle of DevOps
4. Tools in DevOps
Why learn DevOps?
Simplilearn’s DevOps training course is designed to help you become a DevOps practitioner and apply the latest in DevOps methodology to automate your software development lifecycle right out of the class. You will master configuration management; continuous integration deployment, delivery, and monitoring using DevOps tools such as Git, Docker, Jenkins, Puppet, and Nagios in a practical, hands-on and interactive approach. The DevOps training course focuses heavily on the use of Docker containers, a technology that is revolutionizing the way apps are deployed in the cloud today and is a critical skillset to master in the cloud age.
After completing the DevOps training course you will achieve hands-on expertise in various aspects of the DevOps delivery model. The practical learning outcomes of this Devops training course are:
An understanding of DevOps and the modern DevOps toolsets
The ability to automate all aspects of a modern code delivery and deployment pipeline using:
1. Source code management tools
2. Build tools
3. Test automation tools
4. Containerization through Docker
5. Configuration management tools
6. Monitoring tools
Who should take this course?
DevOps career opportunities are thriving worldwide. DevOps was featured as one of the 11 best jobs in America for 2017, according to CBS News, and data from Payscale.com shows that DevOps Managers earn as much as $122,234 per year, with DevOps engineers making as much as $151,461. DevOps jobs are the third-highest tech role ranked by employer demand on Indeed.com but have the second-highest talent deficit.
1. This DevOps training course will be of benefit the following professional roles:
2. Software Developers
3. Technical Project Managers
4. Architects
5. Operations Support
6. Deployment engineers
7. IT managers
8. Development managers
Learn more at https://www.simplilearn.com/cloud-computing/devops-practitioner-certification-training
Playwright: A New Test Automation Framework for the Modern WebApplitools
Join Andrey Lushnikov, Principal Engineer at Microsoft, as he shares insights into the decisions behind the creation and development Playwright; how Playwright is the only tool that covers modern automation needs; and why it is believed Playwright is the first framework that can be used for cross-browser testing.
- What are Internal Developer Portal (IDP) and Platform Engineering?
- What is Backstage?
- How Backstage can help dev to build developer portal to make their job easier
Jirayut Nimsaeng
Founder & CEO
Opsta (Thailand) Co., Ltd.
Youtube Record: https://youtu.be/u_nLbgWDwsA?t=850
Dev Mountain Tech Festival @ Chiang Mai
November 12, 2022
In this session, we will learn about Teamcity CI Server. We will look at the different options available and how we can set a CI pipeline using Teamcity.
How to build security into the DevOps environment. Introduction to DevSecOps for DevOps / Agile enthusiasts and practitioners. Presented on Czech DevOps meet-up.
QA with Microsoft Test Manager and Lab ManagementRofiqi Setiawan
Plan, manage, and execute tests with Microsoft Test Manager and Lab Management in Visual Studio 2013 which will make it easier to conduct manual and automated testing across a variety of environments. This presentation covers the new exploratory testing approach offered by Microsoft Test Manager; the simplified setup and administration of Lab Management environments; and some of the other fit-and-finish features across the testing scenario.
Despite the belief that a shared context and collaboration drives quality, too often, software testers and quality professionals struggle to find their place within today's integrated agile teams. This session is a practitioner’s view of testing and testing practices within an iterative/incremental development environment. We will begin with a discussion of some of the challenges of testing within an agile environment and delve into the guiding principles of Agile Testing and key enabling practices. Agile Testing necessitates a change in mindset, and it is as much, if not more, about behavior, as it is about skills and tooling, all of which will be explored.
parikshalabs.com provides the advance level services in software field like Software Testing Tools, Web Application Testing and also mobile Apps testing.
Incorporating Performance Testing in Agile Development ProcessMichael Vax
This presentations explains different aspects of software performance testing and give actionable recommendations on how to integrate it into the Agile Software development process
Using Acceptance Test Driven Approach to Security Test, easy for stakeholder involvement, and a whole team approach to address security needs in software development process.
Examples in this session are based on RobotFramework, making it easy for people with limited programming skills.
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
As AI technology is pushing into IT I was wondering myself, as an “infrastructure container kubernetes guy”, how get this fancy AI technology get managed from an infrastructure operational view? Is it possible to apply our lovely cloud native principals as well? What benefit’s both technologies could bring to each other?
Let me take this questions and provide you a short journey through existing deployment models and use cases for AI software. On practical examples, we discuss what cloud/on-premise strategy we may need for applying it to our own infrastructure to get it to work from an enterprise perspective. I want to give an overview about infrastructure requirements and technologies, what could be beneficial or limiting your AI use cases in an enterprise environment. An interactive Demo will give you some insides, what approaches I got already working for real.
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.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
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.
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
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.
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
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.
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.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
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
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
2. What are we up to now?
Lost in translation
Do not explain why
Gaps discovered only until coding started
Cumulative effects of small misunderstandings
Inadequate and essentially flawed requirements and
specifications
3. Failing to meet actual needs
are obvious things really obvious?
Imperative requirements
Fulfilling specifications does not guarantee success
4. Meeting the needs with
Acceptance TDD
Acceptance Test Implementation
Requirement Feedback
Drive implementation of a requirement through a set of
automated, executable acceptance tests
5. ATDD in a Nutshell
Real-world examples to build a shared understanding of the
domain
Select a set of these examples to be a specification and an
acceptance test suite
Automate the verification of acceptance tests
Focus the software development effort on the acceptance
tests
Use the set of acceptance tests to facilitate discussion about
future change requests.
6. The ATDD cycle
•Implementation of tests usually
coding
occur before the code is done
testing
• Feature not done until test passes
Feature
Specification architecture
Done
Workshop customer documentation
other activities
• Activities happen in parallel
Developers
Testers
•Team clarifies and implement the feature
Example
Product Owner
Architect tests together
Technical writers
•Tests are executable at the end of the ATDD
Workshop
7. Benefits of ATDD
Comprehensible examples over complex formulas
Close Collaboration
Definition of Done
Trust and Commitment
Testing on system level
8. Specification by Examples
Use realistic examples to demonstrate differences in
possibilities instead of abstract requirements
Write specifications down as tables
Workflows:
Preconditions
Processing steps
Verifications
9. Examples, Tests, and Spec
can become
Examples Tests
ela
rify
bo
ve
ra
te
Requirements
10. Specification workshop
Ask the domain experts
Developers and testers should suggest examples of
edges or important issues for discussion
Ubiquitous language
Organise feedback to ensure shared understanding
Use facilitator to stay focused if needed
11. Distilling the specifications
Write tests collaboratively
Examples in a form close to what your automation tool can
understand
Keep tests in a form that is human-readable
Specification over Scripting, describe WHAT, not how
Acceptance tests to prevent defects, not to discover
Not necessarily automate anything
Acceptance tests only work when we can discuss them
12. Some considerations
User Interface
Easy?
Fragile?
Performance issues?
Boundary of Stub
Sufficiently close
Simulators?
Business logic
Not from developer perspective
13. Acceptance Test smells
Long tests
Parameters of calculation tests that always have the same
value
Similar test with minor differences
Tests that reflect the way code was written
Tests fail intermittently even though you didn’t change any
code
Interdependent tests, e.g. setup for others
14. Change
Use existing acceptance tests to discuss future
changes
Seek advices from customer to determine if it specifies
obsolete functionality when test fails
Automate periodic execution of regression tests with CI
Keep tests in the same version control as code
16. FIT
FIT stands for “Framework for Integrated Tests”
Most popular framework in-use
Table-based
Supporting languages like Java, C/C++, C#, Python, or
Ruby
FitLibrary to extend FIT
17. FIT in practice
Test doc
with tables
Customer writes a
Technical staff enhance
test document
the tables in the doc
containing examples
Test doc with
sanitised
tables
Technical staff
Executable Test implements fixture
classes
Test doc and
backing code
(e.g. Java)
19. Fixtures
Take information from the tables and turn them into
method calls on the actual application.
ColumnFixture - checking rules and calculations
ActionFixture - Step-by-step processing
RowFixture - Checking sets of data
21. Robot Framework
Python-based Keyword-driven test automation framework
Test libraries implemented either in Python or Java (with
remote library available in many other languages thru XML-
RPC)
Test cases are written in tabular format, save in HTML or TSV
files
Syntax similar to natural language
Users can create new keywords from existing ones and
contribute to the project
22. Preparing Test cases
Workflow tests - takes in initial state, action, verified
that the system behaved as expected
Test procedure using keywords
Keyword arguments
Test case name
Test Case Action Argument
Valid Login Open Login Page
Input Name demo
Input Password mode
Submit Credentials
23. Higher-level test cases
Free text suitable for communication even with non-
technical customers
Support given-when-then format in BDD
24. Data-driven test cases
Define a keyword which will take the input data and
prepare a table with test cases
25. Test case organisation
Simple way: Single HTML file containing all test cases
Test case tagging
26. Execution
Gathering test cases, reading and setting variables
Executing all actions for every test case
Providing global statistics
Writing the output in XML format
Generating report and log in HTML format
31. Facilitate Adoption
Evangelise - increase awareness
Lower the bar - quick path to the first success
Train and educate - from general training to specific needs
Share and infect - sit together and sharing sessions
Coach and facilitate - learn about yourselves and cope with the findings
Involve others - know the stake-holder groups and give them roles
32. Ideal candidate to work with
Shared interest in success
Authority to make decision
Ability to understand implications
Ability to explain the domain
33. Variations - an escape?
Behaviour-driven development
Example-driven development
Executable specifications
Names do not matter, but underlying practices matter
Worthwhile to try if your business people do not like
“testing”
34. Organisational Challenges
Business Analysts
Great choice for the facilitator of the spec workshop
Working with Acceptance tests makes BA’s work easier
Testers
Help people avoid problems, not to discover them
Automation of acceptance test gives testers more time to test manual things
Developers
Spec workshop gives a good chance to discuss with domain experts
Both unit tests and acceptance tests are important
35. References
Bridging the Communication Gap
Gojko Adzic
Practical TDD and ATDD for Java Developers
Lasse Koskela
Agile Testing
Lisa Crispin and Janet Gregory
36. Thank you!
Steven Mak
Email: steven@odd-e.com
Twitter: http://twitter.com/stevenmak