The concept of testing earlier in the SDLC isn't new, but the term "shift left" has reignited its importance. See how shifting left can help you, and how to do it right.
2. In the 1950’s, testing
happened by the same people
that wrote the code, and it
happen throughout the
project. There were no
dedicated testers at the time.
The idea of testing earlier
isn't new, but the term, Shift
Left has reignited its
importance.
3. Discussion Topics
What shift left is and why it’s important
The key skills and features required to shifting left
How to overcome the top challenges to adoption
Live demonstration of a shift left use case with TestLeft
5. True or False?
1. On a software project, it’s often the things we didn’t know at the beginning that
end up making the biggest impact on the projects success or failure.
2. It is easy to estimate how long it will take to fix a defect.
3. Good developers don’t need to test their code.
6. Shift Left:
/SHift/ + /left/
an approach to software development where
quality is considered and testing is
performed earlier in the lifecycle
• Testers are involved early
• BAs/POs write requirements in the form of tests
• Developers write tests
7. Why is Shifting Left important?
Testing
Early,
Testing
Often
Speed Quality Cost
Cheaper to fixFewer defects
=
Shorter cycles
8. Traditional Software Development Lifecycle
IBM Systems Sciences Institute
Design Develop Test Operations
Requirements Design Develop Test Monitor
Current Bug Discovery
Costtofixadefect($)
Avg Cost of Defect $100 $250 $1500
9. Current Bug Discovery
Shifting Everything Left
IBM Systems Sciences Institute
Costtofixadefect($)
Design Develop Test Operations
Shift Left Discovery
Design
Develop
Test
Monitor
10. It’s really happening
• Create more testable code (less flaky tests)
• Bridge the gap between Dev, QA and Product
• Code in sprints, now we test in the same sprint too
• Maintain a single code base – Application and test (unit, API, UI)
• Enable true CI/CD
• Think about quality in every step
11. Wasatch Software – Traditional Software Delivery
• Long application and innovation cycles – typically deliver release
twice a year
• Save E2E, Acceptance, and Performance testing for the last step
before deployment – first things to get cut short
• Find lots of bugs in their QA phase
• Teams are in silos – with Dev work being thrown over the fence
to the QA team
• Their API lacks many features of their core product and
developers find it hard to work with.
12. Blackcomb Airlines – Benefits of Shifting Left
Speed
Quality
Cost
Collaboration
• Get to market faster than ever with shorter development and
testing cycles.
• Deliver with predictability needed to hit deadlines and budgets
• Test continuously over the SDLC, finding more bugs in at all
application layers
• Increase test coverage with baseline regressions, unit, etc
• Find bugs earlier in the SDLC, when bugs are exponentially cheaper
to fix.
• Shifting left requires developers to take part in testing and
collaborate with their QA counterparts, strengthening the overall
product.
13. Challenges of Shifting Left
Technical
Skills
Needed
Increasing
Complexity
of Systems
Shifting
Left
Team
Collaboration
Cost of
Tooling
Corporate
Buy-In
Like any fast changing process or movement in
the workplace, shifting left can feel like turning
the Titanic. A well thought-out strategy and the
backing of world-class tools like SmartBear can
drastically help alleviate these challenges.
SmartBear creates tools that:
• Are easy to use and install
• Are affordable to buy and roll out
• Encourage communication and collaboration
between teams
19. How Shift Left is Accelerated
• Agile / DevOps Practices
• CI/CD Processes
• BDD Workflows
20. Behavior-Driven Development:
(BDD)
a software development process where teams
create simple steps on how an application should
behave from a user’s perspective
Starting with the end in mind.
• TDD focuses on the developer’s view on how an software should work
• BDD focuses on the users’ view on how the application should behave
21.
22. Three BDD Practices to Avoid Building the Wrong Swing
Discovery: Shared understanding of the user requirements through
collaboration (People)
Examples of system behavior that are documented in
business terminology and feature stories (Process)
Feature stories from Formulation are automated to verify
the system’s behavior (Tool)
Formulation:
Automation:
23. 1
BDD + TestLeft = Shift Left
TestLeft easily integrates with popular BDD frameworks: Cucumber, SpecFlow and Jbehave
BDD frameworks formulate feature user stories in a easy-to-read language called Gherkin
2 TestLeft quickly translate BDD requirements written in Gherkin into actual test steps.
24. What Makes BDD + TestLeft Great?
Test Creation Speed: Automatically generate your application models and
pages in “two clicks”
Readability and Collaboration: Anyone across the SDLC can understand the
use requirement and collaborate for faster time to resolution
Test Reusability: By building feature stories in BDD frameworks, you are
creating modular test cases to easily be reused over again
1
2
3
25. My Three Favorite Things in TestLeft
Generate application models for
web or desktop applications in two
clicks. Simply drag and drop objects
to access built-in properties,
methods, and classes in a single file.
Easily integrate with open source
frameworks for Behavior-Driven
Development. With one collaboration
tool for agile teams, anyone can
understand your codebase.
Create Tests Faster in Your
IDE with Our UI Object Spy
Accelerate Your Shift Left
Movement with BDD
Test Early, Test Often with
Your DevOps Ecosystem
TestLeft seamlessly embeds into
your development environment and
DevOps ecosystem. With hundreds
of integrations, TestLeft fits perfectly
with continuous integration process.
We use apps to help us and outsource many of our decision making tasks – whether it is using waze to tell us which route to take or telling us what the weather is before we go outside.
Mobile apps are highly prevalent in the banking and financial sectors, where consumers and business alike entrust institutions with are most personal and confidential information.
It helps us easily expand our businesses internationally, empower our employees with real-time information and also, receive information from end-users so we can provide best in class services.
It’s engrained nature in our lives and businesses is the reason why mobile testing is even more critical.
Today, we will discuss:
Need
Productivity via team collaboration
Explore BDD to promote agile thinking
Management talks about Shifting left, DevOps, continuous testing (CI/CD)
Want to test API and UI in one codebase (TL only tests UI though)
IBM ran a survey few years ago to figure out the cost of fixing a defect in the different stages of the software development lifecycle.
IBM ran a survey few years ago to figure out the cost of fixing a defect in the different stages of the software development lifecycle.
We ran an experiment over the last 2 months talking to developers, system architects, product owners, QA engineers after whether shift left is real
I don’t mean hire testers. I mean hire curious developers and devs that aren’t afraid to write unit tests.
I don’t mean hire testers. I mean hire curious developers and devs that aren’t afraid to write unit tests.
Need
Productivity via team collaboration
Explore BDD to promote agile thinking
Management talks about Shifting left, DevOps, continuous testing (CI/CD)
Want to test API and UI in one codebase (TL only tests UI though)
Need
Productivity via team collaboration
Explore BDD to promote agile thinking
Management talks about Shifting left, DevOps, continuous testing (CI/CD)
Want to test API and UI in one codebase (TL only tests UI though)
Need
Productivity via team collaboration
Explore BDD to promote agile thinking
Management talks about Shifting left, DevOps, continuous testing (CI/CD)
Want to test API and UI in one codebase (TL only tests UI though)
Avoid wasting time reworking test cases with recorders that can’t recognize your objects. Trust your test will always playback with the most accurate object repository.
Stop worrying about upgrading your environments. Invest in a tool that does it for you so your bases are covered with test coverage you can count on.
You shouldn’t have to update your data in two areas for your automated tests. Use a software that doesn’t require integrations and third party support for data-driven testing.