SlideShare a Scribd company logo
3W1H
Jay Chung(xJkit)
What the hell is software testing?
Who am I
Jay Chung (xJkit)
JavaScript developer
Love Everything done by .js and .jsx
GitHub: https://github.com/xJkit
3W1H
Why
Who
What
How
Why Test?
UI/UX
Security (Penetration Test)
Boundary Case
Stress Test
Performance Test
…
White Box
( )
Code Coverage(statement, branch, function, …)
Black Box
spec
Unit Test
Integration Test
System Test
E2E test, Functional test
Acceptance Test
TDD (Test-Driven Development)
BDD (Behaviour-Driven Development)
ATDD (Acceptance TDD)
SBE (Spec by Example)
TDD BDD ATDD
TDD
Red-Green-Refactor Cycle
Red Green Refactor Cycle
TDD
Make a test case fail
Make the code work
Make the code clean
BDD
2003 Dan North
QA
BDD
Scenarios
Behaviour
Scenario: Some determinable business situation
Given some precondition
And some other precondition
When some action by the actor
And some other action
And yet another action
Then some testable outcome is achieved
And something else we can check happens too
ATDD
TDDDiscuss
Distill
Develop
Demo
from user story -> business value
user stories
acceptance
criteria
continuous
integration/delivery
new features
Why ATDD?
http://www.marcofolio.net/other/atdd_is_awesome_and_you_should_try_it.html
V-Model
Requirements
Functional Specification
High-level Design
Low-Level Design
Coding
Unit Test
Integration Test
System Test
Acceptance Test
Project Manager
Verification Validation
TDD -> BDD
Where to start
What to test and what not to test
How much to test in one go
What to call their tests
How to understand why a test fails
Unit Test
white box testing
mocked input -> f(x) -> expected output
for a chunk of codes
from programmer perspective
code coverage reporting
Integration Test
from user’s perspective
ensure the system is functioning as expected
Integration Test is functional test, but not vice
versa
Functional Test
black box test
includes E2E test, Acceptance test, browser
automations
browser/browser-like env
cross browser compatibilities
Just say no to more E2E tests
70%
20%
10%
https://testing.googleblog.com/2015/04/just-say-no-to-more-end-to-end-tests.html
Google
How
This is just a Javascript developer speaking
Mocha
Chai assertion
library
describe ( testing suite)
it ( testing case)
describe/it
Mocha
Jasmine
assertion
mocks, spies,
stubs
Jest
Facebook , Jasmine
Mocha
assertion
snapshots (
)
code coverage reports
mocks, spies, stubs
AVA
Futuristic JavaScript test
runner
concurrency
(run in parallel),
snapshot
Istanbul
Code coverage reporters
Codecov
coverage report + GitHub , travis ci
Chrome GitHub code coverage
https://github.com/appleboy/gin-jwt/pull/38
Karma
Test runner for JavaScript
Google
,
E2E.
JSDom Phantom
Sinon
Test spies, stubs and mocks for JavaScript.
Mocha + chai + sinon
Selenium
A browser automation framework and ecosystem
(WebDriver)
Node.js <=> WebDriver <=> Selenium Server <=> FF/Chrome/IE/Safari
Selenium-related
Protractor - E2E test framework for Angular apps
Angular
WebdriverIO - Selenium Syntax, Flexible,
Community.
Nightwatch
Automated testing and continous integration framework
based on node.js and selenium webdriver
test server assertions, tools.
Browser Automations
Casper
Navigation scripting and testing utility for PhantomJS and SlimerJS
Phantom(WebKit) Slim(Gecko)
nightmare
Phantom Slim, WebDriver, Electron Electron Extensive
Browser API
Unit Test Mocha + Chai Karma
Electron.
Zombie
Insanely fast, full-stack, headless browser testing using node.js
Headless browser
TestCafe
Casper
Navigation scripting and testing utility for
PhantomJS and SlimerJS
Phantom(WebKit) Slim(Gecko)
Nightmare
Phantom Slim, WebDriver,
Electron Electron Extensive
Browser API
Unit Test Mocha + Chai
Karma
Electron.
Zombie
Insanely fast, full-stack, headless browser
testing using node.js
Headless browser
TestCafe
Best tool alternative for Selenium
Automated browser testing for the modern web development stack
UI
UI
dom cheerio
Cucumber
BDD automated tests
RD PM
Business Crew: Gherkin
Developer:
JavaScript
BDD Scenario
Given
When
Then
Cucumber
Gherkins
Gherkin is the language that Cucumber
understands.
a Business Readable, Domain Specific
Language
Gherkin wiki
Cucumber
BDD
Gherkin Scenario
Cucumber
BDD
JavaScript Scenario
demo
https://github.com/xJkit/hello-integration-test
References
Just say no to more E2E tests
An Overview of JavaScript Testing in 2017
JavaScript Testing: Unit vs Functional vs
Integration Tests

More Related Content

PDF
Enhance react app with patterns - part 1: higher order component
PDF
Use React Patterns to Build Large Scalable App
PDF
Lets make a better react form
PDF
Acceptance & Functional Testing with Codeception - Devspace 2015
PDF
Test-driven Development with Drupal and Codeception (DrupalCamp Brighton)
PDF
Codeception introduction and use in Yii
PDF
Codeception presentation
PDF
Easy tests with Selenide and Easyb
Enhance react app with patterns - part 1: higher order component
Use React Patterns to Build Large Scalable App
Lets make a better react form
Acceptance & Functional Testing with Codeception - Devspace 2015
Test-driven Development with Drupal and Codeception (DrupalCamp Brighton)
Codeception introduction and use in Yii
Codeception presentation
Easy tests with Selenide and Easyb

What's hot (20)

PPTX
Codeception
PDF
Acceptance & Functional Testing with Codeception - SunshinePHP 2016
PDF
Unit-testing and E2E testing in JS
PDF
Easy automation.py
PDF
Polyglot automation - QA Fest - 2015
PDF
Web ui tests examples with selenide, nselene, selene & capybara
PDF
Codeception: introduction to php testing
PPTX
Testing React Applications
PDF
Codeception
PDF
Efficient JavaScript Unit Testing, May 2012
PDF
From Good to Great: Functional and Acceptance Testing in WordPress.
PDF
Selenide Alternative in Practice - Implementation & Lessons learned [Selenium...
PDF
Three Simple Chords of Alternative PageObjects and Hardcore of LoadableCompon...
PPTX
Test automation with php codeception
PDF
Testing with Codeception
PPT
Rich GUI Testing: Swing and JavaFX
PDF
Selenide alternative in Python - Introducing Selene [SeleniumCamp 2016]
PDF
Testing with Codeception (Webelement #30)
PDF
Automation Abstraction Layers: Page Objects and Beyond
PDF
Droidcon ES '16 - How to fail going offline
Codeception
Acceptance & Functional Testing with Codeception - SunshinePHP 2016
Unit-testing and E2E testing in JS
Easy automation.py
Polyglot automation - QA Fest - 2015
Web ui tests examples with selenide, nselene, selene & capybara
Codeception: introduction to php testing
Testing React Applications
Codeception
Efficient JavaScript Unit Testing, May 2012
From Good to Great: Functional and Acceptance Testing in WordPress.
Selenide Alternative in Practice - Implementation & Lessons learned [Selenium...
Three Simple Chords of Alternative PageObjects and Hardcore of LoadableCompon...
Test automation with php codeception
Testing with Codeception
Rich GUI Testing: Swing and JavaFX
Selenide alternative in Python - Introducing Selene [SeleniumCamp 2016]
Testing with Codeception (Webelement #30)
Automation Abstraction Layers: Page Objects and Beyond
Droidcon ES '16 - How to fail going offline
Ad

Similar to 軟體測試是在測試什麼? (20)

PDF
From devOps to front end Ops, test first
PPTX
Testing of React JS app
PDF
Quest to the best test automation for low code development platform kherrazi ...
PPT
Behavior Driven Development by Example
PPT
Pragmatic Parallels: Java and JavaScript
ODP
Testing In Java4278
ODP
Testing In Java
PPTX
Coding Naked
PPTX
DDT Testing Library for Android
KEY
Testing w-mocks
PPTX
GeeCON 2012 hurdle run through ejb testing
PDF
Using Robots for App Testing
PPTX
Joomla! Testing - J!DD Germany 2016
PPTX
Tdd is not about testing (OOP)
PPT
Testing In Java
PDF
Test & behavior driven development
PPTX
Testing ASP.NET - Progressive.NET
PPTX
Unit Testing Android Applications
PPTX
Test-Driven Design Insights@DevoxxBE 2023.pptx
ODP
Grails unit testing
From devOps to front end Ops, test first
Testing of React JS app
Quest to the best test automation for low code development platform kherrazi ...
Behavior Driven Development by Example
Pragmatic Parallels: Java and JavaScript
Testing In Java4278
Testing In Java
Coding Naked
DDT Testing Library for Android
Testing w-mocks
GeeCON 2012 hurdle run through ejb testing
Using Robots for App Testing
Joomla! Testing - J!DD Germany 2016
Tdd is not about testing (OOP)
Testing In Java
Test & behavior driven development
Testing ASP.NET - Progressive.NET
Unit Testing Android Applications
Test-Driven Design Insights@DevoxxBE 2023.pptx
Grails unit testing
Ad

Recently uploaded (20)

PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
Advanced SystemCare Ultimate Crack + Portable (2025)
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PPTX
Transform Your Business with a Software ERP System
PDF
Nekopoi APK 2025 free lastest update
PDF
iTop VPN 6.5.0 Crack + License Key 2025 (Premium Version)
PDF
17 Powerful Integrations Your Next-Gen MLM Software Needs
PDF
Complete Guide to Website Development in Malaysia for SMEs
PDF
Download FL Studio Crack Latest version 2025 ?
PDF
Autodesk AutoCAD Crack Free Download 2025
PPTX
Why Generative AI is the Future of Content, Code & Creativity?
PPTX
Reimagine Home Health with the Power of Agentic AI​
DOCX
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
PDF
Designing Intelligence for the Shop Floor.pdf
PPTX
Patient Appointment Booking in Odoo with online payment
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
assetexplorer- product-overview - presentation
PDF
iTop VPN Free 5.6.0.5262 Crack latest version 2025
Wondershare Filmora 15 Crack With Activation Key [2025
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Design an Analysis of Algorithms II-SECS-1021-03
Advanced SystemCare Ultimate Crack + Portable (2025)
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Transform Your Business with a Software ERP System
Nekopoi APK 2025 free lastest update
iTop VPN 6.5.0 Crack + License Key 2025 (Premium Version)
17 Powerful Integrations Your Next-Gen MLM Software Needs
Complete Guide to Website Development in Malaysia for SMEs
Download FL Studio Crack Latest version 2025 ?
Autodesk AutoCAD Crack Free Download 2025
Why Generative AI is the Future of Content, Code & Creativity?
Reimagine Home Health with the Power of Agentic AI​
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
Designing Intelligence for the Shop Floor.pdf
Patient Appointment Booking in Odoo with online payment
Internet Downloader Manager (IDM) Crack 6.42 Build 41
assetexplorer- product-overview - presentation
iTop VPN Free 5.6.0.5262 Crack latest version 2025

軟體測試是在測試什麼?