Enviar pesquisa
Carregar
Hokkaido.pm #11
•
0 gostou
•
6,090 visualizações
M
moznion
Seguir
Slides for Hokkaido.pm #11. Talking about software testing and documentation.
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 88
Baixar agora
Baixar para ler offline
Recomendados
ペアプログラミング ホントのところ
ペアプログラミング ホントのところ
Takuto Wada
テストコードをアプリケーションコードと同じ階層に置きたい
テストコードをアプリケーションコードと同じ階層に置きたい
Hiroshi Kikuchi
精神論によるいきいきとした組織づくりのご提案
精神論によるいきいきとした組織づくりのご提案
tod esking
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
Takuto Wada
概観テキストマイニング
概観テキストマイニング
tod esking
第11回モヤLT 男女ペアプログラミング合コンに行ってきた
第11回モヤLT 男女ペアプログラミング合コンに行ってきた
take4_k
TDD のこころ @ OSH2014
TDD のこころ @ OSH2014
Takuto Wada
『はじめてのClojure』勉強会#3 第7章:テスト、テスト、テスト
『はじめてのClojure』勉強会#3 第7章:テスト、テスト、テスト
makopi 23
Recomendados
ペアプログラミング ホントのところ
ペアプログラミング ホントのところ
Takuto Wada
テストコードをアプリケーションコードと同じ階層に置きたい
テストコードをアプリケーションコードと同じ階層に置きたい
Hiroshi Kikuchi
精神論によるいきいきとした組織づくりのご提案
精神論によるいきいきとした組織づくりのご提案
tod esking
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
Takuto Wada
概観テキストマイニング
概観テキストマイニング
tod esking
第11回モヤLT 男女ペアプログラミング合コンに行ってきた
第11回モヤLT 男女ペアプログラミング合コンに行ってきた
take4_k
TDD のこころ @ OSH2014
TDD のこころ @ OSH2014
Takuto Wada
『はじめてのClojure』勉強会#3 第7章:テスト、テスト、テスト
『はじめてのClojure』勉強会#3 第7章:テスト、テスト、テスト
makopi 23
モダン開発をかじってみる
モダン開発をかじってみる
al16030
Mizukiryu refactering-20110821
Mizukiryu refactering-20110821
Mizuki Yamanaka
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
Takuto Wada
テストの視点を活用した TDD アプローチの検討とその検証
テストの視点を活用した TDD アプローチの検討とその検証
Akira Ikeda
テスト駆動開発入門 - C4K Meetup#2
テスト駆動開発入門 - C4K Meetup#2
Masashi Shibata
CodeZineAcademy TDD実践講座PR資料
CodeZineAcademy TDD実践講座PR資料
Yasui Tsutomu
Tdd is really dead ?
Tdd is really dead ?
Akira Suenami
単体テストで工数を短縮する
単体テストで工数を短縮する
Wataru Terada
Windowsアプリテスト自動化 [Friendly+delphi]
Windowsアプリテスト自動化 [Friendly+delphi]
Tatsuya Ishikawa
20150715 『続・断捨離』TDDの心得編
20150715 『続・断捨離』TDDの心得編
nackypon
いつでも聞けるTDD入門 #TDDBC_NAGOYA
いつでも聞けるTDD入門 #TDDBC_NAGOYA
kyon mm
Hey It's Not My TDD!
Hey It's Not My TDD!
Yasui Tsutomu
Coderetreat
Coderetreat
YAMANE Toshiaki
自動テストの誤解とアンチパターン in 楽天 Tech Talk
自動テストの誤解とアンチパターン in 楽天 Tech Talk
kyon mm
自動テストとJenkinsの活用 公開版
自動テストとJenkinsの活用 公開版
baroqueworksdev
Introduction to Continuous Testing
Introduction to Continuous Testing
Atsuhiro Kubo
TDD のこころ
TDD のこころ
Takuto Wada
Tddのすゝめ
Tddのすゝめ
将 高野
20160326 第10回 Rad Studio 勉強会@Osaka
20160326 第10回 Rad Studio 勉強会@Osaka
Ryo Ohki
プログラムを作って飯を食うということ
プログラムを作って飯を食うということ
Funato Takashi
今年作ったもの2013 #hokkaidopm
今年作ったもの2013 #hokkaidopm
鉄次 尾形
Hokkaido.pmの未来
Hokkaido.pmの未来
Yoshihiro Sasaki
Mais conteúdo relacionado
Mais procurados
モダン開発をかじってみる
モダン開発をかじってみる
al16030
Mizukiryu refactering-20110821
Mizukiryu refactering-20110821
Mizuki Yamanaka
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
Takuto Wada
テストの視点を活用した TDD アプローチの検討とその検証
テストの視点を活用した TDD アプローチの検討とその検証
Akira Ikeda
テスト駆動開発入門 - C4K Meetup#2
テスト駆動開発入門 - C4K Meetup#2
Masashi Shibata
CodeZineAcademy TDD実践講座PR資料
CodeZineAcademy TDD実践講座PR資料
Yasui Tsutomu
Tdd is really dead ?
Tdd is really dead ?
Akira Suenami
単体テストで工数を短縮する
単体テストで工数を短縮する
Wataru Terada
Windowsアプリテスト自動化 [Friendly+delphi]
Windowsアプリテスト自動化 [Friendly+delphi]
Tatsuya Ishikawa
20150715 『続・断捨離』TDDの心得編
20150715 『続・断捨離』TDDの心得編
nackypon
いつでも聞けるTDD入門 #TDDBC_NAGOYA
いつでも聞けるTDD入門 #TDDBC_NAGOYA
kyon mm
Hey It's Not My TDD!
Hey It's Not My TDD!
Yasui Tsutomu
Coderetreat
Coderetreat
YAMANE Toshiaki
自動テストの誤解とアンチパターン in 楽天 Tech Talk
自動テストの誤解とアンチパターン in 楽天 Tech Talk
kyon mm
自動テストとJenkinsの活用 公開版
自動テストとJenkinsの活用 公開版
baroqueworksdev
Introduction to Continuous Testing
Introduction to Continuous Testing
Atsuhiro Kubo
TDD のこころ
TDD のこころ
Takuto Wada
Tddのすゝめ
Tddのすゝめ
将 高野
20160326 第10回 Rad Studio 勉強会@Osaka
20160326 第10回 Rad Studio 勉強会@Osaka
Ryo Ohki
プログラムを作って飯を食うということ
プログラムを作って飯を食うということ
Funato Takashi
Mais procurados
(20)
モダン開発をかじってみる
モダン開発をかじってみる
Mizukiryu refactering-20110821
Mizukiryu refactering-20110821
組織にテストを書く文化を根付かせる戦略と戦術
組織にテストを書く文化を根付かせる戦略と戦術
テストの視点を活用した TDD アプローチの検討とその検証
テストの視点を活用した TDD アプローチの検討とその検証
テスト駆動開発入門 - C4K Meetup#2
テスト駆動開発入門 - C4K Meetup#2
CodeZineAcademy TDD実践講座PR資料
CodeZineAcademy TDD実践講座PR資料
Tdd is really dead ?
Tdd is really dead ?
単体テストで工数を短縮する
単体テストで工数を短縮する
Windowsアプリテスト自動化 [Friendly+delphi]
Windowsアプリテスト自動化 [Friendly+delphi]
20150715 『続・断捨離』TDDの心得編
20150715 『続・断捨離』TDDの心得編
いつでも聞けるTDD入門 #TDDBC_NAGOYA
いつでも聞けるTDD入門 #TDDBC_NAGOYA
Hey It's Not My TDD!
Hey It's Not My TDD!
Coderetreat
Coderetreat
自動テストの誤解とアンチパターン in 楽天 Tech Talk
自動テストの誤解とアンチパターン in 楽天 Tech Talk
自動テストとJenkinsの活用 公開版
自動テストとJenkinsの活用 公開版
Introduction to Continuous Testing
Introduction to Continuous Testing
TDD のこころ
TDD のこころ
Tddのすゝめ
Tddのすゝめ
20160326 第10回 Rad Studio 勉強会@Osaka
20160326 第10回 Rad Studio 勉強会@Osaka
プログラムを作って飯を食うということ
プログラムを作って飯を食うということ
Destaque
今年作ったもの2013 #hokkaidopm
今年作ったもの2013 #hokkaidopm
鉄次 尾形
Hokkaido.pmの未来
Hokkaido.pmの未来
Yoshihiro Sasaki
運用とデータ分析の遠くて近い関係、ISUCONを添えて
運用とデータ分析の遠くて近い関係、ISUCONを添えて
SATOSHI TAGOMORI
できる!サーバレスアーキテクチャ
できる!サーバレスアーキテクチャ
azuma satoshi
僕と北海道とPerl、それとMakefileも。
僕と北海道とPerl、それとMakefileも。
azumakuniyuki 🐈
YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う
YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う
moznion
メールフォームからメールを送る近代的な方法 | YAPC::Kansai 2017 OSAKA
メールフォームからメールを送る近代的な方法 | YAPC::Kansai 2017 OSAKA
azumakuniyuki 🐈
〜ゲーム制作を始めてみよう〜 Kawaz入会希望者向けスライド
〜ゲーム制作を始めてみよう〜 Kawaz入会希望者向けスライド
Kohki Miki
ゲーム x リアル - Mont Blanc Pj. & LITTAI -
ゲーム x リアル - Mont Blanc Pj. & LITTAI -
hecomi
Technology for reduce of mistakes - うっかりをなくす技術
Technology for reduce of mistakes - うっかりをなくす技術
karupanerura
phpspecで始めるBDD
phpspecで始めるBDD
Yuuki Takezawa
C++用将棋ライブラリ"OpenShogiLib"の紹介
C++用将棋ライブラリ"OpenShogiLib"の紹介
Hiro H.
Currying in perl
Currying in perl
Masahiro Honma
理解したつもりになるGit入門
理解したつもりになるGit入門
Yoshihiro Sasaki
Using Dancer
Using Dancer
Yoshihiro Sasaki
YAPC::AsiaとHokkaido.pm
YAPC::AsiaとHokkaido.pm
Yoshihiro Sasaki
Games::* - Perlで 「ゲーム」しよう #hokkaidopm
Games::* - Perlで 「ゲーム」しよう #hokkaidopm
鉄次 尾形
これからのPerlプロダクトのかたち(YAPC::Asia 2013)
これからのPerlプロダクトのかたち(YAPC::Asia 2013)
goccy
Plack::Request with Encoding
Plack::Request with Encoding
moznion
YAPCレポートの舞台裏
YAPCレポートの舞台裏
Masahiro Honma
Destaque
(20)
今年作ったもの2013 #hokkaidopm
今年作ったもの2013 #hokkaidopm
Hokkaido.pmの未来
Hokkaido.pmの未来
運用とデータ分析の遠くて近い関係、ISUCONを添えて
運用とデータ分析の遠くて近い関係、ISUCONを添えて
できる!サーバレスアーキテクチャ
できる!サーバレスアーキテクチャ
僕と北海道とPerl、それとMakefileも。
僕と北海道とPerl、それとMakefileも。
YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う
YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う
メールフォームからメールを送る近代的な方法 | YAPC::Kansai 2017 OSAKA
メールフォームからメールを送る近代的な方法 | YAPC::Kansai 2017 OSAKA
〜ゲーム制作を始めてみよう〜 Kawaz入会希望者向けスライド
〜ゲーム制作を始めてみよう〜 Kawaz入会希望者向けスライド
ゲーム x リアル - Mont Blanc Pj. & LITTAI -
ゲーム x リアル - Mont Blanc Pj. & LITTAI -
Technology for reduce of mistakes - うっかりをなくす技術
Technology for reduce of mistakes - うっかりをなくす技術
phpspecで始めるBDD
phpspecで始めるBDD
C++用将棋ライブラリ"OpenShogiLib"の紹介
C++用将棋ライブラリ"OpenShogiLib"の紹介
Currying in perl
Currying in perl
理解したつもりになるGit入門
理解したつもりになるGit入門
Using Dancer
Using Dancer
YAPC::AsiaとHokkaido.pm
YAPC::AsiaとHokkaido.pm
Games::* - Perlで 「ゲーム」しよう #hokkaidopm
Games::* - Perlで 「ゲーム」しよう #hokkaidopm
これからのPerlプロダクトのかたち(YAPC::Asia 2013)
これからのPerlプロダクトのかたち(YAPC::Asia 2013)
Plack::Request with Encoding
Plack::Request with Encoding
YAPCレポートの舞台裏
YAPCレポートの舞台裏
Semelhante a Hokkaido.pm #11
10分でわかるDevOps
10分でわかるDevOps
Gosuke Miyashita
DevOps とは何か 何であるべきか
DevOps とは何か 何であるべきか
Gosuke Miyashita
DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃
Teruo Adachi
参加者アンケートまとめ&よげんの書
参加者アンケートまとめ&よげんの書
英明 伊藤
20120927 findjob4 dev_ops
20120927 findjob4 dev_ops
ume3_
日本語Puppet demystifying dev ops in the enterprise handout
日本語Puppet demystifying dev ops in the enterprise handout
Puppet
【BS9】モダン & クラウドネイティブなソフトウエア開発はじめよう ~ Azure DevOps & GitHub を使ったアプリ開発 DevOps 101
【BS9】モダン & クラウドネイティブなソフトウエア開発はじめよう ~ Azure DevOps & GitHub を使ったアプリ開発 DevOps 101
日本マイクロソフト株式会社
Modeling by Verb
Modeling by Verb
ChangeVision
エンプラでDevRelコミュニティをゼロから作ってみた
エンプラでDevRelコミュニティをゼロから作ってみた
Mamoru Ohashi
TDD、ペアプログラミングのすすめ
TDD、ペアプログラミングのすすめ
Kyota Yasuda
PFIセミナー 2013/02/28 「プログラミング言語の今」
PFIセミナー 2013/02/28 「プログラミング言語の今」
Preferred Networks
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
Developers Summit
実践的な設計って、なんだろう?
実践的な設計って、なんだろう?
増田 亨
ソフトウェア開発の現場風景
ソフトウェア開発の現場風景
Koichi ITO
DevOps、その前に
DevOps、その前に
Yuta Matsumura
イマドキのソフトウェア開発プロジェクトの流れ
イマドキのソフトウェア開発プロジェクトの流れ
Takashi Takebayashi
これからのOpenShiftの話をしよう
これからのOpenShiftの話をしよう
Kazuto Kusama
DevOps勉強会
DevOps勉強会
Shuntaro Saiba
開発者は仕事でリーダブルなコードを書けるのか?
開発者は仕事でリーダブルなコードを書けるのか?
Kouhei Sutou
Xpjug lt-20210918
Xpjug lt-20210918
Takeshi Hirosue
Semelhante a Hokkaido.pm #11
(20)
10分でわかるDevOps
10分でわかるDevOps
DevOps とは何か 何であるべきか
DevOps とは何か 何であるべきか
DevOpsが引き金となるインフラエンジニアの進撃
DevOpsが引き金となるインフラエンジニアの進撃
参加者アンケートまとめ&よげんの書
参加者アンケートまとめ&よげんの書
20120927 findjob4 dev_ops
20120927 findjob4 dev_ops
日本語Puppet demystifying dev ops in the enterprise handout
日本語Puppet demystifying dev ops in the enterprise handout
【BS9】モダン & クラウドネイティブなソフトウエア開発はじめよう ~ Azure DevOps & GitHub を使ったアプリ開発 DevOps 101
【BS9】モダン & クラウドネイティブなソフトウエア開発はじめよう ~ Azure DevOps & GitHub を使ったアプリ開発 DevOps 101
Modeling by Verb
Modeling by Verb
エンプラでDevRelコミュニティをゼロから作ってみた
エンプラでDevRelコミュニティをゼロから作ってみた
TDD、ペアプログラミングのすすめ
TDD、ペアプログラミングのすすめ
PFIセミナー 2013/02/28 「プログラミング言語の今」
PFIセミナー 2013/02/28 「プログラミング言語の今」
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
夏サミ2013 基調講演 「DevOpsは開発現場とビジネスの間に何を生むか?」(新野淳一氏)
実践的な設計って、なんだろう?
実践的な設計って、なんだろう?
ソフトウェア開発の現場風景
ソフトウェア開発の現場風景
DevOps、その前に
DevOps、その前に
イマドキのソフトウェア開発プロジェクトの流れ
イマドキのソフトウェア開発プロジェクトの流れ
これからのOpenShiftの話をしよう
これからのOpenShiftの話をしよう
DevOps勉強会
DevOps勉強会
開発者は仕事でリーダブルなコードを書けるのか?
開発者は仕事でリーダブルなコードを書けるのか?
Xpjug lt-20210918
Xpjug lt-20210918
Mais de moznion
Static analysis for perl
Static analysis for perl
moznion
Yet Another Perl Cooking
Yet Another Perl Cooking
moznion
Jesque robust-worker-pool
Jesque robust-worker-pool
moznion
Hachioji persec
Hachioji persec
moznion
Inner world of Perl::Lint
Inner world of Perl::Lint
moznion
命名の話
命名の話
moznion
Hachiojipm 44
Hachiojipm 44
moznion
Perl::Lint is over, for the present
Perl::Lint is over, for the present
moznion
Perl::Lint - Yet Another Perl Source Code Linter
Perl::Lint - Yet Another Perl Source Code Linter
moznion
Hachioji pm 41
Hachioji pm 41
moznion
Hachioji.pm 40
Hachioji.pm 40
moznion
Hachioji.pm #39
Hachioji.pm #39
moznion
Talking About Japanese Area Code of Phone
Talking About Japanese Area Code of Phone
moznion
Hachioji.pm 38
Hachioji.pm 38
moznion
Hachiojipm 36
Hachiojipm 36
moznion
Net stalking with-lastfm
Net stalking with-lastfm
moznion
Takao.mt 2013
Takao.mt 2013
moznion
Perl beginners #08
Perl beginners #08
moznion
Hachiojipm 28
Hachiojipm 28
moznion
Hachiojipm 26
Hachiojipm 26
moznion
Mais de moznion
(20)
Static analysis for perl
Static analysis for perl
Yet Another Perl Cooking
Yet Another Perl Cooking
Jesque robust-worker-pool
Jesque robust-worker-pool
Hachioji persec
Hachioji persec
Inner world of Perl::Lint
Inner world of Perl::Lint
命名の話
命名の話
Hachiojipm 44
Hachiojipm 44
Perl::Lint is over, for the present
Perl::Lint is over, for the present
Perl::Lint - Yet Another Perl Source Code Linter
Perl::Lint - Yet Another Perl Source Code Linter
Hachioji pm 41
Hachioji pm 41
Hachioji.pm 40
Hachioji.pm 40
Hachioji.pm #39
Hachioji.pm #39
Talking About Japanese Area Code of Phone
Talking About Japanese Area Code of Phone
Hachioji.pm 38
Hachioji.pm 38
Hachiojipm 36
Hachiojipm 36
Net stalking with-lastfm
Net stalking with-lastfm
Takao.mt 2013
Takao.mt 2013
Perl beginners #08
Perl beginners #08
Hachiojipm 28
Hachiojipm 28
Hachiojipm 26
Hachiojipm 26
Hokkaido.pm #11
1.
Hokkaido.pm 🍣x11 ブログ炎上 @moznion from Hachioji.pm
2.
@moznion 大学院生 (退学失敗) ソフトウェアエンジニア (アルバイト)
3.
今年の流行語
4.
5.
ではなくて
6.
DevOps
7.
Dev🔫Ops or Ops🔫Dev
8.
Dev🔫Ops or Ops🔫Dev
9.
Dev🔫Ops or Ops🔫Dev Dev💕Ops Dev🍣Ops Dev🍺Ops
10.
DevとOpsが協調
11.
めでたい!
12.
他に協調出来そうな 概念は無いだろうか
13.
例えば TestとDocumentの関係
14.
Testとは?
15.
ソフトウェアの正しい動作を 記述・表現・保証するもの
16.
Documentとは?
17.
正しいソフトウェアの 動作を定義・表現するもの
18.
つまりTestもDocumentも ソフトウェアの正しい動作に 着目している
19.
DocumentとTestは 距離が近い
20.
協調可能ではないか?
21.
協調することによる メリット
22.
Documentの 不整合を防げる 破滅しない
23.
Documentの 陳腐化からの卒業
24.
DocumentとTestを それぞれ書くよりも コストを減らせる(かも)
25.
アプローチ
26.
1
27.
Documentから Testを生成する
28.
2
29.
Testから Documentを生成する
30.
第Ⅰ部
31.
Documentから Testを生成する
32.
Documentがそのまま Testと化すので 陳腐化を防げる
33.
Documentを書く作業と Testを書く作業が 分離しない
34.
しかし
35.
難しい
36.
実現しようとすると Documentが 冗長になる傾向
37.
e.g. javadoc
38.
Documentを書く コストが格段に 跳ね上がる
39.
そのコストはDocumentとTest それぞれ分離して書いた時の コストと比較してどちらが高い?
40.
また, Documentから 生成するテストケースは 適切だろうか?
41.
etc etc…
42.
多分, Documentから Testを生成するのは あまり良い方法ではない
43.
では生成するのを やめてはどうか
44.
DocumentとTestを 同居させるという手法
45.
e.g. DocTest (Python) Test::Inline (Perl) power-doctest
(JS)
46.
今回書いたやつ
47.
Test::Synopsis::Expectation https://metacpan.org/release/Test-Synopsis-Expectation https://github.com/moznion/Test-Synopsis-Expectation
48.
CPANモジュールの Documentの中でも 非常に重要なSYNOPSIS
49.
そのSYNOPSISを Testする
50.
SS
51.
SYNOPSISの中に テストケースを 同居させる
52.
可読性もそこそこ高いので 人間が読んでも理解できる
53.
もちろんDocumentも 陳腐化しない
54.
Documentを書くと Testも増えるという思想
55.
割と良いのではないか
56.
Documentから Testを生成する DocumentとTestを 同居させる
57.
第Ⅰ部完
58.
第Ⅱ部
59.
Testから Documentを生成する
60.
r7kamura氏のautodoc
61.
衝撃!!!
62.
autodoc?
63.
JSON APIのTestを書くと APIのDocumentが 生成されるやつ
64.
65.
66.
Testで動作が正しいことが 保証されているものが そのままDocumentになる
67.
正しいドキュメントが 必然的に得られる
68.
APIとか代謝が早くて Documentが追いつかない ケースが多い
69.
ただ, 健全な開発ならば APIに対するTestは 存在しているはず
70.
そのTestからDocumentを 生成することで Docが遅れなくなる
71.
で, 書いた
72.
Test::JsonAPI::Autodoc https://metacpan.org/release/Test-JsonAPI-Autodoc https://github.com/moznion/Test-JsonAPI-Autodoc
73.
細かな差異はあれど, ほぼautodocのport
74.
75.
76.
また, 似たコンセプトのものに Shodoというのがあり…
77.
78.
後ほど説明が あると思います
79.
第Ⅱ部完
80.
まとめ
81.
TestとDocumentは 近い存在 協調できると思う
82.
協調すると, ドキュメントの破滅 などから救われる
83.
TestとDocumentを 同居させる方法と TestからDocumentを 生成する方法は 割と良いのではないか
84.
双方の使い分けは ドメインに応じて
85.
という感じ
86.
2013 DevOps ⇩ 2014 DocTest
87.
Doc🍣Test
88.
Any Q?
Baixar agora