SlideShare une entreprise Scribd logo
1  sur  38
Télécharger pour lire hors ligne
Understanding
Quality
Assurance
Luiza Nunes
Sanchari
Viviana
Pooja
Oct 2013
2
What is Software
Development?
3
Why do we test?
Testing should be integrated with one of the
quality assurance activities
This verification is done to ensure that we are
building the system right
4
Types of testing
Unit Testing
Integration Testing
Functional Testing
System Testing
Load Testing
Performance Testing
Acceptance Testing
5
Testing Pyramid
Introduction to
TDD
Workshop – Understanding
Quality Assurance
Oct 2013
7
Unit Test
“Unit Test is a procedure used to validate that
individual units of functional code are working
properly.
Is usually done by developers
Improves quality
Facilitates changes (refactoring)
Enables automation
Simplifies integration
8
What is TDD
“TDD is an evolutionary approach to development which
instructs you to have test-first development intent. “
Small successful, tested steps.
Do the simplest thing that could possibly work.
9
TDD Cycle
10
JUnit
A open source regression testing framework
Used by developers to implement unit tests in Java
Provides tools for:
-assertions
-running tests
-aggregating tests (suites)
11
Sample Code
public class Foo {
public Foo() {
}
public String helloWorld() {
return "Hello World";
}
public boolean truth() {
return true;
}
}
12
How to test it?
Debugger
-Needs human intervention, slow, boring
Print Statements
-Needs human intervention, slow, polluted code, "Scroll
Blindness”
JUnit
-Automatic,quick,no code pollution
13
Sample JUnit Code
public class FooTest extends TestCase {
private Foo foo= new Foo();
public void testHelloWorld() {
assertEquals("Hello World", foo.helloWorld());
}
public void testTruth() {
assertTrue(foo.truth());
}
}
TDD By Example
Introduction to
BDD
Workshop – Understanding
Quality Assurance
Oct 2013
16
Picture Courtesy : Anand Bagmar
17
What is BDD?
Behavior driven development
Collaborative Approach to defining software
requirements which facilitates Test Automation
18
What are the benefits?
Focus on value
Predictable quality
Protection from defects
19
BDD fundamentals
Faster feedback
Focused communication
Enhanced teamwork
Living documentation
Enough is enough!
20
How can I use BDD?
21
Given
When
Then
22
Given
Tells us the prerequisites (what needs to be
setup / done before we start this test?)
Setup phase of automated testing
23
When
Tells us the action that needs to happen in order
to trigger the outcomes that we are
Testing for - this will be the action that the test
needs to perform
24
Then
Tells us what to expect when the action is
performed - this is the validation step of the
automated test
25
How we use BDD?
26
How we use BDD?
Given the account has a balance of UGX 100,000
When the customer requests for UGX 50,000
Then the account is debited by UGX 50,000
27
How we use BDD?
Given the machine contains cash
When the customer requests cash
Then ensure the customer’s account is debited
And ensure cash is returned
And ensure the card is returned
28
How we use BDD?
New expected functionality:
Customer should be able to withdraw money
from his account only if his card is valid.
29
How we use BDD?
Given the card is valid
And the machine contains cash
When the customer requests cash
Then ensure the customer’s account is debited
And ensure cash is returned
And ensure the card is returned
30
How can I assess the
scenarios that I write?
Capturing the expected behavior?
Readable and clear enough for a human?
Testable?
Driving the developers down a particular
implementation route?
Using “strong verbs” to describe each step?
Allowing automation on “WHEN” statement?
Telling a story?
Are my scenarios:
31
Scenario: Searching for an item on Amazon
Given I’m at Amazon’s homepage
When I search for “Electronics” on the search dropdown
on the top of the page
Then I can see the results of my search
32
What’s wrong?
Contains User Interface (UI) language (dialogs,
selecting, clicking)
The scenario language contains details that only an
experienced user of Amazon customer can follow it
“Weak” verbs – can…
33
Tools to enable BDD
Cucumber
JBehave
SpecFlow
Twist
34
35
36
Let’s practice it!
37
Want to know more?
The Rspec book – David Chelimsky
Bridging the Communication Gap – Gojko Adzic
Specification by Example - Gojko Adzic
The Cucumber Book – Matt Whynne/Aslak Hellsay
38
Thank you!
lnunes@thoughtworks.com
poojasal@thoughtworks.com
sancharg@thoughtworks.com
vtercero@thoughtworks.com
join.thoughtworks.com

Contenu connexe

Similaire à Understanding QA Kampala

Test Management Training
Test Management TrainingTest Management Training
Test Management Training
suhasreddy1
 
Object oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle pptObject oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle ppt
Kunal Kishor Nirala
 

Similaire à Understanding QA Kampala (20)

Software Testing interview - Q&A and tips
Software Testing interview - Q&A and tipsSoftware Testing interview - Q&A and tips
Software Testing interview - Q&A and tips
 
Test Management Training
Test Management TrainingTest Management Training
Test Management Training
 
The Future of Testing
The Future of TestingThe Future of Testing
The Future of Testing
 
Introduction to Agile Testing
Introduction to Agile TestingIntroduction to Agile Testing
Introduction to Agile Testing
 
Real Time software Training in Nagercoil
Real Time software Training in NagercoilReal Time software Training in Nagercoil
Real Time software Training in Nagercoil
 
Object oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle pptObject oriented-systems-development-life-cycle ppt
Object oriented-systems-development-life-cycle ppt
 
Manual Testing
Manual TestingManual Testing
Manual Testing
 
Exploring Different Types of QA Methods_ An Overview.pdf
Exploring Different Types of QA Methods_ An Overview.pdfExploring Different Types of QA Methods_ An Overview.pdf
Exploring Different Types of QA Methods_ An Overview.pdf
 
Scrum it up!
Scrum it up!Scrum it up!
Scrum it up!
 
Software testing course_in_mumbai
Software testing course_in_mumbaiSoftware testing course_in_mumbai
Software testing course_in_mumbai
 
Agile for Software as a Medical Device
Agile for Software as a Medical DeviceAgile for Software as a Medical Device
Agile for Software as a Medical Device
 
gtFace: Scrum (presentation)
gtFace: Scrum (presentation)gtFace: Scrum (presentation)
gtFace: Scrum (presentation)
 
gtFace: Agile Scrum
gtFace: Agile ScrumgtFace: Agile Scrum
gtFace: Agile Scrum
 
Intro to agile testing
Intro to agile testingIntro to agile testing
Intro to agile testing
 
Cloud Testing Research
Cloud Testing ResearchCloud Testing Research
Cloud Testing Research
 
Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...
Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...
Paul Gerrard - The Redistribution of Testing – Where to Innovate and What to ...
 
Software testing course_in_mumbai
Software testing course_in_mumbaiSoftware testing course_in_mumbai
Software testing course_in_mumbai
 
Effective Testing Practices in an Agile Environment
Effective Testing Practices in an Agile EnvironmentEffective Testing Practices in an Agile Environment
Effective Testing Practices in an Agile Environment
 
тестовые стратегии
тестовые стратегиитестовые стратегии
тестовые стратегии
 
Agile and Continuous Delivery for Audits and Exams - DC Continuous Delivery M...
Agile and Continuous Delivery for Audits and Exams - DC Continuous Delivery M...Agile and Continuous Delivery for Audits and Exams - DC Continuous Delivery M...
Agile and Continuous Delivery for Audits and Exams - DC Continuous Delivery M...
 

Plus de Thoughtworks

Plus de Thoughtworks (20)

Design System as a Product
Design System as a ProductDesign System as a Product
Design System as a Product
 
Designers, Developers & Dogs
Designers, Developers & DogsDesigners, Developers & Dogs
Designers, Developers & Dogs
 
Cloud-first for fast innovation
Cloud-first for fast innovationCloud-first for fast innovation
Cloud-first for fast innovation
 
More impact with flexible teams
More impact with flexible teamsMore impact with flexible teams
More impact with flexible teams
 
Culture of Innovation
Culture of InnovationCulture of Innovation
Culture of Innovation
 
Dual-Track Agile
Dual-Track AgileDual-Track Agile
Dual-Track Agile
 
Developer Experience
Developer ExperienceDeveloper Experience
Developer Experience
 
When we design together
When we design togetherWhen we design together
When we design together
 
Hardware is hard(er)
Hardware is hard(er)Hardware is hard(er)
Hardware is hard(er)
 
Customer-centric innovation enabled by cloud
 Customer-centric innovation enabled by cloud Customer-centric innovation enabled by cloud
Customer-centric innovation enabled by cloud
 
Amazon's Culture of Innovation
Amazon's Culture of InnovationAmazon's Culture of Innovation
Amazon's Culture of Innovation
 
When in doubt, go live
When in doubt, go liveWhen in doubt, go live
When in doubt, go live
 
Don't cross the Rubicon
Don't cross the RubiconDon't cross the Rubicon
Don't cross the Rubicon
 
Error handling
Error handlingError handling
Error handling
 
Your test coverage is a lie!
Your test coverage is a lie!Your test coverage is a lie!
Your test coverage is a lie!
 
Docker container security
Docker container securityDocker container security
Docker container security
 
Redefining the unit
Redefining the unitRedefining the unit
Redefining the unit
 
Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22Technology Radar Webinar UK - Vol. 22
Technology Radar Webinar UK - Vol. 22
 
A Tribute to Turing
A Tribute to TuringA Tribute to Turing
A Tribute to Turing
 
Rsa maths worked out
Rsa maths worked outRsa maths worked out
Rsa maths worked out
 

Dernier

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Dernier (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 

Understanding QA Kampala