海外の先進的企業の事例を基にテスト自動化に使われる手法を解説する本連載。第1回は、アジャイル開発において単体テストを検証する「ミューテーションテスト」について。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
今の時代に「海外に学ぶ」というタイトルは反感を覚える方がいるかもしれませんが、残念ながら日本のソフトウェア企業と「GAFAM」(Google、Amazon.com、Facebook、Apple、Microsoft)との技術力の差は大きいです。それは日本の技術者が米国などの海外の技術者より劣っているという話ではなく、企業の利益の差が大きいと思っています。例えば、Googleの利益は約4兆円で、利益率約20%、1人当たりの利益は約7000万円、Microsoftの利益は約6兆円、営業利益率 約40%、1人当たりの利益は約4000万円です。
筆者のいたソニーの利益は約1兆円、営業利益率は10%、1人当たりの利益は1000万円。やはりもうかっていれば、技術(品質技術も含め)に大きな投資ができます。残念ながらソニーにいたころに使えた品質に関する研究開発費は、その前にいたMicrosoftほど潤沢ではありませんでした。
しかし今の時代、GAFAMの成果は自社の研究開発費がなくても使えます、多くの成果はWebや専門誌で公開されています。他人のふんどしではないですが、少し先端的な品質管理のための技術を本連載で解説していきます。
現代のソフトウェア開発はウオーターフォールからアジャイルへの流れは止めるとこはできなさそうです。その流れの中でソフトウェアテストという分野は大きな転換点を迎えていると思います。
ウオーターフォールモデルでのソフトウェアのテストの基本はVモデルです。要求仕様があれば、要求仕様が書かれた段階でテスト(レビューをして要求仕様の間違いを見つける)をする。詳細設計とコーディングが終われば単体テストをするといったようなものです。実にうまく分割され、そのステージごとの品質保証スタイルも洗練されていました。品質保証の担当者には気持ち良いプロセスだったのかもしれません。
しかしこれがアジャイル開発が進み、そのメリットとスピード感が受け入れられると、ひょっとしたらテストエンジニアは、私は何をすべきなのかと思うかもしれません。要求仕様はユーザーストーリーに入れ替えられ、開発者は基本設計書や詳細設計書を書かないケースも出てきます。
またコーディングに対する単体テストの比重は大きくなり、さらにコードの書けないテストエンジニアは困る可能性もあります。余談ですが、今後のテストエンジニアはコーディングに対する関与は必須になりスキルセットの変革が求められると思います。
編集部注)2022年7月13日、上記図版内の記載に誤りがあったため修正しました
Vモデルに対応するテスト手法がアジャイルではうまく適応できなくなった今、明確に重要度が増しているのが単体テストだと思います。もしかすると、他のテスト手法がアジャイルでは適応しにくくなって地位が下がったので、逆に単体テストに対する品質保証の依存度は上がったともいえるのではないでしょうか。
Copyright © ITmedia, Inc. All Rights Reserved.