SlideShare a Scribd company logo
網站
自動化測試
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

PPTX
微服務的基礎建設 - Service Discovery, Andrew Wu
Andrew Wu
 
PDF
萬事萬物皆是 LOG - 系統架構也來點科普
Poga Po
 
PPTX
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
Edward Kuo
 
PDF
DevOps核心理念和實踐
Martin Liu
 
PDF
架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務
Alan Tsai
 
PDF
Azure利用開始手順
Junji Yamamoto
 
PDF
超簡単! Payara ServerをWindowsにインストール
Shin Tanigawa
 
PDF
コンテナの作り方「Dockerは裏方で何をしているのか?」
Masahito Zembutsu
 
微服務的基礎建設 - Service Discovery, Andrew Wu
Andrew Wu
 
萬事萬物皆是 LOG - 系統架構也來點科普
Poga Po
 
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
Edward Kuo
 
DevOps核心理念和實踐
Martin Liu
 
架構這件事 - Azure 可以幫助什麼 - 如何選擇使用什麼 Azure 服務
Alan Tsai
 
Azure利用開始手順
Junji Yamamoto
 
超簡単! Payara ServerをWindowsにインストール
Shin Tanigawa
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
Masahito Zembutsu
 

What's hot (20)

PPTX
我們與Azure DevOps的距離
Edward Kuo
 
PPTX
Azure DevOps AI
AayushAayush16
 
PPTX
大型 Web Application 轉移到 微服務的經驗分享
Andrew Wu
 
PDF
[B31] LOGMinerってレプリケーションソフトで使われているけどどうなってる? by Toshiya Morita
Insight Technology, Inc.
 
PPTX
大規模微服務導入 - #1, 從零開始的系統架構設計概觀
Andrew Wu
 
PPTX
AIやマイクロサービスを活用したDynamoDB節約術
gree_tech
 
PDF
91APP API Gateway 導入之旅
Rick Hwang
 
PDF
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
Amazon Web Services Japan
 
PPTX
CloudFront経由でのCORS利用
Yuta Imai
 
PDF
SRE Conf 2022 - 91APP 在 AWS 上的 SRE 實踐之路
Rick Hwang
 
PPTX
Qlik Replicate のインストール
QlikPresalesJapan
 
PPTX
Azure API Management 俺的マニュアル
貴志 上坂
 
PDF
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
Amazon Web Services Japan
 
PDF
Spring Cloud Data Flow の紹介 #streamctjp
Yahoo!デベロッパーネットワーク
 
PDF
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
Trainocate Japan, Ltd.
 
PDF
91APP: 從 "零" 開始的 DevOps
Andrew Wu
 
PPTX
ぱぱっと理解するSpring Cloudの基本
kazuki kumagai
 
PDF
MySQLからPostgreSQLへのマイグレーションのハマリ所
Makoto Kaga
 
PDF
Practical migration from JSP to Thymeleaf
Toshiki Iga
 
PDF
Babelfish Compatibility
Noriyoshi Shinoda
 
我們與Azure DevOps的距離
Edward Kuo
 
Azure DevOps AI
AayushAayush16
 
大型 Web Application 轉移到 微服務的經驗分享
Andrew Wu
 
[B31] LOGMinerってレプリケーションソフトで使われているけどどうなってる? by Toshiya Morita
Insight Technology, Inc.
 
大規模微服務導入 - #1, 從零開始的系統架構設計概觀
Andrew Wu
 
AIやマイクロサービスを活用したDynamoDB節約術
gree_tech
 
91APP API Gateway 導入之旅
Rick Hwang
 
[よくわかるクラウドデータベース] Amazon RDS for PostgreSQL検証報告
Amazon Web Services Japan
 
CloudFront経由でのCORS利用
Yuta Imai
 
SRE Conf 2022 - 91APP 在 AWS 上的 SRE 實踐之路
Rick Hwang
 
Qlik Replicate のインストール
QlikPresalesJapan
 
Azure API Management 俺的マニュアル
貴志 上坂
 
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
Amazon Web Services Japan
 
Spring Cloud Data Flow の紹介 #streamctjp
Yahoo!デベロッパーネットワーク
 
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
Trainocate Japan, Ltd.
 
91APP: 從 "零" 開始的 DevOps
Andrew Wu
 
ぱぱっと理解するSpring Cloudの基本
kazuki kumagai
 
MySQLからPostgreSQLへのマイグレーションのハマリ所
Makoto Kaga
 
Practical migration from JSP to Thymeleaf
Toshiki Iga
 
Babelfish Compatibility
Noriyoshi Shinoda
 
Ad

Viewers also liked (8)

PPTX
工程師必備第一工具 - Git
Alan Tsai
 
PDF
Git由超淺入超深
羊 小咩 (lamb-mei)
 
PDF
寫給大家的 Git 教學
littlebtc
 
PDF
git, repo, Gerrit 基礎教學
Doremi Lin
 
PDF
Git Tutorial 教學
Wen-Tien Chang
 
PDF
Git 版本控制系統 -- 從微觀到宏觀
Wen-Tien Chang
 
PPTX
Introduction to Git/Github - A beginner's guide
Rohit Arora
 
PDF
Git 101: Git and GitHub for Beginners
HubSpot
 
工程師必備第一工具 - Git
Alan Tsai
 
Git由超淺入超深
羊 小咩 (lamb-mei)
 
寫給大家的 Git 教學
littlebtc
 
git, repo, Gerrit 基礎教學
Doremi Lin
 
Git Tutorial 教學
Wen-Tien Chang
 
Git 版本控制系統 -- 從微觀到宏觀
Wen-Tien Chang
 
Introduction to Git/Github - A beginner's guide
Rohit Arora
 
Git 101: Git and GitHub for Beginners
HubSpot
 
Ad

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

ODP
PHPUnit
jameslabs
 
PDF
使用 Pytest 進行單元測試 (PyCon TW 2021)
Max Lai
 
PPTX
Unit test
vul3yo6
 
PDF
用 DevOps 思維看待網頁測試 (第二章)
Chris Chang
 
PDF
軟體系統測試簡介
Wei-Tsung Su
 
ODP
PHPUnit slide formal
jameslabs
 
PDF
測試是什麼
Yvonne Yu
 
PPTX
Test Driven Development
升煌 黃
 
PPTX
Cucumber
Warren Lin
 
PDF
Tip for Editors
Chun-Yu Tseng
 
PPTX
Mobile app的測試v2
Mr PM
 
PDF
Introduction to software quality assurance and its implementation
Yung-Chun Chang
 
PDF
單元測試:Mocha、Chai 和 Sinon
Hsin-Hao Tang
 
PDF
單元測試-到底單什麼元,測什麼試
option0417
 
PPTX
單元測試介紹
Adison wu
 
PHPUnit
jameslabs
 
使用 Pytest 進行單元測試 (PyCon TW 2021)
Max Lai
 
Unit test
vul3yo6
 
用 DevOps 思維看待網頁測試 (第二章)
Chris Chang
 
軟體系統測試簡介
Wei-Tsung Su
 
PHPUnit slide formal
jameslabs
 
測試是什麼
Yvonne Yu
 
Test Driven Development
升煌 黃
 
Cucumber
Warren Lin
 
Tip for Editors
Chun-Yu Tseng
 
Mobile app的測試v2
Mr PM
 
Introduction to software quality assurance and its implementation
Yung-Chun Chang
 
單元測試:Mocha、Chai 和 Sinon
Hsin-Hao Tang
 
單元測試-到底單什麼元,測什麼試
option0417
 
單元測試介紹
Adison wu
 

More from Bruce Chen (7)

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

網站自動化測試

Editor's Notes

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