SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

「Agile 2018」レポート

アジャイル開発におけるテストとは? その未来とは何か?【Agile 2018】

Agile 2018参加レポート 第2回

  • X ポスト
  • このエントリーをはてなブックマークに追加

 世界最大級のアジャイル開発の祭典「Agile 2018」がアメリカのサンディエゴで開催されました。日本でもめずらしくなくなってきたアジャイル開発ですが、北米で開催されるこのイベントには、2000人を超える開発者、テスター、プロダクトマネージャ、プロジェクトマネージャなど、ソフトウェア開発に関わる人達が世界から集まってくるカンファレンスです。本稿では、「Testing & Quality」トラックのセッションを中心にレポートします。

  • X ポスト
  • このエントリーをはてなブックマークに追加

ebayのアジャイルテスティング

 UKのebayでHead of Software Testingとして活躍するDan Ashby氏のセッション「Testing in Agile」はその名のとおり、「アジャイル開発におけるテスト」を集約した内容でした。

 ソフトウェアテストとは何か? さまざまな解答がでてくる問いですが、一般的な解答は以下のようなものがあるはずです。

  • ソフトウェアが要件にマッチしているかをチェックすること
  • 予想どおりにソフトウェアが機能するかを確認すること

 しかし、本当にこれだけを「テスト」すればよいのでしょうか? テストというものを理解するためには、そして、それがアジャイル開発のどの部分にフィットするかを考えるためには、「INFORMATION」について考える必要があると氏は説明します。

Dan氏によるテスト戦略モデル

Dan氏によるテスト戦略モデル

 いったい情報にはどんな種類があるのでしょう。セッションでは以下のような情報に分類されていました。

  • 明確に分かる情報(Known Explicit Information)
  • 暗黙の情報(Tacit Information)
  • 気がついているけど分かっていない情報(Unknown that we are aware of)
  • 気がついていなくて分かってもいない情報(Unawareness of unknown)

 明確に分かる情報であれば、確実にテストでき、その確認もできます。テストケースに落としこめ、自動テストといったスクリプトも作れます。

 では、暗黙の情報についてはどうでしょう? この情報は暗黙知なので、探索テストなどで探さなければ見つかりません。気がついているけど分かっていない情報や、気がついてなくて分かってもいない情報も同じく、特定するために探さなければなりません。

 テストケースや自動テストのように、はっきり特定できるアプローチ(Assertive approach)も、特定できないため調査のようなアプローチも(Investigative approach)、どちらも大切であると氏は話します。

 テストケースに落とし込めるものだけテストしても、本来はやるべきたくさんのテストを見落としてしまうのです。そう考えると、テストケースを作成したり、自動化したりできる部分は、テストすべき領域の一部分でしかないことがよく分かります。

 あらためて、「アジャイル開発におけるテスト」とは何か。

 テストという活動がアジャイルプロセスのどの部分にフィットするのか? 氏は以下のキーワードにもとづき、すべてのプロセスにおいてテスト(調査)は可能であると話します。

  • Agility(アジリティー):調査を通じて発見した新しい情報に適応していく俊敏性のこと
  • Risks(リスク):リスクを特定するための調査。また、特定したリスクのさらなる調査
  • Continuous Testing(継続的テスト):新機能、アーティファクト(成果物)、UX/UIデザイン、コードデザイン、コード、コードの実行、CIパイプライン、リリースプロセス、アジャイルプロセスなど、それぞれのプロセスやアクティビティのなかで出てくるアイデアに対して継続的に実施すること

 Assertive approachのほかに、探索的テストなどのInvestigative approachを実施しつづけた結果どうなっていくのか? 継続的なテストから得られる「INFORMATION(情報)」を継続的に更新してゆき、さらに手に入る新しい情報に適応していきます。

 そして、DevOpsの継続的なプロセスの中のあらゆる局面で、テストは有効である、そしてそれこそが「アジャイル」におけるテストである。「テスト」が置き去りになりがちな業界の中で、氏が語るアジャイルテスティングにはとても説得力があるものでした。

 要件にマッチしているか? 予想通りに機能しているか? 従来型のテストをただするだけでは、テストというアクティビティそのものが死んでしまいます。よって、既存のフレームワークや手法に則りつつも、プロダクトを「INFORMATION(情報)」という新たなコンセプトで捉え直すことで、テストの可能性を押し広げてくれる、非常に有意義なセッションでした。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
リスクに立ち向かう探索テストとその手法

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
「Agile 2018」レポート連載記事一覧

もっと読む

この記事の著者

Agile 2018レポートチーム(株式会社メルカリ)(アジャイル ニセンジュウハチ レポートチーム)

菅原 史晴 QAエンジニア 木下 祐実 QAエンジニア 近藤 久志 QAエンジニア 藤原 大 Automation & QA グループ エンジニアリングマネージャ

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/11033 2018/08/11 09:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング