automated tests

61

Upload: crossengage-academy

Post on 14-Feb-2017

126 views

Category:

Software


0 download

TRANSCRIPT

AUTOMATEDTESTS

HOW TOensureTHAT

SOFTWARE WORKS ?

TESTING!

Quality ( )

AssuranceQuality ( )

AssuranceCheckQuality ( )

prevent bugs

AssuranceCheckQuality ( )

Costs of neglecting

Costs of neglecting

ruin customers trust

Costs of neglecting

costly context switches

ruin customers trust

Types of tests

WHITE BOX

Types of tests

BLACK BOXWHITE BOX

Types of tests

unit testing

integration testing

BLACK BOXWHITE BOX

Types of tests

unit testing

integration testing

regression testing

acceptance testing

load testing

smoke testing

functional testing

system testing

BLACK BOXWHITE BOX

Types of tests

unit testing

integration testing

regression testing

acceptance testing

load testing

smoke testing

functional testing

system testing

BLACK BOXWHITE BOX

Types of tests

etc.

BLACK BOXWHITE BOX

developers

BLACK BOXWHITE BOX

developers

qa

product

clients

BLACK BOXWHITE BOX

There’s no worse or better, right or wrong. Each one has a different purpose

NUNES, Ciro

MANUALVS

AUTOMATED

What Who When Automation

Unit tests Developer Coding Always

Integration tests Developer Coding Always

System tests QA Test Possible

Regression tests Developer/QA Test Possible

Acceptance tests QA/Clients Development/Delivery

Possible

Smoke tests Product/QA Release Possible

Functional (E2E) Developer/QA Anytime Possible

What Who When Automation

Unit tests Developer Coding Always

Integration tests Developer Coding Always

System tests QA Test Possible

Regression tests Developer/QA Test Possible

Acceptance tests QA/Clients Development/Delivery

Possible

Smoke tests Product/QA Release Possible

Functional (E2E) Developer/QA Anytime Possible

UNITtestsEVERY

COMPONENT

EXERCISE & DOCUMENT

ISOLATION

singleIN

activity-list #showDetails

activity-filter #filterByCampaign

activity-list #showDetails

INTEGRATIONtestsENSURES

UNITSdifferentTHAT

TOGETHERWORK

activity-filter #filteredItems

activity-list #filtered

Activity log #onFilter

activity-filter #filteredItems

activity-list #filtered

What Who When Automation

Unit tests Developer Coding Always

Integration tests Developer Coding Always

System tests QA Test Possible

Regression tests Developer/QA Test Possible

Acceptance tests Tester/Clients Development/Delivery

Possible

Smoke tests Product/QA Release Possible

Functional (E2E) Developer/QA Anytime Possible

E2EtestsTEST

APPentire

THE

Activity log

activity-filteractivity-list

App

Login

Dashboard Campaigns…

Testing pyramid

http://googletesting.blogspot.de/2015/04/just-say-no-to-more-end-to-end-tests.html

Unit

Integration

E2E

Testing pyramid

http://googletesting.blogspot.de/2015/04/just-say-no-to-more-end-to-end-tests.html

Unit

Integration

E2E

70%

Testing pyramid

http://googletesting.blogspot.de/2015/04/just-say-no-to-more-end-to-end-tests.html

Unit

Integration

E2E

70%

20%

Testing pyramid

http://googletesting.blogspot.de/2015/04/just-say-no-to-more-end-to-end-tests.html

Unit

Integration

E2E

70%

20%

10%

Testing pyramid

http://googletesting.blogspot.de/2015/04/just-say-no-to-more-end-to-end-tests.html

Unit

Integration

E2E

70%

20%

10%

FAST & CHEAP

Testing pyramid

http://googletesting.blogspot.de/2015/04/just-say-no-to-more-end-to-end-tests.html

Unit

Integration

E2E

70%

20%

10%

FAST & CHEAP

SLOW & PRICEY

Tools

ACCEPTANCEtestsSTORIESUSER

REFLECTS

Story: Returns go to stock

In order to keep track of stock As a store owner I want to add items back to stock when they're returned.

Scenario 1: Refunded items should be returned to stock Given that a customer previously bought a black sweater from me And I have three black sweaters in stock. When he returns the black sweater for a refund Then I should have four black sweaters in stock.

Scenario 2: Replaced items should be returned to stock Given that a customer previously bought a blue garment from me And I have two blue garments in stock And three black garments in stock. When he returns the blue garment for a replacement in black Then I should have three blue garments in stock And two black garments in stock.

Acceptance tests

acceptance criteria expected result result

Acceptance tests

acceptance criteria expected result result

HAVE WHEELS

BREAK

RUN

transport multiple people

Acceptance tests

acceptance criteria expected result result

HAVE WHEELS

BREAK

RUN

transport multiple people

Acceptance tests

acceptance criteria expected result result

HAVE WHEELS

BREAK

RUN

transport multiple people

Better acceptance criteria for stories

Valuable documentation for the developers

Better acceptance criteria for stories

Valuable documentation for the developers

Better acceptance criteria for stories

Asynchronous QA

Tools

What Who When Automation

Unit tests Developer Coding Always

Integration tests Developer Coding Always

System tests QA Test Possible

Regression tests Developer/QA Test Possible

Acceptance tests Tester/Clients Development/Delivery

Possible

Smoke tests Product/QA Release Possible

Functional (E2E) Developer/QA Anytime Possible

FREQUENCY OF USE

RISK OF HAVING BUGS

high

high

low

low

normal

cold warm

hot

Test case prioritization

Agile flow

Day 1, 2 Day 3, 4 Day 5-8 Day 9 Day 10

Refine scope Identify UI elements Write test scripts Final tests & fixes Demo

Write acceptance tests

Test data QA schedule Test data Acceptance tests

https://www.scrumalliance.org/system/resource_files/0000/0459/AgileQA.pdf

crossengage/acceptance-tests

Takeaways

Focus on the user

Takeaways

Focus on the user

Choose the right type of test for each situation

Takeaways

Automate whenever possible (and worth it)

Focus on the user

Choose the right type of test for each situation

Takeaways

DANKESCHÖN