TDDや自動化について色々話した
- mikantsuki
- 10180
- 0
- 41
- 4
発端はこのあたりから?(時系列的な意味で、太田さんは自動化が中心)
井芹さんも書いていたようになぜ日本にはテスト自動化スペシャリストがここまで少ないのか。いや、開発者がやっちゃうのかとどっかで議論したい。デブサミ後の囲む会できょんさんとかなあ。
2012-02-02 00:06:02@oota_ken 毎年、新しく入ってきた卒論生に自動テスト環境の構築をさせてみると、しみじみ大変そうだなぁと実感できます。基礎知識がないとけっこうはまるみたいねぇ
2012-02-02 00:16:28@mikantsuki 手動のテストシナリオそのままじゃ実はテスト自動化できないってところから嵌まるところが多いですね。機能テストだと。
2012-02-02 00:18:04@oota_ken まあ、学生レベルだと、それ以前の技術でつまづきますね(だから勉強するんだけど) テスト設計とかの話はまたさらに上級ですなぁ
2012-02-02 00:20:42@mikantsuki ああなるほど・・・自動化は結局対象となるプログラムの設計がついにあるので実は高いスキルが要求される仕事・・・
2012-02-02 00:22:42TDDは設計しないというのは都市伝説?
なんとなく思ったけど、TDDを「業務で普通に使えるレベル」な人ってどのくらいいるのだろう。"普通に使える"は、ユニットテストの書き方で手間取らない、テストファーストでちゃんと書く、手動テストの確認時間とほぼ同じ(もしくは手動より速い)・・・などで
2012-02-01 23:57:33自分の場合、まだテストファーストで書けてないし、テスト書くときもプロダクトコード書くのと違って、テスト特有の事も考えないといけないので、意外と手間取る。今は、手動テストで確認が大変→補助でユニットテストみたいな感じだな・・・
2012-02-02 00:04:09TDDでも設計は必要。「TDDだから、とりあえずコード書いてみて、テストがあるからリファクタリングで綺麗にすればいいよ!」とかは幻想。ウォーターフォールで要求定義後に仕様が変わらないと同じくらい幻想。
2012-02-02 00:13:02個人的には、「テストファースト」という言葉はなんか中途半端だと思う。コードを書き始める瞬間にはそこまでに「前提」があり、その前提の度合いによっては、テストから書き始めたって誰も得しない場合があると思う。前提には設計やノウハウ、フレームワーク、スキル、コスト等色々含むイメージ。
2012-02-02 00:08:38コーディング規約だって、守らないといけない理由を常に説明できなければならないのです。説明できないものなどなくしてしまえばよい。
2012-02-02 00:55:43ルールがある理由を説明できるから、変えることができるわけですよ。大体において、僕らの仕事はそういう仕事でしたよね。
2012-02-02 01:13:40他の人のTDD見た経験があまりないから、なんとも言えないけど・・・。ただ自分は「テストで保護されてれば、後から仕様変更あっても対応できる」「とりあえず仕様をテストで書いてみよう」みたいな幻想に取り憑かれてた。
2012-02-02 00:26:17あと、テストコードは上手く書かないとむしろ仕様変更の時に足引っ張る事になりかねない。環境に依存するテスト、他のテストに依存するテスト、テスト対象のメソッド以外の仕様変更でfailするテスト・・・etc
2012-02-02 00:33:00そもそも、設計できないとTDDやりきれないと思う。テストリスト作れないし、テストコードから次のテスト導いたりも出来ない。続かないから、せいぜいブツ切れのテストファーストになるんじゃないかなー、なんて。
2012-02-02 00:24:53元々テストファーストはXPのプラクティスのひとつでしかなくて、XPではテストファーストだけじゃなく全プラクティスをすることが要請されてて、その中には要求・設計のためのプラクティスが別にあったわけで、切り出して万能ツールのように言うのはそもそもおかしい
2012-02-02 00:24:45TDDを切り出したことについて。
佐賀大学工学系研究科知能情報システム学専攻で講師をしてます。 ネットでは長くみかままでやってて、昔CVSやCppUnitの本とか書いたこともありました(とっくの昔に絶版ですが)。最近はJaSST東京とかJaSST九州の実行委員とかやってますです、はい。