際限のないテストを
いかに効率的に行うか
経営システム工学専攻 修士2年 | |
北村 宗大 | Kitamura Motohiro |
岸研究室 2015年度インタビュー |
Q 研究内容を教えて下さい。
岸知二先生の研究室でソフトウェアエンジニアリングを学んでいます。ソフト開発には大きく6つの段階があって、「要件定義」「基本設計」「詳細設計」「開発」「テスト」「運用」に分類されるのですが、私が研究しているのは「テスト」の段階です。具体的には、過去のテストデータを有効活用するための研究です。
ソフトはバージョンアップを重ねながら継続的に開発するものが多く、毎回、一からテストしていたら、時間もコストもかかります。これに過去のテストデータを再利用できれば、無駄を省けるはずです。
ところが、過去のテストデータはあまり活用されていないというのが現状です。共同研究の際、企業の方に聞いてみてもそうでした。
Q 実際にはどのように活用するのでしょうか。
たとえば、過去のデータを調べれば、「この状況では、こんなバグ*が出やすい」などと欠陥が検出される傾向があることが分かるはずです。それを把握して、リスト化し、バージョンアップ時に優先的にテストすることが考えられます。
そもそもテストには「ここまでやれば良い」という終着点がありません。バグの存在はいえても、不在はいえない。つまり、どんなにテストを重ねても、欠陥がないとは絶対に言い切れないのです。
そのため、どのようなアプローチでテストを行うかは自由で、正解は無数に存在します。そこがこの研究の面白い部分です。
よく「ナップサック問題」とか「最適化問題」といわれるのですが、容量が限定されているナップサックに、何をどうやって入れるかには、いろいろな論理と手法があるでしょう。テストもこれと同じです。
何をどこまでテストするかを決めて、自分なりのアルゴリズムを作って効率化していきます。
*バグ:コンピューターのプログラム上の不具合や誤り。原義は「虫」。
人生論も学べる研究室
Q 研究で大変なところは?
実は、ソフトウェア開発の6段階のうち、「テスト」が最も時間と費用がかかります。どこまでやるか限界がないため、どうしても大規模になりがちだからです。実際、全体のコストのうち、「テスト」に約42%も費やされているという調査もあります。ですから、自分の研究している手法が正しいのかを検証するのにも時間がかかります。そこが大変なところですね。
Q 研究室の雰囲気はどうですか?
や全体的に仲の良い研究室だと思います。ただ、研究と遊びとのメリハリはちゃんとあります。
岸先生は研究一辺倒、知識一辺倒という方ではなく、人生を語ってくれることもあって、そういう面でも勉強になります。先日はこんな話をしてくれました。
「同じプログラミングをやるのでも、仕事と思ってやるか、趣味と思ってやるかでずいぶん違うだろう。自分の意識が変われば、他のことも変わってくるんだ。」
このような話も聞けるので、人間的にも成長できる研究室なのではないかと個人的には思っています。
経営システム工学科は理系の観点から幅広く経営にアプローチできる
Q 経営システム工学科に入ろうと思ったきっかけは?
「理系なのに経営?」と思い興味を持ちました。気になって色々調べながら、あらためて考えると、理系の視点なら、経営に幅広くアプローチできるのではないかと感じたのです。
経営というのは、ようするに利益を上げることですから、どこでも使うだろうし、学んでおいて損はないだろうとも思って、受験を決断しました。
実際、入学してみて思ったのは、やはり経営工学はアプローチの仕方が広いということでした。たとえば、私が学ぶソフトウェア工学も、経営と関係なさそうに見えて、深い関係があります。ソフト開発によって作業が効率化できるし、テストの効率を上げれば、会社の利益につながるからです。
Q 最後に、受験生にメッセージを。
高校の段階で将来やりたいことが決まっている人は良いのですが、まだ定まっていない人もいるでしょう。そういう時は、幅広く学べる学科を選ぶと良いです。専門性の高い学科に入ってしまうと、のちの選択肢が狭まってしまうこともあるからです。
その点、経営システム工学科は幅広く学べます。将来が定まっていない受験生にも自信を持っておすすめできますね。