SlideShare a Scribd company logo
1 of 17
Download to read offline
Daniel DavisDaniel Davis
@ourmaninjapan@ourmaninjapan
Testharness.jsTestharness.js の基礎の基礎
テストの悪い事例テストの悪い事例
やっぱりロボットがほしい!
testharness.jstestharness.js はは
あなたのあなたの
ロボットロボット
最終的に…最終的に…
信頼できる、統一性のあるブラウザがほしい。信頼できる、統一性のあるブラウザがほしい。
そのため…そのため…
信頼できる、統一性のあるテストが必要。信頼できる、統一性のあるテストが必要。
そのため、こういうテストが必要そのため、こういうテストが必要
良い良い WebWeb テストの必須項目テストの必須項目
•
   WebWeb プラットフォームのテストスイートプラットフォームのテストスイート
•
   testharness.jstestharness.js 等等
•
 対象メソッド、要素、属性等 対象メソッド、要素、属性等
•
 テストコード自体 テストコード自体
testharness.jstestharness.js のパッケージのパッケージ
•
   testharness.jstestharness.js 等を等を /resources/resources に入れるに入れる
•
 できればローカルサーバーで実行する できればローカルサーバーで実行する
•
   id=”log”id=”log” の要素を作るの要素を作る
•
 テストを書く テストを書く
testharness.jstestharness.js の使い方の使い方
•
 なるべくシンプルに なるべくシンプルに
•
   test()test() とと async_test()async_test() が使えるが使える
•
   assert_assert_ 何とか何とか == 「◯◯なのか」「◯◯なのか」
•
 各テストは条件とタイトルが必要 各テストは条件とタイトルが必要
•
 既存のテストをパクった方が楽 既存のテストをパクった方が楽
•
 テストを先に書きましょう テストを先に書きましょう
Demo timeDemo time
サンプルサンプル
<div<div id="id="loglog""></div>></div>
<div<div id="id="testEltestEl" class="" class="BobBob""></div>></div>
<script><script>
var testEl = document.getElementById('var testEl = document.getElementById('testEltestEl');');
test(function() {test(function() {
assert_equals(testEl.getAttribute('assert_equals(testEl.getAttribute('classclass'), ''), 'BobBob');');
}, '}, 'Can get class attribute with getAttribute()Can get class attribute with getAttribute()');');
</script></script>
テストの種類テストの種類
assert_trueassert_true
assert_falseassert_false
assert_equalsassert_equals
assert_not_equalsassert_not_equals
……
参考参考
•
/webstorage//webstorage/
•
/XMLHttpRequest//XMLHttpRequest/
/html/dom/elements/global-attributes//html/dom/elements/global-attributes/
おまけおまけ
おすすめの簡単なサーバー:おすすめの簡単なサーバー:
python -m SimpleHTTPServerpython -m SimpleHTTPServer
リンク集リンク集
hoppipolla.co.uk/talks/ttwf/testharness.htmlhoppipolla.co.uk/talks/ttwf/testharness.html
darobin.github.io/test-harness-tutorial/docs/using-testharness.htmldarobin.github.io/test-harness-tutorial/docs/using-testharness.html

More Related Content

Viewers also liked

Rich Typography Options For The Web - or - Why sIFR is Dead in 2009
Rich Typography Options For The Web - or - Why sIFR is Dead in 2009Rich Typography Options For The Web - or - Why sIFR is Dead in 2009
Rich Typography Options For The Web - or - Why sIFR is Dead in 2009Paul Irish
 
The web - What it has, what it lacks and where it must go
The web - What it has, what it lacks and where it must goThe web - What it has, what it lacks and where it must go
The web - What it has, what it lacks and where it must goRobert Nyman
 
RDFa In A Nutshell V2
RDFa In A Nutshell V2RDFa In A Nutshell V2
RDFa In A Nutshell V2Fabien Gandon
 
jQuery Anti-Patterns for Performance & Compression
jQuery Anti-Patterns for Performance & CompressionjQuery Anti-Patterns for Performance & Compression
jQuery Anti-Patterns for Performance & CompressionPaul Irish
 
WebRTC: A front-end perspective
WebRTC: A front-end perspectiveWebRTC: A front-end perspective
WebRTC: A front-end perspectiveshwetank
 
Leveraging HTML 5.0
Leveraging HTML 5.0Leveraging HTML 5.0
Leveraging HTML 5.0brucelawson
 
What HTTP/2.0 Will Do For You
What HTTP/2.0 Will Do For YouWhat HTTP/2.0 Will Do For You
What HTTP/2.0 Will Do For YouMark Nottingham
 
The $10,000 Paid Content + Paid Linking Test that is 100% Google Safe
The $10,000 Paid Content + Paid Linking Test that is 100% Google SafeThe $10,000 Paid Content + Paid Linking Test that is 100% Google Safe
The $10,000 Paid Content + Paid Linking Test that is 100% Google SafeWil Reynolds
 
Bruce Lawson: Progressive Web Apps: the future of Apps
Bruce Lawson: Progressive Web Apps: the future of AppsBruce Lawson: Progressive Web Apps: the future of Apps
Bruce Lawson: Progressive Web Apps: the future of Appsbrucelawson
 
How to do presentations that don't induce suicide
How to do presentations that don't induce suicideHow to do presentations that don't induce suicide
How to do presentations that don't induce suicideAndy Whitlock
 
Intro to @viewport & other new Responsive Web Design CSS features
Intro to @viewport & other new Responsive Web Design CSS featuresIntro to @viewport & other new Responsive Web Design CSS features
Intro to @viewport & other new Responsive Web Design CSS featuresAndreas Bovens
 
Why ARIA? [DevChatt 2010]
Why ARIA? [DevChatt 2010]Why ARIA? [DevChatt 2010]
Why ARIA? [DevChatt 2010]Aaron Gustafson
 
Progressive Enhancement 2.0 (Conference Agnostic)
Progressive Enhancement 2.0 (Conference Agnostic)Progressive Enhancement 2.0 (Conference Agnostic)
Progressive Enhancement 2.0 (Conference Agnostic)Nicholas Zakas
 
London React August - GraphQL at The Financial Times - Viktor Charypar
London React August - GraphQL at The Financial Times - Viktor CharyparLondon React August - GraphQL at The Financial Times - Viktor Charypar
London React August - GraphQL at The Financial Times - Viktor CharyparReact London Community
 
Digital Body Language
Digital Body Language  Digital Body Language
Digital Body Language Michael King
 
Functional Programming in JavaScript by Luis Atencio
Functional Programming in JavaScript by Luis AtencioFunctional Programming in JavaScript by Luis Atencio
Functional Programming in JavaScript by Luis AtencioLuis Atencio
 
Map, Flatmap and Reduce are Your New Best Friends: Simpler Collections, Concu...
Map, Flatmap and Reduce are Your New Best Friends: Simpler Collections, Concu...Map, Flatmap and Reduce are Your New Best Friends: Simpler Collections, Concu...
Map, Flatmap and Reduce are Your New Best Friends: Simpler Collections, Concu...Chris Richardson
 
Анонимные записи в Haskell. Никита Волков
Анонимные записи в Haskell. Никита ВолковАнонимные записи в Haskell. Никита Волков
Анонимные записи в Haskell. Никита ВолковЮрий Сыровецкий
 
Who's More Functional: Kotlin, Groovy, Scala, or Java?
Who's More Functional: Kotlin, Groovy, Scala, or Java?Who's More Functional: Kotlin, Groovy, Scala, or Java?
Who's More Functional: Kotlin, Groovy, Scala, or Java?Andrey Breslav
 

Viewers also liked (20)

Rich Typography Options For The Web - or - Why sIFR is Dead in 2009
Rich Typography Options For The Web - or - Why sIFR is Dead in 2009Rich Typography Options For The Web - or - Why sIFR is Dead in 2009
Rich Typography Options For The Web - or - Why sIFR is Dead in 2009
 
PHPコアから読み解くPHP5.5
PHPコアから読み解くPHP5.5PHPコアから読み解くPHP5.5
PHPコアから読み解くPHP5.5
 
The web - What it has, what it lacks and where it must go
The web - What it has, what it lacks and where it must goThe web - What it has, what it lacks and where it must go
The web - What it has, what it lacks and where it must go
 
RDFa In A Nutshell V2
RDFa In A Nutshell V2RDFa In A Nutshell V2
RDFa In A Nutshell V2
 
jQuery Anti-Patterns for Performance & Compression
jQuery Anti-Patterns for Performance & CompressionjQuery Anti-Patterns for Performance & Compression
jQuery Anti-Patterns for Performance & Compression
 
WebRTC: A front-end perspective
WebRTC: A front-end perspectiveWebRTC: A front-end perspective
WebRTC: A front-end perspective
 
Leveraging HTML 5.0
Leveraging HTML 5.0Leveraging HTML 5.0
Leveraging HTML 5.0
 
What HTTP/2.0 Will Do For You
What HTTP/2.0 Will Do For YouWhat HTTP/2.0 Will Do For You
What HTTP/2.0 Will Do For You
 
The $10,000 Paid Content + Paid Linking Test that is 100% Google Safe
The $10,000 Paid Content + Paid Linking Test that is 100% Google SafeThe $10,000 Paid Content + Paid Linking Test that is 100% Google Safe
The $10,000 Paid Content + Paid Linking Test that is 100% Google Safe
 
Bruce Lawson: Progressive Web Apps: the future of Apps
Bruce Lawson: Progressive Web Apps: the future of AppsBruce Lawson: Progressive Web Apps: the future of Apps
Bruce Lawson: Progressive Web Apps: the future of Apps
 
How to do presentations that don't induce suicide
How to do presentations that don't induce suicideHow to do presentations that don't induce suicide
How to do presentations that don't induce suicide
 
Intro to @viewport & other new Responsive Web Design CSS features
Intro to @viewport & other new Responsive Web Design CSS featuresIntro to @viewport & other new Responsive Web Design CSS features
Intro to @viewport & other new Responsive Web Design CSS features
 
Why ARIA? [DevChatt 2010]
Why ARIA? [DevChatt 2010]Why ARIA? [DevChatt 2010]
Why ARIA? [DevChatt 2010]
 
Progressive Enhancement 2.0 (Conference Agnostic)
Progressive Enhancement 2.0 (Conference Agnostic)Progressive Enhancement 2.0 (Conference Agnostic)
Progressive Enhancement 2.0 (Conference Agnostic)
 
London React August - GraphQL at The Financial Times - Viktor Charypar
London React August - GraphQL at The Financial Times - Viktor CharyparLondon React August - GraphQL at The Financial Times - Viktor Charypar
London React August - GraphQL at The Financial Times - Viktor Charypar
 
Digital Body Language
Digital Body Language  Digital Body Language
Digital Body Language
 
Functional Programming in JavaScript by Luis Atencio
Functional Programming in JavaScript by Luis AtencioFunctional Programming in JavaScript by Luis Atencio
Functional Programming in JavaScript by Luis Atencio
 
Map, Flatmap and Reduce are Your New Best Friends: Simpler Collections, Concu...
Map, Flatmap and Reduce are Your New Best Friends: Simpler Collections, Concu...Map, Flatmap and Reduce are Your New Best Friends: Simpler Collections, Concu...
Map, Flatmap and Reduce are Your New Best Friends: Simpler Collections, Concu...
 
Анонимные записи в Haskell. Никита Волков
Анонимные записи в Haskell. Никита ВолковАнонимные записи в Haskell. Никита Волков
Анонимные записи в Haskell. Никита Волков
 
Who's More Functional: Kotlin, Groovy, Scala, or Java?
Who's More Functional: Kotlin, Groovy, Scala, or Java?Who's More Functional: Kotlin, Groovy, Scala, or Java?
Who's More Functional: Kotlin, Groovy, Scala, or Java?
 

Similar to testharness.js の基礎

テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門Satoshi Watanabe
 
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~Tomomi Kajita
 
テストコードのリファクタリング
テストコードのリファクタリングテストコードのリファクタリング
テストコードのリファクタリングShuji Watanabe
 
Introduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGoodIntroduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGoodAtsuhiro Kubo
 
Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例健一 辰濱
 
ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014Koji Hasegawa
 
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
JUnit実践入門 xUnitTestPatternsで学ぶユニットテストJUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
JUnit実践入門 xUnitTestPatternsで学ぶユニットテストShuji Watanabe
 
Robotium を使った UI テスト
Robotium を使った UI テストRobotium を使った UI テスト
Robotium を使った UI テスト健一 辰濱
 
Continuous delivery chapter4
Continuous delivery chapter4Continuous delivery chapter4
Continuous delivery chapter4favril1
 
Build insider testingwithvs
Build insider testingwithvsBuild insider testingwithvs
Build insider testingwithvsTomoyuki Iwade
 
サーバーレスでアンケートフォームを作ってみた
サーバーレスでアンケートフォームを作ってみたサーバーレスでアンケートフォームを作ってみた
サーバーレスでアンケートフォームを作ってみたryutakatori
 
アジャイル×テスト開発を考える
アジャイル×テスト開発を考えるアジャイル×テスト開発を考える
アジャイル×テスト開発を考えるyasuohosotani
 
Introduction to Continuous Testing
Introduction to Continuous TestingIntroduction to Continuous Testing
Introduction to Continuous TestingAtsuhiro Kubo
 
テストとの上手な付き合い方
テストとの上手な付き合い方テストとの上手な付き合い方
テストとの上手な付き合い方Akira Suenami
 
20161218 selenium study4
20161218 selenium study420161218 selenium study4
20161218 selenium study4Naoya Kojima
 
Azureを使って手軽にブラウザテストの自動化をはじめよう
Azureを使って手軽にブラウザテストの自動化をはじめようAzureを使って手軽にブラウザテストの自動化をはじめよう
Azureを使って手軽にブラウザテストの自動化をはじめようNaoya Kojima
 
Awsで実現するseleniumテスト高速術
Awsで実現するseleniumテスト高速術Awsで実現するseleniumテスト高速術
Awsで実現するseleniumテスト高速術finoue
 
Code complete ch22_developper_test
Code complete ch22_developper_testCode complete ch22_developper_test
Code complete ch22_developper_testSho Shimauchi
 
Microsoft ExcelでWebブラウザ(Selenium WebDriver)を動かした話
Microsoft ExcelでWebブラウザ(Selenium WebDriver)を動かした話Microsoft ExcelでWebブラウザ(Selenium WebDriver)を動かした話
Microsoft ExcelでWebブラウザ(Selenium WebDriver)を動かした話洋史 東平
 

Similar to testharness.js の基礎 (20)

テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門
 
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
TDDを一年やってみました ~シロート集団がTDDをやってはまったこと~
 
テストコードのリファクタリング
テストコードのリファクタリングテストコードのリファクタリング
テストコードのリファクタリング
 
Introduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGoodIntroduction to Continuous Test Runner MakeGood
Introduction to Continuous Test Runner MakeGood
 
Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例
 
ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014ビルドプロセスとCI #STAC2014
ビルドプロセスとCI #STAC2014
 
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
JUnit実践入門 xUnitTestPatternsで学ぶユニットテストJUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
JUnit実践入門 xUnitTestPatternsで学ぶユニットテスト
 
Robotium を使った UI テスト
Robotium を使った UI テストRobotium を使った UI テスト
Robotium を使った UI テスト
 
Continuous delivery chapter4
Continuous delivery chapter4Continuous delivery chapter4
Continuous delivery chapter4
 
Build insider testingwithvs
Build insider testingwithvsBuild insider testingwithvs
Build insider testingwithvs
 
サーバーレスでアンケートフォームを作ってみた
サーバーレスでアンケートフォームを作ってみたサーバーレスでアンケートフォームを作ってみた
サーバーレスでアンケートフォームを作ってみた
 
アジャイル×テスト開発を考える
アジャイル×テスト開発を考えるアジャイル×テスト開発を考える
アジャイル×テスト開発を考える
 
Introduction to Continuous Testing
Introduction to Continuous TestingIntroduction to Continuous Testing
Introduction to Continuous Testing
 
テストとの上手な付き合い方
テストとの上手な付き合い方テストとの上手な付き合い方
テストとの上手な付き合い方
 
20161218 selenium study4
20161218 selenium study420161218 selenium study4
20161218 selenium study4
 
Software Test Basic
Software Test BasicSoftware Test Basic
Software Test Basic
 
Azureを使って手軽にブラウザテストの自動化をはじめよう
Azureを使って手軽にブラウザテストの自動化をはじめようAzureを使って手軽にブラウザテストの自動化をはじめよう
Azureを使って手軽にブラウザテストの自動化をはじめよう
 
Awsで実現するseleniumテスト高速術
Awsで実現するseleniumテスト高速術Awsで実現するseleniumテスト高速術
Awsで実現するseleniumテスト高速術
 
Code complete ch22_developper_test
Code complete ch22_developper_testCode complete ch22_developper_test
Code complete ch22_developper_test
 
Microsoft ExcelでWebブラウザ(Selenium WebDriver)を動かした話
Microsoft ExcelでWebブラウザ(Selenium WebDriver)を動かした話Microsoft ExcelでWebブラウザ(Selenium WebDriver)を動かした話
Microsoft ExcelでWebブラウザ(Selenium WebDriver)を動かした話
 

More from ourmaninjapan

テレビのウェブ開発:その1
テレビのウェブ開発:その1テレビのウェブ開発:その1
テレビのウェブ開発:その1ourmaninjapan
 
テレビのウェブ開発:その2
テレビのウェブ開発:その2テレビのウェブ開発:その2
テレビのウェブ開発:その2ourmaninjapan
 
テレビのウェブ開発:その3
テレビのウェブ開発:その3テレビのウェブ開発:その3
テレビのウェブ開発:その3ourmaninjapan
 
HTML5概要、コードサンプル
HTML5概要、コードサンプルHTML5概要、コードサンプル
HTML5概要、コードサンプルourmaninjapan
 
The status of living HTML (highlights)
The status of living HTML (highlights)The status of living HTML (highlights)
The status of living HTML (highlights)ourmaninjapan
 
How to read W3C specs
How to read W3C specsHow to read W3C specs
How to read W3C specsourmaninjapan
 
HTML5: APIの活用事例 と 今後の広がり
HTML5: APIの活用事例 と 今後の広がりHTML5: APIの活用事例 と 今後の広がり
HTML5: APIの活用事例 と 今後の広がりourmaninjapan
 
HTML5とデバイスの連携: 良いところ、悪いところ、未来のこと
HTML5とデバイスの連携: 良いところ、悪いところ、未来のことHTML5とデバイスの連携: 良いところ、悪いところ、未来のこと
HTML5とデバイスの連携: 良いところ、悪いところ、未来のことourmaninjapan
 
W3C Widgets、どこが面白い?
W3C Widgets、どこが面白い?W3C Widgets、どこが面白い?
W3C Widgets、どこが面白い?ourmaninjapan
 
W3C Widgets: Why should I care?
W3C Widgets: Why should I care? W3C Widgets: Why should I care?
W3C Widgets: Why should I care? ourmaninjapan
 
Widgets in theory and in practice
Widgets in theory and in practiceWidgets in theory and in practice
Widgets in theory and in practiceourmaninjapan
 
Mobile web development without developing a mobile site
Mobile web development without developing a mobile siteMobile web development without developing a mobile site
Mobile web development without developing a mobile siteourmaninjapan
 
実際のウェブページコーディング
実際のウェブページコーディング 実際のウェブページコーディング
実際のウェブページコーディング ourmaninjapan
 
HTML5: New capabilities, new markup
HTML5: New capabilities, new markupHTML5: New capabilities, new markup
HTML5: New capabilities, new markupourmaninjapan
 
small 画面でも、 BIG 画面でも、 今すぐ使えるレスポンシブ活用術
small 画面でも、 BIG 画面でも、 今すぐ使えるレスポンシブ活用術small 画面でも、 BIG 画面でも、 今すぐ使えるレスポンシブ活用術
small 画面でも、 BIG 画面でも、 今すぐ使えるレスポンシブ活用術ourmaninjapan
 
スマートTVへの アプローチと制作
スマートTVへの アプローチと制作スマートTVへの アプローチと制作
スマートTVへの アプローチと制作ourmaninjapan
 
「Network Service Discovery API ができました!」 と言われた時
「Network Service Discovery API ができました!」 と言われた時「Network Service Discovery API ができました!」 と言われた時
「Network Service Discovery API ができました!」 と言われた時ourmaninjapan
 

More from ourmaninjapan (20)

テレビのウェブ開発:その1
テレビのウェブ開発:その1テレビのウェブ開発:その1
テレビのウェブ開発:その1
 
テレビのウェブ開発:その2
テレビのウェブ開発:その2テレビのウェブ開発:その2
テレビのウェブ開発:その2
 
テレビのウェブ開発:その3
テレビのウェブ開発:その3テレビのウェブ開発:その3
テレビのウェブ開発:その3
 
Developing for TV
Developing for TVDeveloping for TV
Developing for TV
 
HTML5概要、コードサンプル
HTML5概要、コードサンプルHTML5概要、コードサンプル
HTML5概要、コードサンプル
 
The status of living HTML (highlights)
The status of living HTML (highlights)The status of living HTML (highlights)
The status of living HTML (highlights)
 
How to read W3C specs
How to read W3C specsHow to read W3C specs
How to read W3C specs
 
HTML5: APIの活用事例 と 今後の広がり
HTML5: APIの活用事例 と 今後の広がりHTML5: APIの活用事例 と 今後の広がり
HTML5: APIの活用事例 と 今後の広がり
 
HTML5とデバイスの連携: 良いところ、悪いところ、未来のこと
HTML5とデバイスの連携: 良いところ、悪いところ、未来のことHTML5とデバイスの連携: 良いところ、悪いところ、未来のこと
HTML5とデバイスの連携: 良いところ、悪いところ、未来のこと
 
Web payments
Web paymentsWeb payments
Web payments
 
W3C Widgets、どこが面白い?
W3C Widgets、どこが面白い?W3C Widgets、どこが面白い?
W3C Widgets、どこが面白い?
 
W3C Widgets: Why should I care?
W3C Widgets: Why should I care? W3C Widgets: Why should I care?
W3C Widgets: Why should I care?
 
Widgets in theory and in practice
Widgets in theory and in practiceWidgets in theory and in practice
Widgets in theory and in practice
 
Mobile web development without developing a mobile site
Mobile web development without developing a mobile siteMobile web development without developing a mobile site
Mobile web development without developing a mobile site
 
実際のウェブページコーディング
実際のウェブページコーディング 実際のウェブページコーディング
実際のウェブページコーディング
 
HTML5: New capabilities, new markup
HTML5: New capabilities, new markupHTML5: New capabilities, new markup
HTML5: New capabilities, new markup
 
small 画面でも、 BIG 画面でも、 今すぐ使えるレスポンシブ活用術
small 画面でも、 BIG 画面でも、 今すぐ使えるレスポンシブ活用術small 画面でも、 BIG 画面でも、 今すぐ使えるレスポンシブ活用術
small 画面でも、 BIG 画面でも、 今すぐ使えるレスポンシブ活用術
 
スマートTVへの アプローチと制作
スマートTVへの アプローチと制作スマートTVへの アプローチと制作
スマートTVへの アプローチと制作
 
「Network Service Discovery API ができました!」 と言われた時
「Network Service Discovery API ができました!」 と言われた時「Network Service Discovery API ができました!」 と言われた時
「Network Service Discovery API ができました!」 と言われた時
 
Presentation Skills
Presentation SkillsPresentation Skills
Presentation Skills
 

testharness.js の基礎