SlideShare a Scribd company logo
テストを書こう
IH-14B-335-03 10406 井上幸亨郎 (Sachirou Inoue)
プログラムには仕樣 (API、UI) があります。
それをはっきり記述する、有効でひろく使え
る方法に、テストがあります。
もしプログラムが正しく実装されているなもしプログラムが正しく実装されているな
ら、ら、
このようなコードが動作するはず。このようなコードが動作するはず。
このような動作をするはず。このような動作をするはず。
この仕樣を、プログラムとして書きます。この仕樣を、プログラムとして書きます。
PHPで簡単なサービスをつくります。
テストについて。
PHPUnitでのテ
ストの書き方。
実現すべきサー
ビスの提示
TDDでサービスを実装 発表会
10時 17時15時11時
ふたり人組になり、ひとりがテストを書き、ふたり人組になり、ひとりがテストを書き、
それをみてもう一人がサービスを実装しまそれをみてもう一人がサービスを実装しま
す。一定時間で交代してください。す。一定時間で交代してください。
開発プロセスの授業がないので、TDDの
ほかにもGit (VMS) やカンバンなどのセ
ミナーをやってもいいかもしれませんね。

More Related Content

More from Sachirou Inoue

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

More from Sachirou Inoue (20)

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

Recently uploaded

ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
azuma satoshi
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
harmonylab
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
tazaki1
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
osamut
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
嶋 是一 (Yoshikazu SHIMA)
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
Toru Tamaki
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
Osaka University
 

Recently uploaded (7)

ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
 
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI