「テスト自動化とテスト駆動開発」講演資料

クライアント企業から依頼をいただいて、「テスト自動化とテスト駆動開発」という講演をしました。その資料を公開してよいことになったので、(若干手を入れて)公開しています。

 

speakerdeck.com

以下のような内容です。 

ねらい

  • 主に顧客向けの業務システム(B2B)を開発している、
  • プロジェクトベース、ウォーターフォールプロセスが主流の開発現場や運用保守の現場にいる、
  • マネージャーのかたに向け、
  • テスト自動化が自分たちのメリットになると納得してもらい、
  • その道筋として2つのアプローチを紹介して、
  • 組織的・長期的に取り組む価値を感じてもらう

アジェンダ

  1. 自動化したい理由
  2. 必要な人材を考える
  3. テスト自動化の端緒 ~テスト駆動開発について~
  4. 深めつつ広げる鍵 ~ペアプログラミングについて~
  5. 見る夢について

質問と回答

また、講演の際に質問をたくさんいただきました。回答をテキストで書いたものを、こちらも公開しています(いきます)。質問11件に対して、Wordで書いていたら21ページ分になったので分割しています。

最初のツイートが400いいね超という、ちょっとびっくりするくらい見てもらえているようです。

 

ここから下は、資料公開時の補足・言い訳です。

講演全体の構成として以下のような話の流れです。現在テストの自動化ができていない、稼働中システムのカバレッジという意味でも、自動化できるスキルが足らないという意味でも、できていないという状況にある。テスト自動化を推進しようと思ったとき、テスト駆動開発に取り組んで少しずつテストを書きながら、メンバーの学習と実践の場を作っていく、という作戦を提案しています。

別の作戦としてはSETの軍団に一気に自動化してもらう(雇用は難しいと思うんだけど発注はできそう)とか、自分たちでやるにしてもE2Eテストの自動化を中心にするという方法も、あると思います。そもそもアーキテクチャから変えればいい、みたいな話もあり得ます。このときはテスト駆動開発は関係なさそうです。

今回テスト駆動開発作戦を選んで提案した理由は、以下のようになるかなと考えています。

  • 中の人が、テスト駆動開発を推進したいというパッションを持っている。組織で推進する上ではとっても重要なファクター
  • 新技術・動向へのキャッチアップの力は組織全体で見たとき強くなく、安定とか効率化への力が強い。雇用も比較的安定している
  • 長期的に組織を強くしたいという、発注者の方の思い
  • テスト駆動開発の話ならできる。他の作戦なら、他の人が話すべき

逆に、そういう状況・前提・背景を取っ払った上でテスト自動化とかテスト駆動開発とかペアプログラミングとかを考えたら「今どきはこうだろー!」とか「こっちのほうが最強!」とか「やっとむてめーわかってないな!」とか、そういうツッコミがたくさんあるんじゃないかとも、思います。たとえば、モブプロじゃなくペアプロを取り上げたのは中の人の希望をいれた結果だったりします(モブプロいいよね。ペアプロもいいんだけど)。

そういうツッコミは歓迎ですし(あんまり痛くしないでくださいね)、意見や議論が出てきて盛り上がったりしたら、また嬉しいなあとも思います。