Submit Search
Upload
JavaScript Unit Test Why? What? How?
•
79 likes
•
33,203 views
Teppei Sato
Follow
第38回HTML5とか勉強会「Webアプリ×テスト最新事情」の発表資料です。 https://html5j.cloudfoundry.com/event/sd38
Read less
Read more
Technology
Report
Share
Report
Share
1 of 43
Download now
Download to read offline
Recommended
Automation test.ssf alpha
Automation test.ssf alpha
ryuji koyama
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
Kotaro Ogino
#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン
kyon mm
ノンプログラマのためのSelenium de DDTはじめの一歩
ノンプログラマのためのSelenium de DDTはじめの一歩
Satsuki Urayama
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
Kinji Akemine
Azureを使って手軽にブラウザテストの自動化をはじめよう
Azureを使って手軽にブラウザテストの自動化をはじめよう
Naoya Kojima
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
Hiroko Tamagawa
Selenium Antipatterns
Selenium Antipatterns
Jumpei Miyata
Recommended
Automation test.ssf alpha
Automation test.ssf alpha
ryuji koyama
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
Kotaro Ogino
#STAC2014 システムテスト自動化ハンズオン
#STAC2014 システムテスト自動化ハンズオン
kyon mm
ノンプログラマのためのSelenium de DDTはじめの一歩
ノンプログラマのためのSelenium de DDTはじめの一歩
Satsuki Urayama
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
Kinji Akemine
Azureを使って手軽にブラウザテストの自動化をはじめよう
Azureを使って手軽にブラウザテストの自動化をはじめよう
Naoya Kojima
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
Hiroko Tamagawa
Selenium Antipatterns
Selenium Antipatterns
Jumpei Miyata
【STAC2017】テスト自動化システム 成長記
【STAC2017】テスト自動化システム 成長記
友隆 浅黄
Stac2013 開会挨拶
Stac2013 開会挨拶
Shinsuke Matsuki
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
Yahoo!デベロッパーネットワーク
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
Yahoo!デベロッパーネットワーク
20161218 selenium study4
20161218 selenium study4
Naoya Kojima
手動テストからの移行大作戦
手動テストからの移行大作戦
Satsuki Urayama
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
Nozomi Ito
スマートフォンアプリの テスト自動化をはじめよう
スマートフォンアプリの テスト自動化をはじめよう
Koji Hasegawa
自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介
Shinsuke Matsuki
異業種でのテスト自動化の実際
異業種でのテスト自動化の実際
Satsuki Urayama
1時間で分かるSTA (Software Test Automation) #stac2014
1時間で分かるSTA (Software Test Automation) #stac2014
Kazuhiro Suzuki
STAC 2015 自動家は見た~自動化の現場の真実~ SIDE:マネージャ
STAC 2015 自動家は見た~自動化の現場の真実~ SIDE:マネージャ
Noriyuki Mizuno
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
Yahoo!デベロッパーネットワーク
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
H Iseri
20150418 システムテスト自動化 第二章
20150418 システムテスト自動化 第二章
atsushi ishiji
事例から見るテスト自動化のポイント
事例から見るテスト自動化のポイント
Hiroshi Maekawa
詳解!自動結合テスト #jasst
詳解!自動結合テスト #jasst
kyon mm
20150418 システムテスト自動化 第一章
20150418 システムテスト自動化 第一章
Yuki Fujisawa
テストの自動化を考える前に
テストの自動化を考える前に
bleis tift
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス
Nozomi Ito
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
Shuji Watanabe
失敗から学ぶテスト自動化導入で大切なこと
失敗から学ぶテスト自動化導入で大切なこと
sono susumu
More Related Content
What's hot
【STAC2017】テスト自動化システム 成長記
【STAC2017】テスト自動化システム 成長記
友隆 浅黄
Stac2013 開会挨拶
Stac2013 開会挨拶
Shinsuke Matsuki
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
Yahoo!デベロッパーネットワーク
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
Yahoo!デベロッパーネットワーク
20161218 selenium study4
20161218 selenium study4
Naoya Kojima
手動テストからの移行大作戦
手動テストからの移行大作戦
Satsuki Urayama
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
Nozomi Ito
スマートフォンアプリの テスト自動化をはじめよう
スマートフォンアプリの テスト自動化をはじめよう
Koji Hasegawa
自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介
Shinsuke Matsuki
異業種でのテスト自動化の実際
異業種でのテスト自動化の実際
Satsuki Urayama
1時間で分かるSTA (Software Test Automation) #stac2014
1時間で分かるSTA (Software Test Automation) #stac2014
Kazuhiro Suzuki
STAC 2015 自動家は見た~自動化の現場の真実~ SIDE:マネージャ
STAC 2015 自動家は見た~自動化の現場の真実~ SIDE:マネージャ
Noriyuki Mizuno
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
Yahoo!デベロッパーネットワーク
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
H Iseri
20150418 システムテスト自動化 第二章
20150418 システムテスト自動化 第二章
atsushi ishiji
事例から見るテスト自動化のポイント
事例から見るテスト自動化のポイント
Hiroshi Maekawa
詳解!自動結合テスト #jasst
詳解!自動結合テスト #jasst
kyon mm
20150418 システムテスト自動化 第一章
20150418 システムテスト自動化 第一章
Yuki Fujisawa
テストの自動化を考える前に
テストの自動化を考える前に
bleis tift
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス
Nozomi Ito
What's hot
(20)
【STAC2017】テスト自動化システム 成長記
【STAC2017】テスト自動化システム 成長記
Stac2013 開会挨拶
Stac2013 開会挨拶
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
快適・簡単・安心なアプリE2Eテストの実行環境 #stac2017
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
SeleniumE2Eテストフレームワークを使用したテスト自動化事例 #Seleniumjp
20161218 selenium study4
20161218 selenium study4
手動テストからの移行大作戦
手動テストからの移行大作戦
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
スマートフォンアプリの テスト自動化をはじめよう
スマートフォンアプリの テスト自動化をはじめよう
自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介
異業種でのテスト自動化の実際
異業種でのテスト自動化の実際
1時間で分かるSTA (Software Test Automation) #stac2014
1時間で分かるSTA (Software Test Automation) #stac2014
STAC 2015 自動家は見た~自動化の現場の真実~ SIDE:マネージャ
STAC 2015 自動家は見た~自動化の現場の真実~ SIDE:マネージャ
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
STAC2015 講演3 広告システム刷新よもやま話〜テストが当たり前となるまでにやったこと #stac2015
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
20150418 システムテスト自動化 第二章
20150418 システムテスト自動化 第二章
事例から見るテスト自動化のポイント
事例から見るテスト自動化のポイント
詳解!自動結合テスト #jasst
詳解!自動結合テスト #jasst
20150418 システムテスト自動化 第一章
20150418 システムテスト自動化 第一章
テストの自動化を考える前に
テストの自動化を考える前に
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス
実践で学ぶ、効率的な自動テストスクリプトのメンテナンス
Similar to JavaScript Unit Test Why? What? How?
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
Shuji Watanabe
失敗から学ぶテスト自動化導入で大切なこと
失敗から学ぶテスト自動化導入で大切なこと
sono susumu
テストとの上手な付き合い方
テストとの上手な付き合い方
Akira Suenami
アジャイル×テスト開発を考える
アジャイル×テスト開発を考える
yasuohosotani
テストコードのリファクタリング
テストコードのリファクタリング
Shuji Watanabe
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Shuji Watanabe
Javaの資格試験(OCJ-P)を取って何を学んだか
Javaの資格試験(OCJ-P)を取って何を学んだか
Hiroki Uchida
SGT2013 技術トークス「アジャイルテスティング」
SGT2013 技術トークス「アジャイルテスティング」
yasuohosotani
ワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeploy
Ryutaro YOSHIBA
テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門
Satoshi Watanabe
テストを分類してみよう!
テストを分類してみよう!
Kenji Okumura
QA improvement
QA improvement
Sadaaki Emura
JaSST nano vol.7 「なぜペアワイズテストを使いこなせないのか」
JaSST nano vol.7 「なぜペアワイズテストを使いこなせないのか」
Touyou Horikawa
TDDはじめる前に
TDDはじめる前に
Yasui Tsutomu
java-ja TDD 2nd
java-ja TDD 2nd
Takuto Wada
Node塾 講義その6 テスト駆動java script 読書会 1回目
Node塾 講義その6 テスト駆動java script 読書会 1回目
Nomo Kiyoshi
【SQiP2016】楽天のアジャイル開発とメトリクス事例
【SQiP2016】楽天のアジャイル開発とメトリクス事例
Kotaro Ogino
テスト駆動開発の導入ーペアプログラミングの学習効果ー
テスト駆動開発の導入ーペアプログラミングの学習効果ー
Shuji Watanabe
20121019 jenkins勉強会lt資料
20121019 jenkins勉強会lt資料
Hiroko Tamagawa
20170710 hifive-test-meetup
20170710 hifive-test-meetup
Naoya Kojima
Similar to JavaScript Unit Test Why? What? How?
(20)
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
失敗から学ぶテスト自動化導入で大切なこと
失敗から学ぶテスト自動化導入で大切なこと
テストとの上手な付き合い方
テストとの上手な付き合い方
アジャイル×テスト開発を考える
アジャイル×テスト開発を考える
テストコードのリファクタリング
テストコードのリファクタリング
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Javaアプリケーション開発におけるユニットテストとTDDの実践 Java Day Tokyo 2014
Javaの資格試験(OCJ-P)を取って何を学んだか
Javaの資格試験(OCJ-P)を取って何を学んだか
SGT2013 技術トークス「アジャイルテスティング」
SGT2013 技術トークス「アジャイルテスティング」
ワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeploy
テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門
テストを分類してみよう!
テストを分類してみよう!
QA improvement
QA improvement
JaSST nano vol.7 「なぜペアワイズテストを使いこなせないのか」
JaSST nano vol.7 「なぜペアワイズテストを使いこなせないのか」
TDDはじめる前に
TDDはじめる前に
java-ja TDD 2nd
java-ja TDD 2nd
Node塾 講義その6 テスト駆動java script 読書会 1回目
Node塾 講義その6 テスト駆動java script 読書会 1回目
【SQiP2016】楽天のアジャイル開発とメトリクス事例
【SQiP2016】楽天のアジャイル開発とメトリクス事例
テスト駆動開発の導入ーペアプログラミングの学習効果ー
テスト駆動開発の導入ーペアプログラミングの学習効果ー
20121019 jenkins勉強会lt資料
20121019 jenkins勉強会lt資料
20170710 hifive-test-meetup
20170710 hifive-test-meetup
More from Teppei Sato
Node.js Native ESM への道 〜最終章: Babel / TypeScript Modules との闘い〜
Node.js Native ESM への道 〜最終章: Babel / TypeScript Modules との闘い〜
Teppei Sato
サイボウズの給与交渉戦 - Boss Side -
サイボウズの給与交渉戦 - Boss Side -
Teppei Sato
Recent compat-table issues
Recent compat-table issues
Teppei Sato
kintoneがAWSで目指すDevOpsQAな開発
kintoneがAWSで目指すDevOpsQAな開発
Teppei Sato
Automated Dependency Updates with Renovate
Automated Dependency Updates with Renovate
Teppei Sato
君はyarn.lockをコミットしているか?
君はyarn.lockをコミットしているか?
Teppei Sato
サイボウズのフロントエンド開発 現在とこれからの挑戦
サイボウズのフロントエンド開発 現在とこれからの挑戦
Teppei Sato
サイボウズの現在と未来
サイボウズの現在と未来
Teppei Sato
離れた場所でも最高のチームワークを実現する方法 ーサイボウズ開発チームのリモートワーク事例ー
離れた場所でも最高のチームワークを実現する方法 ーサイボウズ開発チームのリモートワーク事例ー
Teppei Sato
サイボウズの開発を支えるKAIZEN文化
サイボウズの開発を支えるKAIZEN文化
Teppei Sato
SPAと覚悟
SPAと覚悟
Teppei Sato
JavaScript Language Update 2016 (LLoT)
JavaScript Language Update 2016 (LLoT)
Teppei Sato
You Don't Know ES Modules
You Don't Know ES Modules
Teppei Sato
Closure Compiler Updates for ES6
Closure Compiler Updates for ES6
Teppei Sato
ES6 in Practice
ES6 in Practice
Teppei Sato
Our wish to Flowtype
Our wish to Flowtype
Teppei Sato
Effective ES6
Effective ES6
Teppei Sato
Flowtype Introduction
Flowtype Introduction
Teppei Sato
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
Teppei Sato
本当のClosure Compilerをお見せしますよ。
本当のClosure Compilerをお見せしますよ。
Teppei Sato
More from Teppei Sato
(20)
Node.js Native ESM への道 〜最終章: Babel / TypeScript Modules との闘い〜
Node.js Native ESM への道 〜最終章: Babel / TypeScript Modules との闘い〜
サイボウズの給与交渉戦 - Boss Side -
サイボウズの給与交渉戦 - Boss Side -
Recent compat-table issues
Recent compat-table issues
kintoneがAWSで目指すDevOpsQAな開発
kintoneがAWSで目指すDevOpsQAな開発
Automated Dependency Updates with Renovate
Automated Dependency Updates with Renovate
君はyarn.lockをコミットしているか?
君はyarn.lockをコミットしているか?
サイボウズのフロントエンド開発 現在とこれからの挑戦
サイボウズのフロントエンド開発 現在とこれからの挑戦
サイボウズの現在と未来
サイボウズの現在と未来
離れた場所でも最高のチームワークを実現する方法 ーサイボウズ開発チームのリモートワーク事例ー
離れた場所でも最高のチームワークを実現する方法 ーサイボウズ開発チームのリモートワーク事例ー
サイボウズの開発を支えるKAIZEN文化
サイボウズの開発を支えるKAIZEN文化
SPAと覚悟
SPAと覚悟
JavaScript Language Update 2016 (LLoT)
JavaScript Language Update 2016 (LLoT)
You Don't Know ES Modules
You Don't Know ES Modules
Closure Compiler Updates for ES6
Closure Compiler Updates for ES6
ES6 in Practice
ES6 in Practice
Our wish to Flowtype
Our wish to Flowtype
Effective ES6
Effective ES6
Flowtype Introduction
Flowtype Introduction
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
Closure CompilerのES6対応 あるいはES6時代のAltJS生存戦略
本当のClosure Compilerをお見せしますよ。
本当のClosure Compilerをお見せしますよ。
Recently uploaded
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
Hiroki Ichikura
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
sugiuralab
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
Recently uploaded
(12)
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
JavaScript Unit Test Why? What? How?
1.
JavaScript Unit Test Why?
What? How? 佐藤鉄平@teppeis 2013/04/26 第38回HTML5とか勉強会
2.
自己紹介 •佐藤鉄平 •@teppeis •サイボウズでkintoneっていう B2Bサービスを作っています。 •フロントからバックエンドまで •宗派: Vim, JS,
Google Closure
3.
JS連載2年目に突入!
4.
一人目なので、 JSテストの全体像を お話します。 まだJSでテストを書いてない 人向けです。
5.
コードはでてきません!
6.
http://www.flickr.com/photos/freakygoldie/5044175060 Why?
7.
どうしてJavaScriptで ユニットテストを書くのか?
8.
そもそもテストって何だろう?
9.
実践アジャイルテスト
10.
アジャイルテストの4象限 ビジネス面 技術面 チームを 支援する 製品を 批評する 結合テスト 機能テスト ユニットテスト ユーザビリティテスト 探索的テスト 性能テスト 脆弱性テスト
11.
ビジネス面 技術面 チームを 支援する 製品を 批評する 結合テスト 機能テスト ユニットテスト ユーザビリティテスト 探索的テスト 性能テスト 脆弱性テスト 結合テスト
12.
結合テスト •ビジネスを支援する技術面のテスト •エンドツーエンド •「何を作るのか?」 •どんなサービスでも必須 •自動化推奨 (Seleniumなど)
13.
ビジネス面 技術面 チームを 支援する 製品を 批評する 結合テスト 機能テスト ユニットテスト ユーザビリティテスト 探索的テスト 性能テスト 脆弱性テスト ユニットテスト
14.
ユニットテスト •チームを支援する技術面のテスト •開発者による開発者のためのテスト •「どう作るのか?」 •設計とコードの質が向上 •大規模ではほぼ必須 •自動化が必須
15.
TDDと黄金の回転 ©t-wada きれい 汚い (すぐには)動かない 動作する Red Green Refactoring TDDと黄金の回転 http://www.slideshare.net/t_wada/javaja-tdd-2nd
16.
実践テスト駆動開発
17.
二重のフィードバックループ 失敗する 受入テスト を書く 失敗する ユニットテスト を書く テスト成功! リファクタリング
18.
CI
19.
20.
JSをとりまく状況 •コードとチームの大規模化 •フロントエンド領域の増大 •高速で高品質な開発の要求
21.
ユニットテストの 必要性が高まってる!
22.
テスト環境の向上 •Node.jsの隆盛 •テスト関連ツールの盛り上がり •MV*フレームワークや モジュール化の仕組みが成熟
23.
ユニットテストが やりやすくなった!
24.
http://www.flickr.com/photos/beorn_ours/5675267679/ What?
25.
どこから手をつけたら。。
26.
JSのユニットテストって 難しいんでしょ?
27.
JSテストの難しい点 •コードがビューと結びつきがち •実行環境=ブラウザが扱いづらい => MV*な設計で解決 => ツールで解決
28.
MV* •いろいろ宗派はあるけど、 やりたいことはビューとロジックの分離。 •それさえできれば、 ロジック(Model)のテストは 普通にできるはず。
29.
例) メール一覧画面 •Model •全部のリスト •宛先で絞り込み •タグで絞り込み •View •受け取ったら表示するだけ
30.
Modelのテストをしよう! •純粋なロジック •不確実性が低い •リファクタリングで疎結合に分解
31.
Viewのテストは •DOMのテストは書きにくい •ユーザビリティはテストできない •画面を見ながらの試行錯誤が必要 •書きたくなったらチャレンジしよう!
32.
http://www.flickr.com/photos/dunechaser/270552745/ How?
33.
テストツールの分類 PhanotmJS jsdom envjs 実ブラウザ Testem Karma Jasmine QUnit Mocha JsTestDriver Buster.JS Chai expect.js Sinon.JS 実行環境 リモート テストランナー テスティング フレームワーク モック ライブラリ
34.
テスティングフレームワーク •テストの記述と実行を担当 •どれを選んでも間違いはないレベル •詳細は今日の他の方の発表を お聞きくださいw
35.
実行環境が重要 •実ブラウザ •本物だけど面倒、遅い •ヘッドレスブラウザ (PhantomJS) •だいたい本物でそこそこ速い •でもWebKitだけ •シミュレータ(jsdom, envjs) •偽物だけど速い
36.
リモートテストランナー •ブラウザをキャプチャリングして リモートでテストを実行するツール •実ブラウザの欠点を補う •同時に複数のブラウザでTDDが可能 •Testem, Karma(Testacular), JsTestDeriver, Buster.JS
37.
どれを選ぶ? PhanotmJS jsdom envjs 実ブラウザ Testem Karma Jasmine QUnit Mocha JsTestDriver Buster.JS Chai expect.js Sinon.JS 実行環境 リモート テストランナー テスティング フレームワーク モック ライブラリ
38.
Demo •おすすめ簡単構成 •Jasmine + Testem
+ 実ブラウザ •FizzBuzz with TDD •CI with PhantomJS
39.
ユニットテスト以外にも •カバレッジ測定 •静的解析 •Lint (JSHint, JSLint,
Closure) •型チェック (Closure, TypeScript) •それらを支えるgruntなどなど
40.
まとめ •JSでもユニットテストは大事! •モデルのテストから始めよう! •テスト関連ツールの進化がやばい! •TDDで楽しい開発!
41.
http://www.flickr.com/photos/mlpeixoto/5351547427/ When?
42.
Just Now!
43.
ありがとうございました!
Download now