一覧へ戻る

ソフトウェア開発を支えるテスト効率化技術

夢ナビライブ2018福岡会場にて収録

1分動画1

ソフトウェアのバグが実社会に与える影響

1分動画2

実際に必要なコード量

1分動画3

コードを確認するために?

30分動画

講義を視聴する(30分)

高校1年生 バグに悩んでいるので、こういう話は、とてもおもしろかった。人工知能は、高い処理能力と、自由さを持っているので、人間の良いパートナーになるのではないかな、と思います。
高校2年生 バグがおもしろかった。
高校1年生 とても興味深い内容でおもしろかったです。
高校1年生 ソフトウェアについて少し知ることができた。自分たちの生活にとても近く、深く関わっていると思った。
高校2年生 とても興味深いお話でした。もっと深くブログラミングを勉強してみたいです。
高校1年生 身近なとこにもたくさんのプログラムがありそのテストによってささえられていることをとてもじっかんしてどれだけこうりつよくするかがわかった。
高校1年生 身の周りある物がソフトウェアで支えられていることに初めて気付きました。
高校2年生 ソフトウェアが今の世の中にあふれていてバグによって公共の場で多くの問題を起こしているのが分かった。自分がソフトウェアを作る時はバグが起こらないようにしたい。
高校1年生 ソフトウェアがバグを起こさないようにするための取り組みがよく分かりました。
高校1年生 プログラミング・ソフトウェアの、現代社会における重要度などがよく分かりました。本日はどうもありがとうございました。
高校2年生 詳しいことまでしっかり教えて下さり、ありがとうございました。
高校2年生 バグは人間のうっかりや、ど忘れだということが分かった。私もプログラミングを学校で学んでいますが、プログラムが上手くできなかったりすることが多かったことが、よくありました。
高校1年生 未来的に重要であることであり、一般人には見ることのできないことが知れうれしかったです。
高校1年生 ソフトウェアがバグしただけで社会に影響を与えていることが分かりました。
高校3年生 コンピュータなど身の回りにあるあらゆるものはコンピュータなど複雑なものの厳密なテストがあるからだと分かりました。もっとコンピュータについて知りたいです。
高校2年生 コンピュータの技術は難しいと思った。
高校1年生 バグについて知ることができました。テストのしかたや今の現状を知れて良かったです。
高校1年生 ソフトウェアのバグが社会にとって重要な欠陥になることが分かった。
高校1年生 今、ソフトウェアなしではいきていけないようになってしまっているから少しでもバグが生じると多くの人にめいわくがかかるんだなと思いました。
高校1年生 ソフトウェアのバグを効率的に排除するために皆さんがとても努力していることが分かりました。とても楽しかったです。
高校1年生 ソフトウェアのバグが発生する理由や、テストの重要性、テスト効率化技術の有用性を改めて認識することができました。
高校1年生 とてもソフトウェアが自分たちに必要なのかわかりました。
高校1年生 ソフトウェアの大切さと、たよりすぎていることに気づきました。
高校2年生 ソフトウェアは多くの場所で使われ、自分たちの生活から切っても切りはなせない存在であり、それは人の手で作られていることを知ることができました。
高校1年生 ソフトウェアがもちいている社会問題について知るのはたしのかったです。
高校1年生 もともと、プログラミングに興味があったので、よく内容が読み取れた。
高校1年生 ソフトウェアの重要性とバグによってどれだけの被害が出るのかが分かった。よりソフトウェアに興味をもてた。
高校1年生 バグをなくすことは、とても難しいことだとはじめてしった。
高校1年生 負担がすごくかかるテストがとてもかんたんになり、ソフトウェアの開発にやくにたっていると思った。
高校1年生 ソフトウェアを使用しているものには注意してつかっていきたいです。
高校1年生 ソフトウェアは作るのが大変とわかった。
高校2年生 情報工学全体への興味がより深まった。技術者にとってもいい世界であってほしいと思った。
高校1年生 とてもわかりやすい説明でした。この説明をうけてより関心をもつことができました。
高校1年生 身近な所にたくさんあるプログラムの作られ方や、テストの様子が分かりやすくて良かったです。
高校1年生 プログラミングではやっぱり数学が重要で、今のところ数学はできているのでよかった。ソフトウェアの難しさや楽しさが伝わった。
高校2年生 ソフトウェアのデータのテストをこれから自動化にすることで効率がよくなることが分かりました。
高校2年生 ソフトウェア開発について興味がさらに高まった。
高校1年生 ソフトウェアのバグが社会に多大な影響をおよぼしていることが分かりました。
高校2年生 ソフトウェアは私たちからはなすことができないものだと改めて感じた。
高校1年生 現代におけるソフトウェア、パソコンの存在はとても大きく、1つのバグなどになって多大な影響を与えるということがわかりました。プログラミングなどに興味がわきました。
高校2年生 ソフトウェアのバグのこわさを知った。
高校1年生 現代の社会がソフトウェアに頼りきっていることがよくわかりました。プログラム自体は復雑で難しそうでしたが、とても興味がわきました。
高校2年生 とても興味がある分野ですごく楽しめました。
高校2年生 自分の身近に関わりが深い内容だったので、とても面白く感じました。バクを発見するシステムにバグが生じたりしないのかな?なども思いました。
高校1年生 自分自身ソフトウェアに頼らない生活は考えられなくなっているし、ソフトウェアにバグが起こると自分の生活にも影響が出てくるので困るなあと思いました。
高校1年生 いままで、あまり深くは考えたことも、考える機会もなかったことなので、とてもおもしろかった。私の将来の夢にも関わってくることなので、非常に参考になった。
高校1年生 なぜバグが起こるのかが分かりました。バグで死亡事故がおきていることに驚きました。ソフトウェアをつくるということはとても大変なことだとも知りました。

さらにコメントを見る

関心ワード
  • コンパイラ 、
  • タブレット端末 、
  • スマートフォン 、
  • プログラミング 、
  • プログラム 、
  • ソースコード 、
  • バグ 、
  • ソフトウェア 、
  • アプリケーション

講義No.g009297

アプリの多機能・高機能化を陰で支える、「テスト効率化」の技術

「バグ」が使い勝手を悪くする

 スマホやタブレットを使っていて、「このアプリでこの操作をすると、いつもフリーズしたり勝手に終了したりする」といった経験はありますか? それはきっと、ソフトウェアに潜むプログラミングのミス「バグ」のせいです。
 ソフトウェア開発作業の大部分は人間が手作業で行っているので、ミスや勘違いを完全にゼロにすることは極めて困難です。しかもソフトウェアは製品としての形が目に見えないので、ソースコードの記述中に何らかの誤記があっても、実際に動かしてみるまではバグがあることに気づきにくいのです。

自動化・可視化で、テストを効率的に

 バグのない信頼性の高いソフトウェアを提供するため、ベンダー(製造・販売元)側もかなり綿密なテストを行っています。ただ、あらゆるユーザーのすべての操作を再現することは不可能ですから、十分なテストを行ったつもりでも、想定外のミスが潜んでいるのです。そこで現在、ソフトウェアのテストを自動化したり可視化したりすることで、効率的にバグを発見する技術が研究されています。
 主に行われているのは、プログラム言語を機械語に変換する「コンパイラ」の技術を利用して、テストしたいプログラムのコードに、テストを自動化したり可視化したりできる機能を持った別のコードを埋め込んで、プログラムを実行する方法です。この埋め込んだコードを利用して、テストの自動化や可視化を可能にします。

多機能になるほど重要なテストの効率化

 スケジュール管理アプリにリマインダーの機能を持たせたり、写真管理アプリに複雑なフォトレタッチ機能を持たせたりと、ソフトウェアの多機能・高機能化が急速に進んでいます。機能を増やせば記述すべきコードも増え、作成時にミスが発生する確率も高くなりますから、テストを効率的に行う技術はますます重要になります。
 この分野の研究が進み、テストに費やす時間や人件費が大幅にカットできれば、信頼性の高いソフトウェアを短期間に完成させることができ、その分、安価に提供できるようにもなるのです。

参考資料
1:テスト作業に付きまとう問題点
この学問が向いているかも 情報工学、ソフトウェア工学

宮崎大学
工学部 情報システム工学科 教授
片山 徹郎 先生

メッセージ

 「工学部をめざしているけど、好きなのは電気や機械なので、ソフトウェアのプログラミングのことは詳しく勉強する必要はないかな」と考えている高校生も多いようですが、あなたはどうですか?
 確かに、電気や機械のエンジニアとソフトウェアのエンジニアとでは、習得すべき知識や技術は異なります。しかし、あなたの身の回りの家電製品や機械製品の大半が、いまや何らかのプログラム(ソフトウェア)によって制御されています。電気系であれ機械系であれ、これからの時代のエンジニアには、プログラミングの基礎知識が必要になるのです。

先生の学問へのきっかけ

 私は中学生の頃、パソコンに初めて触れて、衝撃を受けました。それ以来、パソコン雑誌に掲載されているプログラムの構文を打ち込んでみたり、付録のフリーソフトのコードを眺めたりしながら、基本的な記述ルールを少しずつ覚えました。
 これをきっかけに、将来はコンピュータにかかわる仕事をしたいと思い、大学も情報工学科でプログラミングについて勉強しました。大手電機メーカーに勤務していたエンジニアが指導教員を務める研究室に入ったことで、「ソフトウェアのテスト」という現在の研究分野とめぐり合いました。

大学アイコン
片山 徹郎 先生がいらっしゃる
宮崎大学に関心を持ったら

 宮崎大学は、「世界を視野に、地域から始めよう」のスローガンのもと、人的・知的・物的資源を共有し、機能を相補します。(1) 教養教育の一層の充実と質的向上、(2) 教育・研究基盤の強化、(3) 学際領域の教育・研究の強化と創出、(4) 地域および国際社会への貢献、を具体的な目標として、21世紀を展望しつつ、知の創造の殿堂として、活気に溢れ、魅力に満ちた学風と輝くキャンパスを築きます。また、地域と連携して宮崎の文化と風格を高めることを目指しています。