2017年7月10日 テクノロジー

ええっ?!「テスト」は品質を担保しない、むしろ情報収集?!ソフトウェア開発におけるテストについて

こんにちは、アイスリーデザインの荒澤です。
 
みなさんは、ソフトウェアのテストと聞くとどんなことを思い浮かべますか?

自分は本格的にスマホサイトのテストやiPhone、Androidアプリのテスト、またスマホサイトのテスト自動化を担当して4ヶ月たつド新人です。入社前にアルバイトとして少しテストを担当していたこともあり、当時は間違い探しみたいで楽しいなあとだいぶ気楽に考えていました。ところがどっこい、最近ではテストケースの作成も担当させていただいており、楽しいなあというあの頃の気持ち + 実はテストって結構難しいんだと感じています。
 
そこで今回ご紹介する本はジェラルド・M・ワインバーグ著の『パーフェクトソフトウェア テストにまつわる幻想』です。

本書では、テーマに沿ったテストにまつわるエピソードやよくある間違いなどが全18章で述べられています。
各章のタイトルを見てみるとそれぞれ内容が気になるところですが、全てを見ていくことは大変なので、今回は自分が特にこれは伝えたい!という章をピックアップしていきます。

 
テストは品質を担保するプロセスと認識されていますが、そもそも、品質とは、開発プロセス全体から生まれるものだとワインバーグ氏は述べています。自分はテストをすることで品質が担保されるものだと思っていました…お恥ずかしい…)
テストをすれば完璧なソフトウェアが作れるわけでなく、あくまでソフトウェアに求められている機能が達成されているか否かを確認するのがテストです。
 

どうしてわざわざテストをするのか?

テストは、製品に関する情報を収集する仕事です。製品をよくするのはテストで見つかったバグを修正するエンジニアの仕事です。そのソフトウェア製品について何か決定する(例えば、売れるのかやリリースできるのかなど)時に、リスクを軽減するための情報を得る一つの手段がテストです。
 

そもそもテストの役割とは?

最初にも述べましたが、テストは情報収集のプロセスになります。その収集した情報をもとに決定にともなうリスクを軽減させるという役割があります。収集した情報を使わず、現行のスケジュールを進めるなどするのであれば、テストをする必要はありません。それはテストをしていないのと同じことになります。
 

全部テストしたらいいのでは?

じゃあ、全てをテストすればいいんだっ!!という問題でもありません。結論、全てをテストすることは不可能であり、テストはリスクに対する一種の『サンプリング』になります。
 
本書では、上記のようなテストに対する『勘違い』やプロジェクトマネージャーや技術者などの『認識不足に起因する問題』を様々な切り口から具体的に紹介しています。特に自分の印象に残っているのが、テストビュッフェで食事をしようという話です。
 
テストをするにも様々な方法があります。
・ユースケーステスト
・境界値分析
・互換性テスト
・インタラクションテスト
etc…
その中から、自分はどれを選択し、限られた時間の中で遂行するのか。
テスト担当者は適切にテストをするためには、目の前にある様々な料理(テスト方法)を前に、時間内(時間の制約を認識する)に自分の好きなものをお皿に盛り、食べる事が必要となってきます。

 
そして、どうやってビュッフェを攻め込むかも性格によって異なります。ワインバーグ氏は自分の性格を知ることも、テストを適切に行う上で重要となると述べています。マネージャーはテストの制約とテスト担当者の性格を認識しておくことで、テストが与えるプロジェクト進行の中の障害が少しでも緩和されるのではないでしょうか。
 
自分はまだテストを担当して日が浅いですが、本書を読んだことでテストの見方が変わりました。特に、プロジェクトマネージャーや開発者などのテストに対する認識がプロジェクトの進行に影響を与えるということに驚きました。メンバーの中でテストに対する認識に齟齬があると、商品が売れないことやリリースができなくなったり、問題がまだあるかもしれないのにリリースをしてしまう可能性があるということです。メンバー内でコミュニケーションを取り、認識の齟齬が出ないようにすることが大切となってくるのではないでしょうか。

 
テストに対して勘違いしている方は少なくないと思います。テストは何のためにするのか、テストの役割は何なのかを再確認する上で読んでみると新しい発見があるかもしれません。
テストを担当している人にはもちろん、プロジェクトマネージャーや技術者の皆さんにも読んでいただきたい一冊です。
 
 
____________

in-Pocket is presented by i3DESIGN

https://www.i3design.jp/

アイスリーデザインは最新技術とUXデザインで、御社の課題解決をサポートします
企業のモバイル対応を促進する「GOMOBILE」ブランドの下、flamingoやRabbit、Zebraなどのサービスを提供しております。 また、プロフェッショナルサービスとして、アプリ制作やUI・UXコンサルティングを行っております。 MFI、AMP対応のエキスパートでもある当社に、是非ご相談ください
AMPについて更に知りたい方はこちら

アイスリーデザインへのお問い合わせはこちらから

Haruka Arasawa

h.arasawa

2016年にご縁がありi3DESIGNに入社。大学では史学科に所属し中世フランス史を研究していたバリバリの文系。ITの知識は無いものの、パソコンを触ることが好きでこの世界に飛び込む。実家で飼っている愛猫とゲームが大好き。

この記事をシェアする