システム開発において、バグを減らし、ソフトウェアの品質を高めることは重要な課題である一方、その手法の多くはエンジニアの仕事量も増やす傾向にある。そこで必要となるのは、むやみなデバッグ作業やテストコードの作成ではなく、開発プロセスの上流で品質を担保するためのテスト戦略だ。仕事量を減らしながら品質を高める手法について、情報工学博士でソフトウェアテストを専門とする高橋 寿一氏が講演した。なお、この講演はデブサミ2021のなかでも最初に満員となったセッションで、デブサミ2021アワードの話題賞を受賞した。
上流品質を担保するために必要な3つのこと
高橋氏は、講演の冒頭で次の図を紹介した。
「これは、ケイパー・ジョーズという有名な学者さんの図です。データ自体はちょっと古いけど、開発プロセスのカオスな状態を示すのにいいと思っています。皆さんが、よくご存じの通り、開発プロセスの各段階で発生したバグは、その段階のうちに始末する必要があります。でも残念ながら、どこの組織でも、要求仕様のバグが最後のテストフェーズで見つかります。最悪の場合、保守フェーズつまり市場で見つかって、カオスな状態になってしまいます」
各段階のバグは、その段階のうちに始末する必要があるが、要求仕様のバグが最後のテストフェーズで見つかってしまう
そして、上流で品質を担保する重要性をいくつかの例を挙げて力説した。たとえば、上流テストを十分におこなってバグを検出したグループと、上流で十分にバグを検出しなかったグループを比較したデータも示した。こちらでも、上流でテストを十分に行ったグループ出荷後の品質が大きく改善していた。
「これは、アジャイルやスクラムという、短いイテレーション・ライフサイクルの場合でも同じで、上流工程・初期の段階から品質を担保するのが重要です」
でも、具体的にどうやってやるのだろうか?
高橋氏は、日々の開発活動で上流品質を担保する必要があり、そのためには次の3つが必要だと説明した。
- 単体テスト
- リファクタリング
- 要求仕様のテストケース展開
「この3つは、ぼく自身が経験から学んだやり方です。まだIEEEやISOのスタンダードになっている訳ではありませんが、今日の講演でインスパイアされたところから使ってもらえたらウレシイです」
会員登録無料すると、続きをお読みいただけます
この記事は参考になりましたか?
- この記事の著者
-
可知 豊(カチ ユタカ)
フリーランスのテクニカルライター 興味の対象はオープンソースの日常利用、ライセンス、プログラミング学習など。 著書「知る、読む、使う! オープンソースライセンス」。https://www.catch.jp
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
