13
Automate your Functional Testing ©2014 YASUI Tsutomu aka yattom

Automate your functional testing

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Automate your functional testing

Automate your Functional Testing

©2014 YASUI Tsutomu aka yattom

Page 2: Automate your functional testing

What is Functional Testing?Functional testing is a quality assurance (QA) process[1] and a type of black box testing that bases its test cases on the specifications of the software component under test. Functions are tested by feeding them input and examining the output, and internal program structure is rarely considered (not like in white-box testing).[2] Functional Testing usually describes what the system does.

http://en.wikipedia.org/wiki/Functional_testing

Page 3: Automate your functional testing

What is YOUR Functional Testing?

<Insert your definition here!>

Page 4: Automate your functional testing

What is Functional Testing again?

• quality assurance (QA) process• black box testing• bases its test cases on the specifications• test by feeding input and examining the

output• internal program structure is rarely considered

Page 5: Automate your functional testing

In today’s context …What. test against web UI or API (input and

output)Why. to see it functions as specified and

expectedWho. engineers, but from the viewpoint of

the spec holder (= producers, directors)Where. on your dev PCWhen. anytime after development is doneHow. automation!

Page 6: Automate your functional testing

You Need Test Cases• A set of test cases that validates a function– Enough, no more than enough– Coverage can be measured

• We take a list of features (user stories / functions) and build test scenarios– What if there’s no such list? Scribble it from the

working system!

Page 7: Automate your functional testing

• Display list of search result

• Sorted by score• Abstract of each results

are shown• You can click to show the

page• You can choose to

translate• Show “https” clearly if

the link is https• Show type of contents

eg. PDF• Change keywords and

search again• From dropdown you can

choose “cache” “similar” “share”

• Pagination• Internationalization• Custom fields for specific

sites

Page 8: Automate your functional testing

Scenario Example1. Access google.com2. Enter keyword “automate functional

testing” and do search3. Display list of results in appropriate

order4. Read some abstracts5. Change keyword “testing” to “test”

and search again6. Move to next page7. Click the 3rd item and the page shows

• Display list of search result

• Sorted by score• Abstract of each results

are shown• You can click to show the

page• You can choose to

translate• Show “https” clearly if

the link is https• Show type of contents

eg. PDF• Change keywords and

search again• From dropdown you can

choose “cache” “similar” “share”

• Pagination

Page 9: Automate your functional testing

Good Test Scenarios• SMART– Specific – they are explicitly defined and definite – Measurable – the result is observable and

quantifiable – Achievable – they describe a realistic scenario – Relevant – they are related to the particular story – Time-bound – the result can be observed almost

instantly(Gojko Adzic, “Bridging the Communication Gap: Specification by Example and Agile Acceptance Testing” http://amzn.to/1iABAXT )

Page 10: Automate your functional testing

Good Test Scenarios (contd.)

• At first focus on the Happy Paths– Default scenario; typical and successful– No exceptions, no errorshttp://en.wikipedia.org/wiki/Happy_path

• Mind maintainability!– Don’t be thorough too much– Don’t do too much– Don’t make it too long

Page 11: Automate your functional testing

Who write test cases?

Test case is:• Communication - between spec holders and

engineers• Expectation – how spec holder thinks the

system should work• Verification – engineers can verify the system’s

functionality

Who. engineers, but from the viewpoint of the spec holder (= producers , directors)

Page 12: Automate your functional testing
Page 13: Automate your functional testing

What is YOUR Functional Testing?

<Insert your definition here!>