SlideShare a Scribd company logo
1 of 13
Automate your
Functional Testing
©2014 YASUI Tsutomu aka yattom
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
What is YOUR Functional Testing?
<Insert your definition here!>
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
In today’s context …
What. test against web UI or API (input and
output)
Why. to see it functions as specified and
expected
Who. engineers, but from the viewpoint of
the spec holder (= producers, directors)
Where. on your dev PC
When. anytime after development is done
How. automation!
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!
• 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
Scenario Example
1. Access google.com
2. Enter keyword “automate
functional testing” and do search
3. Display list of results in
appropriate order
4. Read some abstracts
5. Change keyword “testing” to
“test” and search again
6. Move to next page
7. 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
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 )
Good Test Scenarios (contd.)
• At first focus on the Happy Paths
– Default scenario; typical and successful
– No exceptions, no errors
http://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
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)
What is YOUR Functional Testing?
<Insert your definition here!>

More Related Content

What's hot

Becoming a better programmer - unit testing
Becoming a better programmer - unit testingBecoming a better programmer - unit testing
Becoming a better programmer - unit testing
Duy Tan Geek
 
Type mock isolator
Type mock isolatorType mock isolator
Type mock isolator
MaslowB
 
Automation test
Automation testAutomation test
Automation test
yuyijq
 

What's hot (20)

Becoming a better programmer - unit testing
Becoming a better programmer - unit testingBecoming a better programmer - unit testing
Becoming a better programmer - unit testing
 
Type mock isolator
Type mock isolatorType mock isolator
Type mock isolator
 
SpecFlow and some things I've picked up
SpecFlow and some things I've picked upSpecFlow and some things I've picked up
SpecFlow and some things I've picked up
 
Automation Testing and its importance
Automation Testing and its importanceAutomation Testing and its importance
Automation Testing and its importance
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Why test automation projects are failing
Why test automation projects are failingWhy test automation projects are failing
Why test automation projects are failing
 
Giving automated tests the love they deserve at Listings
Giving automated tests the love they deserve at ListingsGiving automated tests the love they deserve at Listings
Giving automated tests the love they deserve at Listings
 
Satisfying your Automation Appetite
Satisfying your Automation AppetiteSatisfying your Automation Appetite
Satisfying your Automation Appetite
 
Avoiding test hell
Avoiding test hellAvoiding test hell
Avoiding test hell
 
TDD In Practice
TDD In PracticeTDD In Practice
TDD In Practice
 
Automation test
Automation testAutomation test
Automation test
 
Mohammed Kharma-A flexible framework for quality assurance and testing of sof...
Mohammed Kharma-A flexible framework for quality assurance and testing of sof...Mohammed Kharma-A flexible framework for quality assurance and testing of sof...
Mohammed Kharma-A flexible framework for quality assurance and testing of sof...
 
A Beginer's Guide to testing in Django
A Beginer's Guide to testing in DjangoA Beginer's Guide to testing in Django
A Beginer's Guide to testing in Django
 
Unit Testing and Tools
Unit Testing and ToolsUnit Testing and Tools
Unit Testing and Tools
 
Peering into the white box: A testers approach to Code Reviews
Peering into the white box: A testers approach to Code ReviewsPeering into the white box: A testers approach to Code Reviews
Peering into the white box: A testers approach to Code Reviews
 
ETL Validator: Flat File Validation
ETL Validator: Flat File ValidationETL Validator: Flat File Validation
ETL Validator: Flat File Validation
 
Test Automation failure analysis
Test Automation failure analysisTest Automation failure analysis
Test Automation failure analysis
 
EasyTest Test Automation Tool Introduction
EasyTest Test Automation Tool IntroductionEasyTest Test Automation Tool Introduction
EasyTest Test Automation Tool Introduction
 
Unit Testing and Tools - ADNUG
Unit Testing and Tools - ADNUGUnit Testing and Tools - ADNUG
Unit Testing and Tools - ADNUG
 
Detecting Insufficient Access Control in Web Applications
Detecting Insufficient Access Control in Web ApplicationsDetecting Insufficient Access Control in Web Applications
Detecting Insufficient Access Control in Web Applications
 

Similar to Automate your functional testing

Grails Spock Testing
Grails Spock TestingGrails Spock Testing
Grails Spock Testing
TO THE NEW | Technology
 
Computer Software Testing Basics introduced.ppt
Computer Software Testing Basics introduced.pptComputer Software Testing Basics introduced.ppt
Computer Software Testing Basics introduced.ppt
TrevorChinguwo
 
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Into...
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Into...Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Into...
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Into...
Ortus Solutions, Corp
 

Similar to Automate your functional testing (20)

" Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f..." Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
" Performance testing for Automation QA - why and how " by Andrey Kovalenko f...
 
Automated Acceptance Tests & Tool choice
Automated Acceptance Tests & Tool choiceAutomated Acceptance Tests & Tool choice
Automated Acceptance Tests & Tool choice
 
Agile Testing and Test Automation
Agile Testing and Test AutomationAgile Testing and Test Automation
Agile Testing and Test Automation
 
Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014Cloud-based Test Microservices JavaOne 2014
Cloud-based Test Microservices JavaOne 2014
 
Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.
 
Grails Spock Testing
Grails Spock TestingGrails Spock Testing
Grails Spock Testing
 
Beginners overview of automated testing with Rspec
Beginners overview of automated testing with RspecBeginners overview of automated testing with Rspec
Beginners overview of automated testing with Rspec
 
Mixing testing types to improve your testing results
Mixing testing types to improve your testing resultsMixing testing types to improve your testing results
Mixing testing types to improve your testing results
 
Fostering Long-Term Test Automation Success
Fostering Long-Term Test Automation SuccessFostering Long-Term Test Automation Success
Fostering Long-Term Test Automation Success
 
Devday2016 real unittestingwithmockframework-phatvu
Devday2016 real unittestingwithmockframework-phatvuDevday2016 real unittestingwithmockframework-phatvu
Devday2016 real unittestingwithmockframework-phatvu
 
Lightning Talks by Globant - Automation (This app runs by itself )
Lightning Talks by Globant -  Automation (This app runs by itself ) Lightning Talks by Globant -  Automation (This app runs by itself )
Lightning Talks by Globant - Automation (This app runs by itself )
 
Computer Software Testing Basics introduced.ppt
Computer Software Testing Basics introduced.pptComputer Software Testing Basics introduced.ppt
Computer Software Testing Basics introduced.ppt
 
Behaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileBehaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibile
 
Test automation lesson
Test automation lessonTest automation lesson
Test automation lesson
 
Elements of a Test Framework
Elements of a Test FrameworkElements of a Test Framework
Elements of a Test Framework
 
Gcs day1
Gcs day1Gcs day1
Gcs day1
 
Testing in a glance
Testing in a glanceTesting in a glance
Testing in a glance
 
Presentation delex
Presentation delexPresentation delex
Presentation delex
 
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Into...
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Into...Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Into...
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Into...
 
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...
Introduction to Unit Testing, BDD and Mocking using TestBox & MockBox at Adob...
 

More from Yasui Tsutomu

永和コンサル式プレゼン作成法(公開用)
永和コンサル式プレゼン作成法(公開用)永和コンサル式プレゼン作成法(公開用)
永和コンサル式プレゼン作成法(公開用)
Yasui Tsutomu
 
英語の達人に聞く、英語勉強法の本当のトコロ!
英語の達人に聞く、英語勉強法の本当のトコロ!英語の達人に聞く、英語勉強法の本当のトコロ!
英語の達人に聞く、英語勉強法の本当のトコロ!
Yasui Tsutomu
 

More from Yasui Tsutomu (20)

カンバンゲーム カード(全種類) 裏あり
カンバンゲーム カード(全種類) 裏ありカンバンゲーム カード(全種類) 裏あり
カンバンゲーム カード(全種類) 裏あり
 
アジャイルとスクラムとは 原則、価値、プラクティス
アジャイルとスクラムとは 原則、価値、プラクティスアジャイルとスクラムとは 原則、価値、プラクティス
アジャイルとスクラムとは 原則、価値、プラクティス
 
アジャイルとスクラムとは 原則、価値、プラクティス
アジャイルとスクラムとは 原則、価値、プラクティスアジャイルとスクラムとは 原則、価値、プラクティス
アジャイルとスクラムとは 原則、価値、プラクティス
 
ジョイ・インク 役職も部署もない全員主役のマネジメント
ジョイ・インク 役職も部署もない全員主役のマネジメントジョイ・インク 役職も部署もない全員主役のマネジメント
ジョイ・インク 役職も部署もない全員主役のマネジメント
 
アジャイルってなにが美味しいの
アジャイルってなにが美味しいのアジャイルってなにが美味しいの
アジャイルってなにが美味しいの
 
アジャイルコーチが現場で学んだプロダクトオーナーの実際と勘所 POの二番目に大事なことと
アジャイルコーチが現場で学んだプロダクトオーナーの実際と勘所 POの二番目に大事なこととアジャイルコーチが現場で学んだプロダクトオーナーの実際と勘所 POの二番目に大事なことと
アジャイルコーチが現場で学んだプロダクトオーナーの実際と勘所 POの二番目に大事なことと
 
TDDはじめる前に
TDDはじめる前にTDDはじめる前に
TDDはじめる前に
 
LeSS Study material (LeSS introduction)
LeSS Study material (LeSS introduction)LeSS Study material (LeSS introduction)
LeSS Study material (LeSS introduction)
 
CodeZineAcademy TDD実践講座PR資料
CodeZineAcademy TDD実践講座PR資料CodeZineAcademy TDD実践講座PR資料
CodeZineAcademy TDD実践講座PR資料
 
僕らのおれおれメトリクス / We Metrics Our Own Way!
僕らのおれおれメトリクス / We Metrics Our Own Way!僕らのおれおれメトリクス / We Metrics Our Own Way!
僕らのおれおれメトリクス / We Metrics Our Own Way!
 
Hey It's Not My TDD!
Hey It's Not My TDD!Hey It's Not My TDD!
Hey It's Not My TDD!
 
The Kanban Game
The Kanban GameThe Kanban Game
The Kanban Game
 
三島teNet第9回ワークショップ アジャイルな開発とは(公開版)
三島teNet第9回ワークショップ アジャイルな開発とは(公開版)三島teNet第9回ワークショップ アジャイルな開発とは(公開版)
三島teNet第9回ワークショップ アジャイルな開発とは(公開版)
 
大きな泥のカタマリを相手にするためのアジャイルと努力と苦労 by Joe Yoder (XP祭り2014)
大きな泥のカタマリを相手にするためのアジャイルと努力と苦労 by Joe Yoder (XP祭り2014)大きな泥のカタマリを相手にするためのアジャイルと努力と苦労 by Joe Yoder (XP祭り2014)
大きな泥のカタマリを相手にするためのアジャイルと努力と苦労 by Joe Yoder (XP祭り2014)
 
カンバンゲーム
カンバンゲームカンバンゲーム
カンバンゲーム
 
Agile Japan2014クロージングセッションのカード
Agile Japan2014クロージングセッションのカード Agile Japan2014クロージングセッションのカード
Agile Japan2014クロージングセッションのカード
 
Agile Japan2014 クロージングセッション
Agile Japan2014 クロージングセッションAgile Japan2014 クロージングセッション
Agile Japan2014 クロージングセッション
 
永和コンサル式プレゼン作成法(公開用)
永和コンサル式プレゼン作成法(公開用)永和コンサル式プレゼン作成法(公開用)
永和コンサル式プレゼン作成法(公開用)
 
英語の達人に聞く、英語勉強法の本当のトコロ!
英語の達人に聞く、英語勉強法の本当のトコロ!英語の達人に聞く、英語勉強法の本当のトコロ!
英語の達人に聞く、英語勉強法の本当のトコロ!
 
TDDBC横浜3rd
TDDBC横浜3rdTDDBC横浜3rd
TDDBC横浜3rd
 

Recently uploaded

AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Recently uploaded (20)

Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 

Automate your functional testing

  • 1. Automate your Functional Testing ©2014 YASUI Tsutomu aka yattom
  • 2. 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
  • 3. What is YOUR Functional Testing? <Insert your definition here!>
  • 4. 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
  • 5. In today’s context … What. test against web UI or API (input and output) Why. to see it functions as specified and expected Who. engineers, but from the viewpoint of the spec holder (= producers, directors) Where. on your dev PC When. anytime after development is done How. automation!
  • 6. 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!
  • 7. • 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
  • 8. Scenario Example 1. Access google.com 2. Enter keyword “automate functional testing” and do search 3. Display list of results in appropriate order 4. Read some abstracts 5. Change keyword “testing” to “test” and search again 6. Move to next page 7. 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
  • 9. 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 )
  • 10. Good Test Scenarios (contd.) • At first focus on the Happy Paths – Default scenario; typical and successful – No exceptions, no errors http://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
  • 11. 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)
  • 12.
  • 13. What is YOUR Functional Testing? <Insert your definition here!>