SlideShare a Scribd company logo
1 of 34
網站
自動化測試
BRUCE CHEN
目標
介紹單元測試。
介紹整合測試。
完成整合測試初體驗。
測試種類比較
驗收測試 整合測試 單元測試
角度 使用端角度,驗
證系統功能
黑箱測試角度,
驗證服務或模組
呼叫物件方法角
度,驗證物件
粒度 最粗 中等 最細
環境 擬真或真實環境 含外部資源的測
試環境
獨立環境,不需
外部資源
需求異動穩定性 最低 中等 最高
開發成本 最低 低 最高
執行速度 最慢 中等 最快
測試案例撰寫角
色
PO、SA、QA為主,
開發人員為輔
QA、開發人員為
主
開發人員為主
例子 登入頁面 身份驗證服務 雜湊演算法物件
單元測試
SUT
你寫程式碼測試的對象稱“被測試系統(System Under
Test, SUT)”。
又稱“Class Under Test”或“Code Under Test”(CUT)。
什麼是Unit Test
最小的測試單位
外部相依性為零
不具備邏輯
測試案例之間相依性為零
一個測試案例只測一件事
測試驗證
驗證回傳值
驗證目標物件狀態改變
驗證目標物件與相依物件的互動
一個”Unit”
一個 Unit 可以小到只包含一個方法。
也可以大到包含實現某個功能的多個類別與函數。
一味的把 Unit 縮小,最後會不得不偽造一堆東西。
那些年,
我們都寫過測試…
被測試類別
C:WindowsSystem32cmd.exe
Microsoft Windows [Version 7.1.7000]
Copyright (c) 2008 Microsoft
Corporation. All rights reserved.
C:UsersUserName>
Web page title
http://www.url.com
Window title
整合測試
整合測試
如果
執行速度不快
結果不是穩定的
被測試單元需一個或多個依賴
範例
真實的系統時間
真實的文件系統
真實的資料庫
業務邏輯
資料存取
資料庫
失敗點
失敗點
失敗點
C:WindowsSystem32cmd.exe
Microsoft Windows [Version 7.1.7000]
Copyright (c) 2008 Microsoft
Corporation. All rights reserved.
C:UsersUserName>
Web page title
http://www.url.com
Window title
可能問題點
它一次測試太多東西。
有太多可能的失敗點。
難以找到Bug的根源。
PC與NB
個人電腦
個人電腦的測試與維修。
NOTEBOOK
Notebook的測試與維修。
整合測試初體驗
準備環境
Firefox
Selenium IDE(http://mvc.tw/004B)
Unit Test Generator
http://mvc.tw/004A
快速產生單元測試專案
Visual Studio 2015已整合以上套件,不需額外安裝。
介紹:http://mvc.tw/004K
我們來訂便當
古有 Joey用 Selenium 填工時;
今有 Bruce 用 Selenium 訂便當。
不認識 Joey?
.NET界的測試之神,好好的認識一下。
http://mvc.tw/004G
Lab 訂便當
訂便當很重要,沒訂到怎麼辦!
Selenium
好棒
Selenium
成就+100
網站自動化測試
Y社實況報導
http://mvc.tw/004F
Lab Login
整合 Visual Studio
NuGet
NUnit
Nunit Test Adapter
Selenium WebDriver Support Classes
Selenium WebDriver
小結
我們沒寫任何一行程式碼。
Selenium IDE 是整合測試的好朋友。
匯出的測試案例,自用送人兩相宜。
整合 Visual Studio 更是貼心。
可整合其他測試框架,進行多瀏覽器測試。
加碼
用Selenium
模擬手機瀏覽器
原理
Mobile
UserAgent
實作自訂User Agent
User Agent參考資源:http://mvc.tw/004I (大寫i)
參考
[30天快速上手TDD]目錄與附錄 ( http://mvc.tw/004H )
单元测试的艺术 ( 第2版 )
軟體品管的專業思維 ( http://mvc.tw/004J )
Me
Web: https://kkbruce.tw
Blog: http://blog.kkbruce.net
謝謝大家

More Related Content

What's hot

微服務的基礎建設 - Service Discovery, Andrew Wu
微服務的基礎建設 - Service Discovery, Andrew Wu微服務的基礎建設 - Service Discovery, Andrew Wu
微服務的基礎建設 - Service Discovery, Andrew WuAndrew Wu
 
91APP API Gateway 導入之旅
91APP API Gateway 導入之旅91APP API Gateway 導入之旅
91APP API Gateway 導入之旅Rick Hwang
 
大型 Web Application 轉移到 微服務的經驗分享
大型 Web Application 轉移到微服務的經驗分享大型 Web Application 轉移到微服務的經驗分享
大型 Web Application 轉移到 微服務的經驗分享Andrew Wu
 
從零開始做架構圖
從零開始做架構圖從零開始做架構圖
從零開始做架構圖Philip Zheng
 
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛Edward Kuo
 
App013 ここはあえて紙と
App013 ここはあえて紙とApp013 ここはあえて紙と
App013 ここはあえて紙とTech Summit 2016
 
開源x節流:企業應用經驗分享 (一)+(二) [2017/02/03] @臺中市政府
開源x節流:企業應用經驗分享 (一)+(二) [2017/02/03] @臺中市政府開源x節流:企業應用經驗分享 (一)+(二) [2017/02/03] @臺中市政府
開源x節流:企業應用經驗分享 (一)+(二) [2017/02/03] @臺中市政府Jason Cheng
 
DevOps核心理念和實踐
DevOps核心理念和實踐DevOps核心理念和實踐
DevOps核心理念和實踐Martin Liu
 
DevOps的神鬼奇航
DevOps的神鬼奇航DevOps的神鬼奇航
DevOps的神鬼奇航Edward Kuo
 
Visual Studio 開發密技大補帖 | Study4.TW 2021 小聚#2
Visual Studio 開發密技大補帖 | Study4.TW 2021 小聚#2Visual Studio 開發密技大補帖 | Study4.TW 2021 小聚#2
Visual Studio 開發密技大補帖 | Study4.TW 2021 小聚#2Alan Tsai
 
API Token 入門
API Token 入門API Token 入門
API Token 入門Andrew Wu
 
我的 DevOps 故事
我的 DevOps 故事我的 DevOps 故事
我的 DevOps 故事Poy Chang
 
Azure Kubernetes Service 2019 ふりかえり
Azure Kubernetes Service 2019 ふりかえりAzure Kubernetes Service 2019 ふりかえり
Azure Kubernetes Service 2019 ふりかえりToru Makabe
 
ASP.NET Core 6.0 全新功能探索
ASP.NET Core 6.0 全新功能探索ASP.NET Core 6.0 全新功能探索
ASP.NET Core 6.0 全新功能探索Will Huang
 
作業現場稽核重點 Tip 8 for On-Site Audit
作業現場稽核重點 Tip 8 for On-Site Audit作業現場稽核重點 Tip 8 for On-Site Audit
作業現場稽核重點 Tip 8 for On-Site AuditFast SiC Semiconductor Inc.
 
GUI自動テストの保守性を高めるには
GUI自動テストの保守性を高めるにはGUI自動テストの保守性を高めるには
GUI自動テストの保守性を高めるにはNozomi Ito
 
91APP 之API 經濟學與API Gateway與導入之旅
91APP 之API 經濟學與API Gateway與導入之旅91APP 之API 經濟學與API Gateway與導入之旅
91APP 之API 經濟學與API Gateway與導入之旅Amazon Web Services
 
萬事萬物皆是 LOG - 系統架構也來點科普
萬事萬物皆是 LOG - 系統架構也來點科普萬事萬物皆是 LOG - 系統架構也來點科普
萬事萬物皆是 LOG - 系統架構也來點科普Poga Po
 
CI/CD、自動化,你還沒準備好(GCPUG.TW Meetup #34)
CI/CD、自動化,你還沒準備好(GCPUG.TW Meetup #34)CI/CD、自動化,你還沒準備好(GCPUG.TW Meetup #34)
CI/CD、自動化,你還沒準備好(GCPUG.TW Meetup #34)Chen Cheng-Wei
 

What's hot (20)

微服務的基礎建設 - Service Discovery, Andrew Wu
微服務的基礎建設 - Service Discovery, Andrew Wu微服務的基礎建設 - Service Discovery, Andrew Wu
微服務的基礎建設 - Service Discovery, Andrew Wu
 
91APP API Gateway 導入之旅
91APP API Gateway 導入之旅91APP API Gateway 導入之旅
91APP API Gateway 導入之旅
 
大型 Web Application 轉移到 微服務的經驗分享
大型 Web Application 轉移到微服務的經驗分享大型 Web Application 轉移到微服務的經驗分享
大型 Web Application 轉移到 微服務的經驗分享
 
從零開始做架構圖
從零開始做架構圖從零開始做架構圖
從零開始做架構圖
 
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
 
App013 ここはあえて紙と
App013 ここはあえて紙とApp013 ここはあえて紙と
App013 ここはあえて紙と
 
開源x節流:企業應用經驗分享 (一)+(二) [2017/02/03] @臺中市政府
開源x節流:企業應用經驗分享 (一)+(二) [2017/02/03] @臺中市政府開源x節流:企業應用經驗分享 (一)+(二) [2017/02/03] @臺中市政府
開源x節流:企業應用經驗分享 (一)+(二) [2017/02/03] @臺中市政府
 
DevOps核心理念和實踐
DevOps核心理念和實踐DevOps核心理念和實踐
DevOps核心理念和實踐
 
DevOps的神鬼奇航
DevOps的神鬼奇航DevOps的神鬼奇航
DevOps的神鬼奇航
 
Visual Studio 開發密技大補帖 | Study4.TW 2021 小聚#2
Visual Studio 開發密技大補帖 | Study4.TW 2021 小聚#2Visual Studio 開發密技大補帖 | Study4.TW 2021 小聚#2
Visual Studio 開發密技大補帖 | Study4.TW 2021 小聚#2
 
API Token 入門
API Token 入門API Token 入門
API Token 入門
 
我的 DevOps 故事
我的 DevOps 故事我的 DevOps 故事
我的 DevOps 故事
 
Azure Kubernetes Service 2019 ふりかえり
Azure Kubernetes Service 2019 ふりかえりAzure Kubernetes Service 2019 ふりかえり
Azure Kubernetes Service 2019 ふりかえり
 
ASP.NET Core 6.0 全新功能探索
ASP.NET Core 6.0 全新功能探索ASP.NET Core 6.0 全新功能探索
ASP.NET Core 6.0 全新功能探索
 
作業現場稽核重點 Tip 8 for On-Site Audit
作業現場稽核重點 Tip 8 for On-Site Audit作業現場稽核重點 Tip 8 for On-Site Audit
作業現場稽核重點 Tip 8 for On-Site Audit
 
Ansible 101
Ansible 101Ansible 101
Ansible 101
 
GUI自動テストの保守性を高めるには
GUI自動テストの保守性を高めるにはGUI自動テストの保守性を高めるには
GUI自動テストの保守性を高めるには
 
91APP 之API 經濟學與API Gateway與導入之旅
91APP 之API 經濟學與API Gateway與導入之旅91APP 之API 經濟學與API Gateway與導入之旅
91APP 之API 經濟學與API Gateway與導入之旅
 
萬事萬物皆是 LOG - 系統架構也來點科普
萬事萬物皆是 LOG - 系統架構也來點科普萬事萬物皆是 LOG - 系統架構也來點科普
萬事萬物皆是 LOG - 系統架構也來點科普
 
CI/CD、自動化,你還沒準備好(GCPUG.TW Meetup #34)
CI/CD、自動化,你還沒準備好(GCPUG.TW Meetup #34)CI/CD、自動化,你還沒準備好(GCPUG.TW Meetup #34)
CI/CD、自動化,你還沒準備好(GCPUG.TW Meetup #34)
 

Viewers also liked

工程師必備第一工具 - Git
工程師必備第一工具 - Git工程師必備第一工具 - Git
工程師必備第一工具 - GitAlan Tsai
 
寫給大家的 Git 教學
寫給大家的 Git 教學寫給大家的 Git 教學
寫給大家的 Git 教學littlebtc
 
git, repo, Gerrit 基礎教學
git, repo, Gerrit 基礎教學git, repo, Gerrit 基礎教學
git, repo, Gerrit 基礎教學Doremi Lin
 
Git 版本控制系統 -- 從微觀到宏觀
Git 版本控制系統 -- 從微觀到宏觀Git 版本控制系統 -- 從微觀到宏觀
Git 版本控制系統 -- 從微觀到宏觀Wen-Tien Chang
 
Introduction to Git/Github - A beginner's guide
Introduction to Git/Github - A beginner's guideIntroduction to Git/Github - A beginner's guide
Introduction to Git/Github - A beginner's guideRohit Arora
 
Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners HubSpot
 

Viewers also liked (8)

工程師必備第一工具 - Git
工程師必備第一工具 - Git工程師必備第一工具 - Git
工程師必備第一工具 - Git
 
Git由超淺入超深
Git由超淺入超深Git由超淺入超深
Git由超淺入超深
 
寫給大家的 Git 教學
寫給大家的 Git 教學寫給大家的 Git 教學
寫給大家的 Git 教學
 
git, repo, Gerrit 基礎教學
git, repo, Gerrit 基礎教學git, repo, Gerrit 基礎教學
git, repo, Gerrit 基礎教學
 
Git Tutorial 教學
Git Tutorial 教學Git Tutorial 教學
Git Tutorial 教學
 
Git 版本控制系統 -- 從微觀到宏觀
Git 版本控制系統 -- 從微觀到宏觀Git 版本控制系統 -- 從微觀到宏觀
Git 版本控制系統 -- 從微觀到宏觀
 
Introduction to Git/Github - A beginner's guide
Introduction to Git/Github - A beginner's guideIntroduction to Git/Github - A beginner's guide
Introduction to Git/Github - A beginner's guide
 
Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners
 

Similar to 網站自動化測試

分布式系统测试实践
分布式系统测试实践分布式系统测试实践
分布式系统测试实践drewz lin
 
Top100summit 陈辉-游戏测试平台 策划资源文件自动化测试体系
Top100summit 陈辉-游戏测试平台 策划资源文件自动化测试体系Top100summit 陈辉-游戏测试平台 策划资源文件自动化测试体系
Top100summit 陈辉-游戏测试平台 策划资源文件自动化测试体系drewz lin
 
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)Rick Hwang
 
Part04 软件测试方法论
Part04 软件测试方法论Part04 软件测试方法论
Part04 软件测试方法论aellaw
 
复件 大型网站性能测试方案的制定与实践
复件 大型网站性能测试方案的制定与实践复件 大型网站性能测试方案的制定与实践
复件 大型网站性能测试方案的制定与实践sharetojsl
 
敏捷软件测试之简介
敏捷软件测试之简介敏捷软件测试之简介
敏捷软件测试之简介Yi Xu
 
使用 Pytest 進行單元測試 (PyCon TW 2021)
使用 Pytest 進行單元測試 (PyCon TW 2021)使用 Pytest 進行單元測試 (PyCon TW 2021)
使用 Pytest 進行單元測試 (PyCon TW 2021)Max Lai
 
Frank‘s Learning Summary - Agile testing
Frank‘s Learning Summary - Agile testingFrank‘s Learning Summary - Agile testing
Frank‘s Learning Summary - Agile testingFrank Lee
 
手机自动化测试解决方案
手机自动化测试解决方案手机自动化测试解决方案
手机自动化测试解决方案懿民 施
 
How+we+make+tests
How+we+make+testsHow+we+make+tests
How+we+make+tests甘 李
 
Top100summit automan x之框架介绍 王超
Top100summit automan x之框架介绍 王超Top100summit automan x之框架介绍 王超
Top100summit automan x之框架介绍 王超drewz lin
 
自動測試 - 測試對象的識別/封裝
自動測試 - 測試對象的識別/封裝自動測試 - 測試對象的識別/封裝
自動測試 - 測試對象的識別/封裝Li-Wei Yao
 
敏捷自动化测试中的教训 45min 中文
敏捷自动化测试中的教训 45min   中文敏捷自动化测试中的教训 45min   中文
敏捷自动化测试中的教训 45min 中文Shuyong Lin
 
Testing in python 2.7.3
Testing in python 2.7.3Testing in python 2.7.3
Testing in python 2.7.3Wen Liao
 
前端单元测试
前端单元测试前端单元测试
前端单元测试LC2009
 

Similar to 網站自動化測試 (20)

分布式系统测试实践
分布式系统测试实践分布式系统测试实践
分布式系统测试实践
 
Top100summit 陈辉-游戏测试平台 策划资源文件自动化测试体系
Top100summit 陈辉-游戏测试平台 策划资源文件自动化测试体系Top100summit 陈辉-游戏测试平台 策划资源文件自动化测试体系
Top100summit 陈辉-游戏测试平台 策划资源文件自动化测试体系
 
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
 
Part04 软件测试方法论
Part04 软件测试方法论Part04 软件测试方法论
Part04 软件测试方法论
 
复件 大型网站性能测试方案的制定与实践
复件 大型网站性能测试方案的制定与实践复件 大型网站性能测试方案的制定与实践
复件 大型网站性能测试方案的制定与实践
 
敏捷软件测试之简介
敏捷软件测试之简介敏捷软件测试之简介
敏捷软件测试之简介
 
使用 Pytest 進行單元測試 (PyCon TW 2021)
使用 Pytest 進行單元測試 (PyCon TW 2021)使用 Pytest 進行單元測試 (PyCon TW 2021)
使用 Pytest 進行單元測試 (PyCon TW 2021)
 
單元測試
單元測試單元測試
單元測試
 
jasmine入门指南
jasmine入门指南jasmine入门指南
jasmine入门指南
 
Frank‘s Learning Summary - Agile testing
Frank‘s Learning Summary - Agile testingFrank‘s Learning Summary - Agile testing
Frank‘s Learning Summary - Agile testing
 
PHPUnit
PHPUnitPHPUnit
PHPUnit
 
手机自动化测试解决方案
手机自动化测试解决方案手机自动化测试解决方案
手机自动化测试解决方案
 
How+we+make+tests
How+we+make+testsHow+we+make+tests
How+we+make+tests
 
Top100summit automan x之框架介绍 王超
Top100summit automan x之框架介绍 王超Top100summit automan x之框架介绍 王超
Top100summit automan x之框架介绍 王超
 
自動測試 - 測試對象的識別/封裝
自動測試 - 測試對象的識別/封裝自動測試 - 測試對象的識別/封裝
自動測試 - 測試對象的識別/封裝
 
敏捷自动化测试中的教训 45min 中文
敏捷自动化测试中的教训 45min   中文敏捷自动化测试中的教训 45min   中文
敏捷自动化测试中的教训 45min 中文
 
PHP 单元测试
PHP 单元测试PHP 单元测试
PHP 单元测试
 
Testing in python 2.7.3
Testing in python 2.7.3Testing in python 2.7.3
Testing in python 2.7.3
 
Unit test
Unit testUnit test
Unit test
 
前端单元测试
前端单元测试前端单元测试
前端单元测试
 

More from Bruce Chen

一個微信專案從0到000的效能調教
一個微信專案從0到000的效能調教一個微信專案從0到000的效能調教
一個微信專案從0到000的效能調教Bruce Chen
 
OWASP Top 10 (2013) 正體中文版
OWASP Top 10 (2013) 正體中文版OWASP Top 10 (2013) 正體中文版
OWASP Top 10 (2013) 正體中文版Bruce Chen
 
KSDG-ASP.NET MVC 5 Overview (偽三國誌)
KSDG-ASP.NET MVC 5 Overview (偽三國誌)KSDG-ASP.NET MVC 5 Overview (偽三國誌)
KSDG-ASP.NET MVC 5 Overview (偽三國誌)Bruce Chen
 
@Connect(); microsoft visual studio vnext & azure
@Connect(); microsoft visual studio vnext & azure@Connect(); microsoft visual studio vnext & azure
@Connect(); microsoft visual studio vnext & azureBruce Chen
 
輕鬆上手ASP.NET Web API 2.1.2
輕鬆上手ASP.NET Web API 2.1.2輕鬆上手ASP.NET Web API 2.1.2
輕鬆上手ASP.NET Web API 2.1.2Bruce Chen
 
2014 Global Windows Bootcamp - 笑cc讓網站上雲端
2014 Global Windows Bootcamp - 笑cc讓網站上雲端2014 Global Windows Bootcamp - 笑cc讓網站上雲端
2014 Global Windows Bootcamp - 笑cc讓網站上雲端Bruce Chen
 

More from Bruce Chen (7)

一個微信專案從0到000的效能調教
一個微信專案從0到000的效能調教一個微信專案從0到000的效能調教
一個微信專案從0到000的效能調教
 
ReSharper
ReSharperReSharper
ReSharper
 
OWASP Top 10 (2013) 正體中文版
OWASP Top 10 (2013) 正體中文版OWASP Top 10 (2013) 正體中文版
OWASP Top 10 (2013) 正體中文版
 
KSDG-ASP.NET MVC 5 Overview (偽三國誌)
KSDG-ASP.NET MVC 5 Overview (偽三國誌)KSDG-ASP.NET MVC 5 Overview (偽三國誌)
KSDG-ASP.NET MVC 5 Overview (偽三國誌)
 
@Connect(); microsoft visual studio vnext & azure
@Connect(); microsoft visual studio vnext & azure@Connect(); microsoft visual studio vnext & azure
@Connect(); microsoft visual studio vnext & azure
 
輕鬆上手ASP.NET Web API 2.1.2
輕鬆上手ASP.NET Web API 2.1.2輕鬆上手ASP.NET Web API 2.1.2
輕鬆上手ASP.NET Web API 2.1.2
 
2014 Global Windows Bootcamp - 笑cc讓網站上雲端
2014 Global Windows Bootcamp - 笑cc讓網站上雲端2014 Global Windows Bootcamp - 笑cc讓網站上雲端
2014 Global Windows Bootcamp - 笑cc讓網站上雲端
 

網站自動化測試

Editor's Notes

  1. 單元測試主要的驗證有三種結果。
  2. 單元測試都是 ms 計算。
  3. Joey 授權本場次使用。懶是開發人員的美德。