For enterprise projects, maintaining automation tests suite is always a challenge.
* Detailed walkthru of automation pyramid containing different types of specification driven tests layer.
* Framework built using RSpec, Spinach, Cucumber, webkit and Webdriver with examples
* Process of evolving and building specification tests
* Tips to maintain test suite and minimize test run durations
Treat your servers like your Ruby App: Infrastructure as CodeRakuten Group, Inc.
As a Ruby developer, we are responsible for providing unit test harness to support our development. Not only it provides a clean code base, but it also allows you to introduce changes as the needs of your application's supported business over time.
Putting the same effort around your application's infrastructure gives the same benefit as well. Being able to support sudden traffic to your application is as important as delivering features to your users. In this talk, I discussed how to treat your Infrastructure as Code with the same test-driven development techniques you do in your application.
Dev ops for cross platform mobile modeveast 12Sanjeev Sharma
Mobile Apps are not stand alone applications running on a mobile device anymore. Apps today are complex systems with back-ends hosted on clouds, with application servers, databases, API calls to external systems, and of course a powerful app running on a mobile device. Mobile App development and deployment is further complicated with todays need for supporting multiple mobile devices, with multiple OSes, multiple versions of the OSes, multiple form factors and varied network, CPU, GPU and memory specs.
DevOps - the new and growing movement addresses these development and deployment challenges. The goal of DevOps is to align Dev and Ops by introducing a set of principles and practices such as continuous integration and continuous delivery. Mobile apps take the need for these practices up a level due to their inherent distributed nature. Multi-platform mobile apps need even more care in applying DevOps principles as there are multiple platforms to be targeted, each with its own requirements, quirks, and nuanced needs.
This talk will introduce attendees to the basic practices of DevOps and then take a look at the DevOps challenges specific to cross-platform Mobile apps and present Best Practices to address them.
Good evening! My name’s Tim Pettersen. I’ve been working at Atlassian for eight years, and today I’m going to be telling you a love story.
Not about me, but between two of our products - our Issue Tracker JIRA and our Git hosting server, Stash.
A couple so perfect, they’d be kind of annoying if they didn’t just work so damn well together.
Treat your servers like your Ruby App: Infrastructure as CodeRakuten Group, Inc.
As a Ruby developer, we are responsible for providing unit test harness to support our development. Not only it provides a clean code base, but it also allows you to introduce changes as the needs of your application's supported business over time.
Putting the same effort around your application's infrastructure gives the same benefit as well. Being able to support sudden traffic to your application is as important as delivering features to your users. In this talk, I discussed how to treat your Infrastructure as Code with the same test-driven development techniques you do in your application.
Dev ops for cross platform mobile modeveast 12Sanjeev Sharma
Mobile Apps are not stand alone applications running on a mobile device anymore. Apps today are complex systems with back-ends hosted on clouds, with application servers, databases, API calls to external systems, and of course a powerful app running on a mobile device. Mobile App development and deployment is further complicated with todays need for supporting multiple mobile devices, with multiple OSes, multiple versions of the OSes, multiple form factors and varied network, CPU, GPU and memory specs.
DevOps - the new and growing movement addresses these development and deployment challenges. The goal of DevOps is to align Dev and Ops by introducing a set of principles and practices such as continuous integration and continuous delivery. Mobile apps take the need for these practices up a level due to their inherent distributed nature. Multi-platform mobile apps need even more care in applying DevOps principles as there are multiple platforms to be targeted, each with its own requirements, quirks, and nuanced needs.
This talk will introduce attendees to the basic practices of DevOps and then take a look at the DevOps challenges specific to cross-platform Mobile apps and present Best Practices to address them.
Good evening! My name’s Tim Pettersen. I’ve been working at Atlassian for eight years, and today I’m going to be telling you a love story.
Not about me, but between two of our products - our Issue Tracker JIRA and our Git hosting server, Stash.
A couple so perfect, they’d be kind of annoying if they didn’t just work so damn well together.
The state of containers for your DevOps journeyAgile Montréal
Containers, Containers, Containers! We are hearing about Containers everywhere, what are their key concepts? Why could they simplify your DevOps journey? What are the tools to help you with Containers and orchestratethem? What’s the road ahead with Containers? Let’s talk about that! Through this presentation you will see also how the Cloud and the Open Source tools and communities are driving this Containers adoption. This presentation will be illustrated by demonstrations.
Mathieu Benoit
Atlassian developer tools just keep getting better, and 2009 is a big year, full of new releases and imaginitive features. This session covers major updates, integrations and how-tos across the suite of Atlassian developer tools, including FishEye, Crucible, Clover, Bamboo, and JIRA.
Atlassian Speaker: Pete Moore
Key Takeaways:
* Understand key new capabilities
* Discuss direction and strategy with product managers
* Highlight upcoming releases
Test Driven Development su iOS è possibile e persino utile.
Invece di leggere blog post che sottointendono che TDD su iOS sia difficile e inutile venite a vedere chi lo usa sul serio e ha il coraggio di programmare ad una conferenza davanti ad altre persone.
Avvertenze:
questo talk non contiene paternali sul perché si dovrebbe (o non si dovrebbe) fare TDD
in questo talk non verranno usati strumenti complicati
in questo talk verrà scritto ed eseguito codice dal vivo
Dopo una brevissima introduzione passerò a sviluppare guidato dai test una semplice applicazione per iPhone.
This talk aims to summarize the typical challenges one encounters in testing mobile applications. At the ThoughtWorks Pune office we have developed multiple mobile applications across various platforms (mobile web, hybrid apps, native apps, apps for tablets etc.). In this talk we will bring together lessons learnt around mobile testing. This talk was done by Vikrant Chauhan and Dubinsky De Soares
The state of containers for your DevOps journeyAgile Montréal
Containers, Containers, Containers! We are hearing about Containers everywhere, what are their key concepts? Why could they simplify your DevOps journey? What are the tools to help you with Containers and orchestratethem? What’s the road ahead with Containers? Let’s talk about that! Through this presentation you will see also how the Cloud and the Open Source tools and communities are driving this Containers adoption. This presentation will be illustrated by demonstrations.
Mathieu Benoit
Atlassian developer tools just keep getting better, and 2009 is a big year, full of new releases and imaginitive features. This session covers major updates, integrations and how-tos across the suite of Atlassian developer tools, including FishEye, Crucible, Clover, Bamboo, and JIRA.
Atlassian Speaker: Pete Moore
Key Takeaways:
* Understand key new capabilities
* Discuss direction and strategy with product managers
* Highlight upcoming releases
Test Driven Development su iOS è possibile e persino utile.
Invece di leggere blog post che sottointendono che TDD su iOS sia difficile e inutile venite a vedere chi lo usa sul serio e ha il coraggio di programmare ad una conferenza davanti ad altre persone.
Avvertenze:
questo talk non contiene paternali sul perché si dovrebbe (o non si dovrebbe) fare TDD
in questo talk non verranno usati strumenti complicati
in questo talk verrà scritto ed eseguito codice dal vivo
Dopo una brevissima introduzione passerò a sviluppare guidato dai test una semplice applicazione per iPhone.
This talk aims to summarize the typical challenges one encounters in testing mobile applications. At the ThoughtWorks Pune office we have developed multiple mobile applications across various platforms (mobile web, hybrid apps, native apps, apps for tablets etc.). In this talk we will bring together lessons learnt around mobile testing. This talk was done by Vikrant Chauhan and Dubinsky De Soares
From http://wiki.directi.com/x/AgAa - This is a 24 slide internal presentation covering virtues of Automated Testing vs Manual Testing. Inkeeping with our agile adoption this presentation covers various advantages (11 to be specific) obtained in using TDD and Automated Testing as opposed to Manual Testing
Bhumika S, Anand Bagmar (Thoughtworks)
How many times do we test the same things at multiple layers, multiple levels, adding time to the build process and testing cycle, delaying the feedback?
We know what to test and how to test, but what is the right place to test it?
In this workshop, we will demonstrate how we, as QA’s, can identify which tests can be classified as unit tests, integration tests, and functional tests. Using a case study, we will see how each component can be tested as part of unit testing; the integration of different parts and the functioning of a software system as a whole, and how functional tests fit into this big picture. We will then bring all these tests together to understand and build the testing pyramid and how it enables us to build the right testing framework with fewer Selenium, i.e., functional tests.
Arjuna - Reinventing the Test Automation WheelsRahul Verma
Arjuna is a new generation free test automation engine created by Rahul Verma. It has been coded from scratch, as some would say - it is a reinvention of the test automation wheel. When was a reinvention a bad thing? A wise man once said whatever had to be created has already been created, we just discover it. Arjuna is specifically geared towards today's complex test automation needs while not forgetting the strong foundations laid by its predecessors and teacher in the form of JUnit and TestNG. This presentation happens to be the first formal presentation and hence the official launch of Arjuna by its creator - Rahul Verma.
Create the Future - Innovations in TestingAnand Bagmar
My keynote talk delivered in vodQA Pune, Innovations in Testing, on Sat, 6th June 2015, at ThoughtWorks, Pune.
Video available here: https://www.youtube.com/watch?v=EJcaUZYGDic
Gauge is a lightweight open-source, cross-platform test automation tool from ThoughtWorks which provides the ability to author test cases in the business language.
By: Harmeet Singh & Vivek Mahajan
A brief introduction to test automation covering different automation approaches, when to automate and by whom, commercial vs. open source tools, testability, and so on.
Test Automation - Principles and PracticesAnand Bagmar
Slides from my webinar for Sri Lanka Testing Community on - "Test Automation - Principles & Practices".
Details about the webinar can be found from my blog - http://essenceoftesting.blogspot.com
This slide deck Introduces Chef and its role in DevOps. The agenda of the deck is as follows:
- A Review of DevOps
- BMs Continuous Delivery solution
- Introduction to Chef
- Chef and Continuous Delivery
Read more on DevOps: http://sdarchitect.wordpress.com/understanding-devops/
Presentation on Mobile DevOps. Presented at MoDevTablet conference on Sept. 14th. Focuses on:
- What is DevOps?
- What are the challenges of DevOps for Mobile?
- Best practices for Mobile DevOps
Blog post: https://sdarchitect.wordpress.com/2012/09/15/slides-for-my-presentation-on-mobile-devops/
Continuous Delivery refers to the process of releasing high quality software quickly and with confidence through the use of build, test and deployment automation. By applying Lean techniques to the development, test and deployment of software, waste is reduced and staff are freed up to work on more important tasks. By following a continuous delivery model, release cycles shift from a matter of months to weeks or days.
In this presentation, we will look at the key tools and processes involved in transitioning from a manual culture to one that embraces automation. We will look at real world examples, including the tools and architectural components. We will discuss organizational impacts, including the dramatic improvements in morale as team delivery commitments are met more easily through automation.
Inflectracon2020: Advantages of Integrating a DevSecOps Pipeline with the Spi...Inflectra
Welcome to InflectraCon 2020!
Please enjoy Inflectra's partner presentation on common DevSecOps pipeline concepts and the integration of a typical pipeline with the Spira family of tools. The key takeaways are:
- Explore foundational DevSecOps pipeline concepts, components, and functions.
- Understand how the move to DevSecOps can help detect defects before production quickly and prevent continuous bugs.
- Learn how you can jump-start your efforts and have a working pipeline on your project.
The presentation is by the Inflectra Partner - Coveros. The companion video is available here https://www.youtube.com/watch?v=bTQJtr1Digw
Ashwini Malthankar
Organization: ThoughtWorks
Topic: Effective use of CI by QA
Presented in vodQA - THE TESTING SPIRIT! on Oct 7, 2010 in ThoughtWorks, Pune
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...XebiaLabs
Learn how you can enhance and extend your existing infrastructure to create an automated, end-to-end IT platform supporting on-demand middleware and application environments, application release pipelines, Continuous Delivery, Private/ hybrid development platform and PaaS and more.
Similar to Specifications test automation pyramid public (20)
The happy workplace is always the home of the productive workplace, filled with a lot of talent around. Millennials being part of this productive workplace are transitioning from process-centric interface to consumer centric self-service interfaces. One of the functional areas which is involved in this eco-system is IT support.
At Thoughtworks, we realized that this transformation to self-service based economy for IT hardwares could be achieved by “Perimeter based indoor tracking”. From a technology perspective “BLE based IOT infrastructure”, covered by a creamy layer of “AI” forms the enterprise sustainable solution. In this talk , I will detail the “BLE based Indoor perimeter ecosystem” which helps us to track and maintain IT assets thus providing a 99% data accuracy and ~60-80% of manpower cost savings.
Overall in this speech, I will be detailing the key patterns to build a test assembly unit to support continuous deployment using agile testing process, specifications by examples, specification test automation pyramid etc. During this walk-thru, experience reports/examples will be shared appropriately.
a) Raw Materials - The highlight of this section will be the talk on approach towards creating whole specification bundle. Areas like team collaboration, stake-holders involvement, product development stages involved, context to the team etc,. will be covered.
b) Processing unit - We follow a filtering mechanism using which the raw material(specifications) gets filtered and consumed during the development process. The talk will be mainly concentrated on the consumption of specifications by different team members like stakeholders, DEVs, QAs and BAs. In this stage, the raw materials get consumed/processed with additional layer of automated tests. test automation pyramid will also be detailed.
c) Laboratory tests - This will be aimed at providing a glimpse of the key technique Dev-box testing also known as dev-check, Desk-check etc. This will be followed by an explanation on the best practices to implement this technique and consumption of the raw materials (specifications) in this stage. The topic will also cover the decision tree to move the processed product to different stages.
d) Integrated line - Exploratory testing and building safety net, will be implemented as part of this validation. I also wish to take you through the best practices followed.
e) Packaging and Delivery - The areas under this section will be test implementation, integration as part of CI and key benefits of following this approach. I will also try to explain the approach towards continuous deployment like weekly, monthly etc.
“Specification by Example” is a set of process patterns that helps to validate the application for faster feedback and minimal documentation. With Specification by Example, teams write just enough documenta- tion to facilitate change effectively in short iterations or in flow-based development.
Distributed agile development for enterprise application is always a key challenge for the IT industry. When companies try to practice distributed agile, questions arises around different implementation areas such as,
a) A feature developed by multiple teams
b) Best practices for communication across teams/regions
c) Transition to feature development team
d) Team’s effectiveness during transition phase
e) Key areas to be measured during few iterations of transitions
This session is all about sharing our experience in implementing distributed agile for enterprise applications. During this session, I will walk you through the key areas which includes a) Introduction to component based development b) Component based teams and process c) Need for a feature based team d) Transition to feature based development e) Recommendations/Proven practices for Transition to feature development
The realm of mobile computing is composed of various types of mobile devices and their underlying software. Enabling or writing new software for mobile phones, or portable devices has become a new vertical in software development and testing. Smart phones are getting user-friendlier and day-to-day, new apps are being released to satisfy daily user needs. More and more user-friendly apps enable greater user interactions using stylus, touch-based gestures, multi-touch gestures, motion gestures etc. These introduce lot of challenges in development and testing. This document details the approach for mobile testing and the key focus areas for testing.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
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.
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.
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/
Enhancing Performance with Globus and the Science DMZGlobus
ESnet has led the way in helping national facilities—and many other institutions in the research community—configure Science DMZs and troubleshoot network issues to maximize data transfer performance. In this talk we will present a summary of approaches and tips for getting the most out of your network infrastructure using Globus Connect Server.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
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
The Metaverse and AI: how can decision-makers harness the Metaverse for their...Jen Stirrup
The Metaverse is popularized in science fiction, and now it is becoming closer to being a part of our daily lives through the use of social media and shopping companies. How can businesses survive in a world where Artificial Intelligence is becoming the present as well as the future of technology, and how does the Metaverse fit into business strategy when futurist ideas are developing into reality at accelerated rates? How do we do this when our data isn't up to scratch? How can we move towards success with our data so we are set up for the Metaverse when it arrives?
How can you help your company evolve, adapt, and succeed using Artificial Intelligence and the Metaverse to stay ahead of the competition? What are the potential issues, complications, and benefits that these technologies could bring to us and our organizations? In this session, Jen Stirrup will explain how to start thinking about these technologies as an organisation.
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.
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.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
4. Keywords
Specification – More than test – Feature/Requirement
Cucumber – Software behavior in plain text
Capybara – Tests application by simulating a real user
Spinach - Encapsulation and modularity of your step definitions
Headless webkit - A capybara driver - WebKit via QtWebKit.
R-Spec - Test-Driven Development
5. Let’s talk about
Why specifications
Approach to specifications
Specifications pyramid
Learning's
Q&A
6. Trying to solve these challenges?
Defects leakage - missing
Requirements
Tests and requirements
Frequent changes -
documents becomes stale
breaks existing
functionalities
Long Regression Spends more time on defect
Cycles management and triage
Less confidence -
Existing test coverage
7. Trying to solve these challenges?
Defects leakage - missing
Requirements
Less confidence -
Existing test coverage
8. Let’s talk about
Why specifications
Approach to specifications
Specifications pyramid
Learning's
Q&A
10. Evolving Implementing Executing Maintaining
Story
• Intial Cukes creation Development • Manual testing for
• Inputs from Business, each Story
Technical and Testing • For TDD, writing • Evolved as part of
• Tests from Unit to RSpec exploratory testing
End-to-End • Checklist for story
completion
• Referred during dev-
Story box
Testing
Creation
11. Evolving Implementing Executing Maintaining
Story
• Intial Cukes creation Development • Manual testing for
• Inputs from Business, each Story
Technical and Testing • For TDD, writing • Evolved as part of
• Tests from Unit to RSpec exploratory testing
End-to-End • Checklist for story
completion
• Referred during dev-
Story box
Testing
Creation
12. Evolving Implementing Executing Maintaining
Story
• Intial Cukes creation Development • Manual testing for
• Inputs from each Story
Business, Technical • For TDD, writing • Evolved as part of
and Testing RSpec exploratory testing
• Tests from Unit to • Checklist for story
End-to-End completion
• Referred during dev-
Story box
Testing
Creation
13. Let’s talk about
Why specifications
Approach to specifications
Specifications pyramid
Learning’s
Q&A
15. Evolving Implementing Executing Maintaining
Algorithms / business logic
validation
API methods validation
Non-UI
RSpec + API Created as part of story
development
16. Evolving Implementing Executing Maintaining
Algorithms / business logic
validation
API methods validation
Non-UI
RSpec + API Created as part of story
development
17. Evolving Implementing Executing Maintaining
Presentation layer validations
Story level validations
Spinach + Jobs related functionalities
Headless Webkit
Created after story development
RSpec + API complete (QA’s / Dev’s)
18. Evolving Implementing Executing Maintaining
Presentation layer validations
Story level validations
Spinach + Jobs related functionalities
Headless Webkit
Created after story development
RSpec + API complete (QA’s / Dev’s)
19. Evolving Implementing Executing Maintaining
End user entry and exit scenarios
Cucumber +
Capybara
Webdriver Story level UI validations
Spinach + Headless End-To-End business scenarios
Webkit
Created after story development
RSpec + API complete (QA’s / Dev’s)
20. Evolving Implementing Executing Maintaining
End user entry and exit scenarios
Cucumber +
Capybara
Webdriver Story level UI validations
Spinach + Headless End-To-End business scenarios
Webkit
Created after story development
RSpec + API complete (QA’s / Dev’s)
21. Evolving Implementing Executing Maintaining
Cucumber + Developer/Tester
Laptop
CI pipeline
Capybara
• Smoke Tests • Smoke and E2E tests
Webdriver • Less mocks
Spinach + Headless
Webkit
Developer/Tester CI pipeline
Laptop
• Respective modules • After check-in
• Before each check-in • Before smoke and
RSpec + API • Mocks and Cassettes end-to-end
23. Let’s talk about
Why specifications
Approach to specifications
Specifications pyramid
Learning's
Q&A
24. Key learning's
Specifications - Before development
Fail fast – 95% of functionalities gets validated before check-in
Specifications verified during dev-box (including multiple
browsers)
Categorize specifications - Appropriate layer
Parallelize test runs
Keep test code equivalent to developer’s code
Executable specifications
Defects backlog not beyond a threshold (for example 20 defects)
Defects root-cause - Feedback to the team
25. Let’s Recap
Defects leakage - missing
Requirements
Tests and requirements
Frequent changes -
documents becomes stale
breaks existing functionalities
Long Regression Spends more time on defect
Cycles management and triage
Less confidence -
Existing test coverage
26. Tools Available
• Jbehave, Cucumber, Cuke4Duke with
Java different drivers (Selenium,Sahi)
• Twist (Thoughtworks Studios)
• Specflow, Cucumber, Cuke4Nuke,
.NET Coypu with drivers like Selenium, White,
WatiN