SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
測試是什麼!?
PIXNET - Yvonne Yu
1
為什麼要寫測試?
2
是人,都會犯錯
QA
3
越晚發現 bug

解決時間就越久
圖片來源:Microsoft Community4
測試使你思考
5 圖片來源:http://gallery4share.com/t/thinking-baby.html
比較安心...?
圖片來自:http://matome.naver.jp/odai/21385948759900417016
圖片來源:http://reader.roodo.com/ccfong/archives/675138.html
有沒有改壞程式,

跑測試就知道了啊
7
測試是?
WEB
8
原理

(philosophy)
TDD, Continuous Integration
方法
(stages)
Unit Testing, End-to-End, integration Testing
結構

(constructs)
Test double, Test fixture, Test Harness, 

Web Driver, Headless Browser
架構

(frameworks)
Mocha, Jasmine, Chai, Sinon
工具

(tools)
PhantomJS, Karma, Protractor, Selenium,
Jenkins, internJS, istanbul
參考來源:Front-End Testing: Demystified9
Unit Testing - 單元測試
針對程式的最小測試單位
測試對象為單一函式
獨立,不應跟其他測試程式碼相依

(不應測試後端程式碼) Jasmine
10
Story:使用者成功登入後,會導到後台
Features:使用者登入後台的表格
Units:測試登入表格
11
開始思考 Unit Testing!
End-to-End Testing
模擬使用者跟軟體的互動行為
測試一整個 User Story
12
Protractor
PhantomJS
E2E 流程
13
TEST
Protractor

Selenium Host
Browser
Application
Write User story

(Jasmine)

Protractor 包裝
WebDriver
Selenium 驅動
Browser 跑模擬測試
with application
node JS
WebDriver JS
Unit Testing v.s E2E
14
Unit Testing E2E
Pro’s
快速
可靠

測試單一功能
檢測程式整合
測試使用者真實情境
Con’s
需花時間完整開發
需長期維護
很難測試每種情況
難以精準問題點
測試環境 console browser
Do Both!!
Unit Testing 可明確的找到問題點,
將問題範圍縮小
E2E 是測試當程式碼整合在一起後,
會遇到的問題
15
Unit Testing v.s E2E
什麼什麼...?
工程師寫測試會有盲點,所以一定要 QA 來寫?

參考來源:30天快速上手 TDD Day 2 - Unit Testing 簡介16
我程式都寫完了,跑起來也都對。這時寫
測試程式一點意義都沒有...

- 程式碼是工程師設計的,測試也要工程師自己寫最準

- QA 可策劃/協助 User story 的部分
Unit
Testing
- 寫測試的三個時機:

1. 當程式碼需要被其他程式呼叫的時候

2. 修復 bug 前

3. 需求變更的時候
E2E
完成 E2E 後完成 Unit Testing 後
17
References
Automated Web Testing using JavaScript
Unit-testing and E2E testing in JS
Front-End Testing: Demystified
Unit Testing Best Practices in AngularJS
為什麼要寫 unit test?為什麼要先寫測試?
30天快速上手 TDD - 陳仕傑
自动化e2e测试 – WebDriverJS,Jasmine和Protractor
Unit and integration Testing
18

Weitere ähnliche Inhalte

Was ist angesagt?

Visual Studio 開發密技大補帖 | Study4.TW 2021 小聚#2
Visual Studio 開發密技大補帖 | Study4.TW 2021 小聚#2Visual Studio 開發密技大補帖 | Study4.TW 2021 小聚#2
Visual Studio 開發密技大補帖 | Study4.TW 2021 小聚#2Alan Tsai
 
網站自動化測試
網站自動化測試網站自動化測試
網站自動化測試Bruce Chen
 
023 QC Stroy 簡報的準備 QC Story Presentation
023 QC Stroy 簡報的準備 QC Story Presentation023 QC Stroy 簡報的準備 QC Story Presentation
023 QC Stroy 簡報的準備 QC Story PresentationFast SiC Semiconductor Inc.
 
사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)
사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)
사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)SangIn Choung
 
私にとってのテスト
私にとってのテスト私にとってのテスト
私にとってのテストTakuto Wada
 
Automotive agile 自動車業界を取り巻くアジャイル・スクラムの潮流
Automotive agile  自動車業界を取り巻くアジャイル・スクラムの潮流Automotive agile  自動車業界を取り巻くアジャイル・スクラムの潮流
Automotive agile 自動車業界を取り巻くアジャイル・スクラムの潮流Kazutaka Sankai
 
組み合わせテストの落とし穴〜有則と無則〜
組み合わせテストの落とし穴〜有則と無則〜組み合わせテストの落とし穴〜有則と無則〜
組み合わせテストの落とし穴〜有則と無則〜yufu yufu
 
効果的なスプリントプランニングのトライ
効果的なスプリントプランニングのトライ効果的なスプリントプランニングのトライ
効果的なスプリントプランニングのトライ貴明 今井
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴
SQLアンチパターン - 開発者を待ち受ける25の落とし穴SQLアンチパターン - 開発者を待ち受ける25の落とし穴
SQLアンチパターン - 開発者を待ち受ける25の落とし穴Takuto Wada
 
探索的テスト入門
探索的テスト入門探索的テスト入門
探索的テスト入門H Iseri
 
みんなに役立つ「テスト」を学んでみよう!(20140105版)
みんなに役立つ「テスト」を学んでみよう!(20140105版)みんなに役立つ「テスト」を学んでみよう!(20140105版)
みんなに役立つ「テスト」を学んでみよう!(20140105版)Noriyuki Mizuno
 
別傻了 你就是不寫測試才會沒時間!CL ft. Hamastar.pdf
別傻了 你就是不寫測試才會沒時間!CL ft. Hamastar.pdf別傻了 你就是不寫測試才會沒時間!CL ft. Hamastar.pdf
別傻了 你就是不寫測試才會沒時間!CL ft. Hamastar.pdfYu-Song Syu
 
テストを分類してみよう!
テストを分類してみよう!テストを分類してみよう!
テストを分類してみよう!Kenji Okumura
 
reg-suitとQA Wolfを活用したVisual Regression Test
reg-suitとQA Wolfを活用したVisual Regression Testreg-suitとQA Wolfを活用したVisual Regression Test
reg-suitとQA Wolfを活用したVisual Regression TestKazuyuki Tsuzisaki
 
User story concept for agiletourkaohsiung
User story concept for agiletourkaohsiung User story concept for agiletourkaohsiung
User story concept for agiletourkaohsiung Jen-Chieh Ko
 
Why Scrum (敏捷式專案管理)
Why Scrum (敏捷式專案管理)Why Scrum (敏捷式專案管理)
Why Scrum (敏捷式專案管理)Yu Wei Shang
 
GUI自動テストの保守性を高めるには
GUI自動テストの保守性を高めるにはGUI自動テストの保守性を高めるには
GUI自動テストの保守性を高めるにはNozomi Ito
 
使用者故事對照 User Story Mapping
使用者故事對照 User Story Mapping使用者故事對照 User Story Mapping
使用者故事對照 User Story Mapping柏鈞 邱
 
プロダクトづくりのためのソフトウェア設計スタイル
プロダクトづくりのためのソフトウェア設計スタイルプロダクトづくりのためのソフトウェア設計スタイル
プロダクトづくりのためのソフトウェア設計スタイル増田 亨
 
CI/CDって何が良いの?〜言うてるオレもわからんわ〜 #DevKan
CI/CDって何が良いの?〜言うてるオレもわからんわ〜 #DevKanCI/CDって何が良いの?〜言うてるオレもわからんわ〜 #DevKan
CI/CDって何が良いの?〜言うてるオレもわからんわ〜 #DevKanKazuhito Miura
 

Was ist angesagt? (20)

Visual Studio 開發密技大補帖 | Study4.TW 2021 小聚#2
Visual Studio 開發密技大補帖 | Study4.TW 2021 小聚#2Visual Studio 開發密技大補帖 | Study4.TW 2021 小聚#2
Visual Studio 開發密技大補帖 | Study4.TW 2021 小聚#2
 
網站自動化測試
網站自動化測試網站自動化測試
網站自動化測試
 
023 QC Stroy 簡報的準備 QC Story Presentation
023 QC Stroy 簡報的準備 QC Story Presentation023 QC Stroy 簡報的準備 QC Story Presentation
023 QC Stroy 簡報的準備 QC Story Presentation
 
사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)
사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)
사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)
 
私にとってのテスト
私にとってのテスト私にとってのテスト
私にとってのテスト
 
Automotive agile 自動車業界を取り巻くアジャイル・スクラムの潮流
Automotive agile  自動車業界を取り巻くアジャイル・スクラムの潮流Automotive agile  自動車業界を取り巻くアジャイル・スクラムの潮流
Automotive agile 自動車業界を取り巻くアジャイル・スクラムの潮流
 
組み合わせテストの落とし穴〜有則と無則〜
組み合わせテストの落とし穴〜有則と無則〜組み合わせテストの落とし穴〜有則と無則〜
組み合わせテストの落とし穴〜有則と無則〜
 
効果的なスプリントプランニングのトライ
効果的なスプリントプランニングのトライ効果的なスプリントプランニングのトライ
効果的なスプリントプランニングのトライ
 
SQLアンチパターン - 開発者を待ち受ける25の落とし穴
SQLアンチパターン - 開発者を待ち受ける25の落とし穴SQLアンチパターン - 開発者を待ち受ける25の落とし穴
SQLアンチパターン - 開発者を待ち受ける25の落とし穴
 
探索的テスト入門
探索的テスト入門探索的テスト入門
探索的テスト入門
 
みんなに役立つ「テスト」を学んでみよう!(20140105版)
みんなに役立つ「テスト」を学んでみよう!(20140105版)みんなに役立つ「テスト」を学んでみよう!(20140105版)
みんなに役立つ「テスト」を学んでみよう!(20140105版)
 
別傻了 你就是不寫測試才會沒時間!CL ft. Hamastar.pdf
別傻了 你就是不寫測試才會沒時間!CL ft. Hamastar.pdf別傻了 你就是不寫測試才會沒時間!CL ft. Hamastar.pdf
別傻了 你就是不寫測試才會沒時間!CL ft. Hamastar.pdf
 
テストを分類してみよう!
テストを分類してみよう!テストを分類してみよう!
テストを分類してみよう!
 
reg-suitとQA Wolfを活用したVisual Regression Test
reg-suitとQA Wolfを活用したVisual Regression Testreg-suitとQA Wolfを活用したVisual Regression Test
reg-suitとQA Wolfを活用したVisual Regression Test
 
User story concept for agiletourkaohsiung
User story concept for agiletourkaohsiung User story concept for agiletourkaohsiung
User story concept for agiletourkaohsiung
 
Why Scrum (敏捷式專案管理)
Why Scrum (敏捷式專案管理)Why Scrum (敏捷式專案管理)
Why Scrum (敏捷式專案管理)
 
GUI自動テストの保守性を高めるには
GUI自動テストの保守性を高めるにはGUI自動テストの保守性を高めるには
GUI自動テストの保守性を高めるには
 
使用者故事對照 User Story Mapping
使用者故事對照 User Story Mapping使用者故事對照 User Story Mapping
使用者故事對照 User Story Mapping
 
プロダクトづくりのためのソフトウェア設計スタイル
プロダクトづくりのためのソフトウェア設計スタイルプロダクトづくりのためのソフトウェア設計スタイル
プロダクトづくりのためのソフトウェア設計スタイル
 
CI/CDって何が良いの?〜言うてるオレもわからんわ〜 #DevKan
CI/CDって何が良いの?〜言うてるオレもわからんわ〜 #DevKanCI/CDって何が良いの?〜言うてるオレもわからんわ〜 #DevKan
CI/CDって何が良いの?〜言うてるオレもわからんわ〜 #DevKan
 

Ähnlich wie 測試是什麼

從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)Rick Hwang
 
PHPUnit slide formal
PHPUnit slide formalPHPUnit slide formal
PHPUnit slide formaljameslabs
 
现代化敏捷测试工作者
现代化敏捷测试工作者现代化敏捷测试工作者
现代化敏捷测试工作者Yi Xu
 
Testing Automation Journey in Trend Micro
Testing Automation Journey in Trend MicroTesting Automation Journey in Trend Micro
Testing Automation Journey in Trend MicroJen-Chieh Ko
 
Rails 炸機實務
Rails  炸機實務Rails  炸機實務
Rails 炸機實務Manic
 
1.跨平台開發架構首部曲 測試
1.跨平台開發架構首部曲 測試1.跨平台開發架構首部曲 測試
1.跨平台開發架構首部曲 測試Chris Jeng
 
版控實務
版控實務版控實務
版控實務Robin
 
JS单元测试之路
JS单元测试之路JS单元测试之路
JS单元测试之路Jeaf Wang
 
Top100summit 游戏中的自动化测试 - 金山 - 白银祖
Top100summit 游戏中的自动化测试 - 金山 - 白银祖Top100summit 游戏中的自动化测试 - 金山 - 白银祖
Top100summit 游戏中的自动化测试 - 金山 - 白银祖drewz lin
 
2_學院碩士班_分群模型_20220606.pdf
2_學院碩士班_分群模型_20220606.pdf2_學院碩士班_分群模型_20220606.pdf
2_學院碩士班_分群模型_20220606.pdfFEG
 
Modern Web Development Introduction
Modern Web Development IntroductionModern Web Development Introduction
Modern Web Development IntroductionJohn Chou
 
Testing survey
Testing surveyTesting survey
Testing surveyTao He
 
歡迎加入軟體構築行列
歡迎加入軟體構築行列歡迎加入軟體構築行列
歡迎加入軟體構築行列Chris Wang
 
银弹!银弹! 徐毅@Italk salon 2011
银弹!银弹! 徐毅@Italk salon 2011银弹!银弹! 徐毅@Italk salon 2011
银弹!银弹! 徐毅@Italk salon 2011Yi Xu
 
Selenium與動態網頁爬蟲應用
Selenium與動態網頁爬蟲應用Selenium與動態網頁爬蟲應用
Selenium與動態網頁爬蟲應用Yanwei Liu
 
Nhibernate+sqlite測試實戰經驗分享
Nhibernate+sqlite測試實戰經驗分享Nhibernate+sqlite測試實戰經驗分享
Nhibernate+sqlite測試實戰經驗分享Wade Huang
 
信息系统开发平台OpenExpressApp
信息系统开发平台OpenExpressApp信息系统开发平台OpenExpressApp
信息系统开发平台OpenExpressAppzhoujg
 

Ähnlich wie 測試是什麼 (20)

從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
 
PHPUnit slide formal
PHPUnit slide formalPHPUnit slide formal
PHPUnit slide formal
 
现代化敏捷测试工作者
现代化敏捷测试工作者现代化敏捷测试工作者
现代化敏捷测试工作者
 
PHPUnit
PHPUnitPHPUnit
PHPUnit
 
Testing Automation Journey in Trend Micro
Testing Automation Journey in Trend MicroTesting Automation Journey in Trend Micro
Testing Automation Journey in Trend Micro
 
Rails 炸機實務
Rails  炸機實務Rails  炸機實務
Rails 炸機實務
 
Tip for Editors
Tip for EditorsTip for Editors
Tip for Editors
 
1.跨平台開發架構首部曲 測試
1.跨平台開發架構首部曲 測試1.跨平台開發架構首部曲 測試
1.跨平台開發架構首部曲 測試
 
Cucumber
CucumberCucumber
Cucumber
 
版控實務
版控實務版控實務
版控實務
 
JS单元测试之路
JS单元测试之路JS单元测试之路
JS单元测试之路
 
Top100summit 游戏中的自动化测试 - 金山 - 白银祖
Top100summit 游戏中的自动化测试 - 金山 - 白银祖Top100summit 游戏中的自动化测试 - 金山 - 白银祖
Top100summit 游戏中的自动化测试 - 金山 - 白银祖
 
2_學院碩士班_分群模型_20220606.pdf
2_學院碩士班_分群模型_20220606.pdf2_學院碩士班_分群模型_20220606.pdf
2_學院碩士班_分群模型_20220606.pdf
 
Modern Web Development Introduction
Modern Web Development IntroductionModern Web Development Introduction
Modern Web Development Introduction
 
Testing survey
Testing surveyTesting survey
Testing survey
 
歡迎加入軟體構築行列
歡迎加入軟體構築行列歡迎加入軟體構築行列
歡迎加入軟體構築行列
 
银弹!银弹! 徐毅@Italk salon 2011
银弹!银弹! 徐毅@Italk salon 2011银弹!银弹! 徐毅@Italk salon 2011
银弹!银弹! 徐毅@Italk salon 2011
 
Selenium與動態網頁爬蟲應用
Selenium與動態網頁爬蟲應用Selenium與動態網頁爬蟲應用
Selenium與動態網頁爬蟲應用
 
Nhibernate+sqlite測試實戰經驗分享
Nhibernate+sqlite測試實戰經驗分享Nhibernate+sqlite測試實戰經驗分享
Nhibernate+sqlite測試實戰經驗分享
 
信息系统开发平台OpenExpressApp
信息系统开发平台OpenExpressApp信息系统开发平台OpenExpressApp
信息系统开发平台OpenExpressApp
 

Mehr von Yvonne Yu

Show Me The Page - 介紹 Critical rendering path
Show Me The Page - 介紹 Critical rendering pathShow Me The Page - 介紹 Critical rendering path
Show Me The Page - 介紹 Critical rendering pathYvonne Yu
 
Chrome 佛心做了 Devtool 就是要用啊? 從 Timeline 學調效動畫效能
Chrome 佛心做了 Devtool 就是要用啊? 從 Timeline 學調效動畫效能Chrome 佛心做了 Devtool 就是要用啊? 從 Timeline 學調效動畫效能
Chrome 佛心做了 Devtool 就是要用啊? 從 Timeline 學調效動畫效能Yvonne Yu
 
我與編輯器
我與編輯器我與編輯器
我與編輯器Yvonne Yu
 
打造網站親和力
打造網站親和力打造網站親和力
打造網站親和力Yvonne Yu
 
CP 值很高的 Gulp
CP 值很高的 GulpCP 值很高的 Gulp
CP 值很高的 GulpYvonne Yu
 
Angularjs in mobile app
Angularjs in mobile appAngularjs in mobile app
Angularjs in mobile appYvonne Yu
 

Mehr von Yvonne Yu (6)

Show Me The Page - 介紹 Critical rendering path
Show Me The Page - 介紹 Critical rendering pathShow Me The Page - 介紹 Critical rendering path
Show Me The Page - 介紹 Critical rendering path
 
Chrome 佛心做了 Devtool 就是要用啊? 從 Timeline 學調效動畫效能
Chrome 佛心做了 Devtool 就是要用啊? 從 Timeline 學調效動畫效能Chrome 佛心做了 Devtool 就是要用啊? 從 Timeline 學調效動畫效能
Chrome 佛心做了 Devtool 就是要用啊? 從 Timeline 學調效動畫效能
 
我與編輯器
我與編輯器我與編輯器
我與編輯器
 
打造網站親和力
打造網站親和力打造網站親和力
打造網站親和力
 
CP 值很高的 Gulp
CP 值很高的 GulpCP 值很高的 Gulp
CP 值很高的 Gulp
 
Angularjs in mobile app
Angularjs in mobile appAngularjs in mobile app
Angularjs in mobile app
 

測試是什麼