月曜日までに考えておきます

ITネタとゲームネタ中心に興味のあること色々書きます。

Testing Casual Talks#1に参加してきました

DeNAさんで7/24(水)に行われた"Testing Casual Talks#1"という勉強会に参加してきました。

テスト自動化やTDDに関する発表が行われた勉強会でした。100人以上参加者いましたし、ustreamによる発表も行われて盛大な感じでした。発表は次のような内容でした。

Software Engineer in Testをやって思ったこと by @ikasam_a さん

主催者 @ikasam_a さんによる発表。前職も含めてやってきたことと、D社でやっていること。実は彼が前職でされていたことと今すごい関わりあるんですけど、まだ面識なかったりします。

SWET(Software Engineer in Test)という役割でDeNA社で活躍中

  • テストのフレームワークを作ったり
  • テスト環境を作ったり
  • テストを書いたり

Plolicy

  • テスターではなくエンジニアとして
  • グレーボックスのテスト(UIはユーザーとして触るけど、内部構造のチェック(DBのデータとか)はホワイトとして触る、みたいなことかな?)
  • コードを綺麗に保つ
  • DevelopとTestの距離をなくす
  • エンドツーエンドのテスト

スライド

Software Engineer in Test at DeNA

How to make easy and casual CI management in COOKPAD by @mrknさん

クックパッドさんの発表。いつもどおりレベルの高い発表なんですが、発表内にあった1つのRailsアプリになっててmodel増え続ける問題を抱えているのでmodelをAPIに分割します、というのはすでに今の自分の会社のプロジェクトでやっていることだったので、やはり自社にいるRESTの重鎮のあの方は凄いんだなぁと感じました。

modelが増え続ける問題を抱えている

  • model 861=> 988
  • Feature specs 17381 => 19915

Ruby 2.0.0-p247 にしたら早くなった

  • テストの実行時間、Rubyがたまたま速くなっただけ
  • テストが増え続ける問題はなにも解決していない
  • One large monolithic Rails application => Multiple Rails applications sharing models via API

How to manage CI?

  • おむきんす
  • 現在は2人で支えている
  • 増えたら面倒見れない
  • WhiteSnakeという設定ファイルからJenkinsJobを作るアプリ作りました => スゲー

スライド

How to make easy and casual CI management in COOKPAD // Speaker Deck

私にとってのテスト by @t_wadaさん

TDDおじさんt-wadaさんの発表。エモーショナル枠。

  • 品質とは誰かにとっての価値である。 => お、おう
  • 「私達には、何か「良いもの」を醜能力が備わっている」

TDDの文脈での良いテストとは

  • "F.I.R.S.T" (CleanCode)
    • 高速、独立、再現性、自己検証可能、適時性
  • A-TRIP(達人プログラマー)
    • 自動、徹底、繰り返し可能、独立、専門的
  • どちらでも言われているのは Repeatable Independent

才能と技術、TDDの話

  • テストでは品質は上がらないよ、品質を上げるのはプログラミングです。
  • テストを書かない matz
  • 普通の人がいきなり正解にたどり着くのは難しいので、テストを書く=>変化に強くする=>変化して正解にたどり着く
    • TDDとは"悪あがき"
    • あきらめずに改善したい
    • 自分のコードを嫌いたくない

スライド

私にとってのテスト

Casual CI Server @r7kamuraさん

クックパッドさんのすごい若手、中村さんがCIサーバをRails4で実装した話。 すごい夢が広がる話。

Jenkins

  • Java
  • 若者っぽくない・・・

Altria

  • Server + Worker + Cron
  • Rails4, Redis, MySQL
  • HTML view + JSON REST API
  • Plugin as a gem

スライド

Casual CI Server // Speaker Deck

DevQUT by @snskさん

名古屋から来たお二人による発表。開発と品質部門の壁を壊そうという話で、最初の@ikasam_aさんの話ともつながるところがありますね。

  • 品質保証 => 重たい感じ
  • じゃあ軽くすればいいのか
    • ムダなことはしたくない
  • 壁を壊そう
    • 開発、品質
  • Communitaization(コミュニティ化する)
    • DevQUT
  • Dev + Q
    • 開発者とQAの融合
  • QAテスティングギャザリング シーズン1というのを作った。

スライド

2013-05-11 - tokyo Software Testing Day OUT,

serverspecによるテスト駆動サーバ構築 + CI by mizzy(@gosukenator)さん

最近Buzzってるserverspec、の作者であるmizzyさんによる発表。 ライブコーディング中心で、Dockerの凄さも見れたのでよかったです。ちょうど会社で月曜日にserverspecのコードを読むということもやっていたので頭に入ってきてよかった。

  • Serverspecデモ
  • ci
    • Dockerを使用 => 速い!
    • Altria

まとめ

自動テストの話でこれだけ人が集まりましたし、TDDやCIは前提で、さらにその先を目指すような話だったのでいよいよ自動テスト、CIは行なって当たり前の文化になってきた感じがありますね。

昨日、会社の新人と話す機会があって学生時代はテストを書いたことがないという話をしていたのですが、入社してテストコードを書くという文化のところに配属されるのは幸せなことだなぁと思いました。私の新人の頃を思い出すと、Excelで作られたテスト表を渡されて・・・ウウッ。 若手にもテスト自動化、CIの価値を伝えて成長を促していきたいですね。

あと懇親会は豪華でした。寿司出たし、フリードリンクのアルコールが。アリガタヤ。

Untitled