SlideShare a Scribd company logo
Test like a team.
.。oO(さっちゃんですよヾ(〃l _ l)ノ゙☆)
「Testは對話」
Test code.
test “鳴く” = do
meow cat
Application code.
meow :: Cat -> IO ()
meow cat = do
print “Meow”
Application codeはuserの環境で動く。
Test codeはuserの環境で動かない。
Application codeはuserの環境で動く。
Test codeはuserの環境で動かない。
?それはそうだが、
切り口はそれか?
Application codeは育つもの。
Test codeはそれを育てるもの。
Old `testing` flow.
(i.e. regression test, proof)
Application code
Test code
Test code
Agile flow. Application codeTest code
何をしているの?
これでよくない?
難し過ぎ
Like pair programming.
Guido Gloor Modjib
“Pair Programming”
(CC BY-NC-ND 2.0)
https://flic.kr/p/qAPhza
Test code. Application code.
meow :: Cat -> IO ()
Test code. Application code.
meow :: Cat -> IO ()
meow cat = do
print “Meow”
實裝します
Test code.
test “鳴く” = do
assert $ meow cat
Application code.
meow :: Cat -> IO ()
meow cat = do
print “Meow”
呼び出してみるよ
Test code.
test “鳴く” = do
assert $ meow cat
test “鳴き声” do
assert (“Meow” == whatMeow cat)
Application code.
meow :: Cat -> IO ()
meow cat = do
print $ whatMeow cat
whatMeow :: Cat -> String
whatMeow cat = “Meow”
難し過ぎんよ
任せるよ
何て鳴くの?
その行が
何をしてゐるか理解し、
何をすべきか育てる。
「Testは對話」
https://speakerdeck.com/ne_sachirou/librarywozuo-rutoyun-hukai-fa-
shou-fa
Can you share any tips or techniques you have found useful in
uncovering bugs?
I suppose the biggest tip would be to become a better programmer.
In particular, study what functions that programs are calling, and
ensure that the calling code is following the rules of those functions
100%.
(Theo de Raadt, of OpenBSD)

More Related Content

PDF
Introduce Groovy 2.3 trait
PPT
wankuma #28
PDF
Groovy Shell Scripting 2015
PDF
Groovy Bootcamp 2015 by JGGUG
PDF
Java開発の強力な相棒として今すぐ使えるGroovy
PPTX
契約プログラミング
ODP
Tests and bugreports
PDF
Angularを使ってみる実例いくつか (2015/4/29 GDGKobe)
Introduce Groovy 2.3 trait
wankuma #28
Groovy Shell Scripting 2015
Groovy Bootcamp 2015 by JGGUG
Java開発の強力な相棒として今すぐ使えるGroovy
契約プログラミング
Tests and bugreports
Angularを使ってみる実例いくつか (2015/4/29 GDGKobe)

What's hot (13)

PDF
Indy(Invokedynamic) and Bytecode DSL and Brainf*ck
PPTX
Retrofit2 &OkHttp 
でAndroidのHTTP通信が快適だにゃん
PPTX
Code Contracts in .NET 4
KEY
Java One 2012 Tokyo JVM Lang. BOF(Groovy)
PDF
もしトラ
PDF
Androidアプリのリバースエンジニアリング
PDF
Griffon10 in groovy_fx
PPT
第5回勉強会
PDF
Use JWT access-token on Grails REST API
PDF
FlexUnit4とMockitoFlex
PPTX
Code Contracts の紹介
PDF
Inside Frontend 2 #insideFE
PDF
関西Php勉強会のlimeの話
Indy(Invokedynamic) and Bytecode DSL and Brainf*ck
Retrofit2 &OkHttp 
でAndroidのHTTP通信が快適だにゃん
Code Contracts in .NET 4
Java One 2012 Tokyo JVM Lang. BOF(Groovy)
もしトラ
Androidアプリのリバースエンジニアリング
Griffon10 in groovy_fx
第5回勉強会
Use JWT access-token on Grails REST API
FlexUnit4とMockitoFlex
Code Contracts の紹介
Inside Frontend 2 #insideFE
関西Php勉強会のlimeの話
Ad

Similar to Test like a team. (20)

KEY
GroovyなAndroidテスト #atest_hack
PDF
java-ja TDD 2nd
PDF
はこだてIKA 第4回勉強会 単体テスト
PDF
第4回勉強会 単体テストのすすめ
PPTX
5minQues - SWET近況報告
ODP
Introduction of Python
PDF
Ruby test double
PDF
SeasarCon 2009 White TDD
PDF
Tokyor14 - R言語でユニットテスト
PPTX
競プロでGo!
PDF
Java/Androidセキュアコーディング
PDF
Introduction to Continuous Test Runner MakeGood
PDF
テスト駆動で行うネットワーク自動化のすすめ
PDF
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
PDF
TDDの原理 ~ スペック・ファースト
PDF
[iOS 8] 測れる!パフォーマンス
PPTX
ガイオプライベートセミナー2012秋(坂本)
PPT
ユニットテスト 1日目
PDF
オープンソースで作るスマホ文字認識アプリ
GroovyなAndroidテスト #atest_hack
java-ja TDD 2nd
はこだてIKA 第4回勉強会 単体テスト
第4回勉強会 単体テストのすすめ
5minQues - SWET近況報告
Introduction of Python
Ruby test double
SeasarCon 2009 White TDD
Tokyor14 - R言語でユニットテスト
競プロでGo!
Java/Androidセキュアコーディング
Introduction to Continuous Test Runner MakeGood
テスト駆動で行うネットワーク自動化のすすめ
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
TDDの原理 ~ スペック・ファースト
[iOS 8] 測れる!パフォーマンス
ガイオプライベートセミナー2012秋(坂本)
ユニットテスト 1日目
オープンソースで作るスマホ文字認識アプリ
Ad

More from Sachirou Inoue (20)

PDF
Elixir on Containers
PDF
發言の超越論的な根拠
PDF
faastCrystal
PDF
人工言語作成を樂しむ者の爲の言語學
PDF
人工言語を作るゆるやかな道
PDF
FaaStRuby
PDF
DI is for us?
PDF
How to make a spaghetti
PDF
Why we update our oss dependencies.
PDF
Phoenix at scale
PDF
Vivaldi #cd3437
PDF
外傷的Elixir
PDF
勝手に作ったものたち
PDF
PDF
ActiveHash
PDF
boilerplate react
PDF
ElixirでNode.jsを倒す
PDF
大勢でピンポンできるのは、だれ?
PDF
最速で最速のRuby擴張を作る
PDF
J言語を讃えた
Elixir on Containers
發言の超越論的な根拠
faastCrystal
人工言語作成を樂しむ者の爲の言語學
人工言語を作るゆるやかな道
FaaStRuby
DI is for us?
How to make a spaghetti
Why we update our oss dependencies.
Phoenix at scale
Vivaldi #cd3437
外傷的Elixir
勝手に作ったものたち
ActiveHash
boilerplate react
ElixirでNode.jsを倒す
大勢でピンポンできるのは、だれ?
最速で最速のRuby擴張を作る
J言語を讃えた

Test like a team.