Facebook x

ジャンル

第6回 ソフトウェア工学 × QA最前線
ソフトウェア工学 × QA最前線 2023.07.03
x hatenabookmark

【産学連携】画像認識でUI要素を自動で抜き出す技術を共同開発、T-DASHに実装! ― 京都工芸繊維大学 水野研究室

執筆: Qbook編集部

ライター

【産学連携】画像認識でUI要素を自動で抜き出す技術を共同開発、T-DASHに実装! ― 京都工芸繊維大学 水野研究室

システム開発工程におけるテストは技術者の知識に依存する部分が多く、属人化と開発品質の向上が課題となっています。

手間のかかるテストをもっと短時間で簡単にできる状態を目指して、京都工芸繊維大学の水野 修 教授とバルテス株式会社は、テスト自動化ツール「T-DASH」に組み込む画像認識技術を共同開発しました。

今回の開発に至った背景と直面した課題、産学連携で成果を出すためのポイントについて、水野研究室の皆さんと開発に直接携わったバルテス株式会社の石原氏・村上氏にお話しを伺いました。

今回インタビューを受けてくださった方

20230612_face1.png
水野 修 教授

京都工芸繊維大学 情報工学・人間科学系

ソフトウェア開発における膨大なデータを"採掘"し、工学的意義のある知見を見出そうとするソフトウェアリポジトリマイニングの分野の第一人者。研究の一つとして、ソースコードのテキストから不具合に関連する情報を発掘するツール「CodeLamp」の研究開発を進めている。

20230612_face3.png
崔 恩瀞 助教

京都工芸繊維大学 情報工学・人間科学系

平成27年大阪大学大学院情報科学研究科博士後期課程修了。同年同大学大学院国際公共政策研究科助教を経て平成30年より京都工芸繊維大学情報工学・人間科学系助教.博士(情報科学).コードクローン管理やリファクタリング支援手法に関する研究に従事。

20230612_face2.png
南 翔太 氏

京都工芸繊維大学大学院 工芸科学研究科 設計工学域情報工学専攻

令和5年 京都工芸繊維大学 工芸科学部 設計工学域情報工学 課程卒業。現在は京都工芸繊維大学大学院 工芸科学研究科 設計工学域情報工学 専攻に在学中。

もくじ
  1. ともに歩んだ10年の歴史から、新しい共同開発プロジェクトがスタート
  2. 画像認識技術の実装により、テスト自動化ツールがより便利に
  3. 精度とパフォーマンスの両立に課題...画像認識技術の開発秘話
  4. 実装工程のトライアンドエラーはほとんどなく、スムーズに進んだ
  5. 産学連携プロジェクトで成果を導き出す秘訣とは
  6. 誰もが気軽にテストを実施し、品質向上できる世の中に

ともに歩んだ10年の歴史から、新しい共同開発プロジェクトがスタート

――はじめに、水野教授のご経歴や研究テーマについてお聞かせください。

水野教授京都工芸繊維大学に2009年に着任して、今年で14年ほどになります。専門分野はソフトウェア工学で、特にソフトウェアの不具合を自動的に検出するような仕組みを研究しています。バルテスの石原さんとは今の大学で働く以前からの知り合いでした。

バルテス 石原:そうですね。それで水野先生が京都工芸繊維大学に着任されて少し経った頃に共同研究のお話を持ちかけました。

――水野教授の研究室とバルテスが産学連携をするきっかけはどんなプロジェクトだったのですか

石原:2011年に、ソフトウェアのテストを見積もるためのツール作成を一緒におこなったのが始まりでした。2012年から水野先生はカナダに留学され、日本に戻っていらっしゃった後にもう一度やりましょうとお声がけして、2015年から5年ほどかけて「CodeLamp」(別記事参照)を開発しました。これはテキストマイニングによるソフトウェアモジュールに対するリアルタイム不具合推定機構の研究開発でしたね。

水野教授ソースコードをリアルタイムに判定して、不具合がある箇所を警告する研究をおこない、最後は論文の形にまとめました。

――産学連携で作ったものを企業でフィードバックし、製品に生かす流れは「CodeLamp」の開発から始まったんですね。

石原:はい。ですから水野研究室とバルテスの歴史はもう10年以上ということになりますね。「CodeLamp」は2021年度の論文発表を機に一旦区切りをつけ、2022年度からはもう少し研究テーマを拡大しようという話になりました。水野先生と一緒にこれまでの振り返りをしつつ、バルテスからは製品の実装に合う研究を組み入れたいという希望を伝え、AIを用いたソフトウェアテスト、いわゆるテスト自動化ツールの共同開発に着手することが決まりました。

画像認識技術の実装により、テスト自動化ツールがより便利に

――今回、テスト自動化ツール「T-DASH」に組み込む画像認識技術を共同開発したということですが、はじめに「T-DASH」がどういったものかお聞かせください。

バルテス 村上:バルテスが提供するテスト自動化ツール「T-DASH」は、プログラミング言語の知識が深くなくても、日本語でテストケースを指示して簡単にテストが実行できるというものです。直感的に使いやすいUI/UXを採用し、初めて使う方もすぐに習熟できます。月額料金はお一人あたり税込3,960円で、コスト面がおさえられ長い期間にわたって使い続けられるツールです。

――水野研究室と一緒に開発した画像認識技術とは、具体的にどういったものですか。

村上:テスト自動化においては、「テストスクリプト」と「画面要素の取得」という2つの作業が必要です。「T-DASH」は日本語で指示したテストスクリプトを自動で読み取り、専門技術がなくてもスクリプトが作れるのが特長です。もう1つの画面要素の取得については、今までは画面要素を直接指定するとパスが変わってしまったり、そもそもパスが取れなかったりする課題がありました。そこで今回、水野研究室と共同開発した画像認識機能を搭載することで、パスの取得が自動化できるようになりました。画像認識機能を使うと環境やデバイスに依存しないテストが可能になり、スクリプトの保守性が非常に高くなるというメリットがあります。

石原:具体的に例えば、サイトに「Enter」と書いてある画像が貼り付けてあったとき、従来のテスト自動化ツールであれば文字でないと認識できませんでした。それが今回の画像認識技術により、「Enter」という画像でも認識できるようになったということです。

村上:これまで世の中に存在していたテスト自動化ツールの中では、数百万円かかる高額なツールには画像認識技術が実装されていました。しかしコスト面の問題が大きく、それほど広く使われてはいませんでした。コスト面においても、スピード面においても従来のものに勝る仕組みを作成できたのは、とても大きな成果だったと思います。

精度とパフォーマンスの両立に課題...画像認識技術の開発秘話

――画像認識技術の開発で苦労したことは何ですか。

南さん水野研究室はソフトウェア工学が専門ですので、今回の画像認識技術の開発に必要な画像工学の知識は未探索の領域でした。知識を身につけるためにしっかりとしたリサーチが必要だったのは苦労しましたね。さらに今回の技術では、スクリーンショットの中からUI要素を探すことが求められました。特定のパターンであれば簡単に見つけられる一方で、他のパターンだと同じアルゴリズムが使えない場合も多く、想定されるいかなる入力に対しても使える手法を開発するのが非常に難しかったですね。

――図柄などの特長によって認識の難しさが違っていたわけですね。

南さん例えば画像の中に文字が含まれているものは、比較的見つけやすいです。一方で、UI要素の画像が単純な図形だけで構成されている場合、想定外の場所までマッチングしてしまうことがあって精度を上げるのが難しいと感じました。

石原:認識の技術は、あまりセンシティビリティが高いと誤認識してしまいがちなので、精度が高くかつ誤認識を減らすという塩梅が難しいところです。

村上:画像認識をテスト自動化ツールに入れるために、例えば「ECサイトに特化する」などの縛りがなかったのが今回の難しさにつながっていると思います。ECサイトの場合、ある程度はフォーマットが統一されているため画像を見つけるのは簡単です。しかし、テスト自動化ツールはどんなサイトが対象となるかわからないために、精度もパフォーマンスも両方求められるのが大変だったのではないでしょうか。

石原:高精度なものは一般的に認識に時間がかかりますが、パフォーマンスが高く短時間でできる方法を南さんはかなり高いレベルで実現されました。その開発における苦労はどんなものがありましたか。

南さんやはり一番最初に思いつく手法は、精度が高いけれども時間がかかるものでした。その課題にひたすら向き合い続けて、「もしかするとこの処理を削っても精度に関係ないのではないか」といった仮説を立て、実証する作業を繰り返しました。

実装工程のトライアンドエラーはほとんどなく、スムーズに進んだ

――南さんが開発した技術を「T-DASH」に実装したのは村上さんでしたね。実装において苦労はなかったですか。

村上:南さんが開発してくれたものはすんなり「T-DASH」に組み込めました。精度が高く、すぐ使える形でアウトプットしてくれたのが大きかったと思います。

石原:普通、そういうことはないんですよ。やはり何度もトライアンドエラーを繰り返さなければいけないし、水野研究室と連携が始まった当初は、実装を組み込んで様子を見るだけでもすごく時間がかかっていました。今回は過去の経験を踏まえて「こういうものを作って欲しい」と明確に要望を伝え、南さんが良いものを作ってくれたおかげで高い成果につながったプロジェクトだったと思います。

――南さんはいま学部生で、これほど企業と密に連携を取るプロジェクトは初めてだったと思います。企業とのやりとりやスピード感で難しいと感じた部分はありましたか。

南さん今までの学生生活でやりとりするのは基本的に身近な人ばかりでした。しかし、企業の方へ気軽なメッセージを投げることは当然できないので、できるだけ過不足がないように内容を調整したり、この文言は失礼じゃないのかなと考えたり、そういった苦労は確かにありました。また月1回の定例会で見せるスライドに関しても、バルテスさんにお渡しする前に先生方にチェックしてもらっていました。

石原:内面には様々な苦労があったのでしょうが、目的と背景、今回ポイントになるところ、今後の課題と方針をきれいにまとめたプレゼンをしてくれて、そのパフォーマンスの高さには驚きました。

産学連携プロジェクトで成果を導き出す秘訣とは

――産学連携で成果を出すのは難しいと言われています。それが今回成功した秘訣は何でしょうか。

石原:産学連携を始めてから10年以上経っていますが、途切れずにお付き合いいただき、これだけの時間をかけたからこそ形になっていると思いますね。土壌を徐々に作っていき、それをベースに次のステップに進んできましたから、そのどれが欠けても今につながらなかっただろうと実感します。

水野教授本当にそうですね。継続的にやりとりをしたことで、今やっと成果につながり始めていると感じます。

――産学連携をしたいと多くの人が考えながらも、大学と企業が足並みを揃えて研究を進めるのは難しいのではないかと思われます。今回のプロジェクトではそこをどのように克服しましたか。

水野教授今回、開発作業をした南さんの卒論提出期限と、リリースに向けた最終提出の時期がほぼ同じで、スケジュールがマッチしたのが大きな成功要因でした。

崔助教明確な締め切りがあって、目標に向かって頑張るための計画をご提供くださったことで、期間が無駄に長くならず成功につながったんじゃないかと思います。

――スケジュールをお互いに把握していたこと、そして目的が明確だったのが大きなポイントだったんですね。

水野教授そうですね。大学では毎年2月までに何かを作って論文を書かなければいけませんが、そこまでにできることをご提示いただいて夏頃から早めに着手できたおかげで、スムーズな流れで進められました。

――南さんは締め切りに追われて大変だったと思いますが、実際やってみていかがでしたか。

南さん全体的な締め切りは3月でしたが、進め方としては毎月の定例ミーティングのたびに何か成果を出そうという気持ちで取り組みました。そういう区切りがあったことで少しずつ前に進んでいけたと思います。

村上:短期、中期、長期で計画を立てながらプロジェクトを進めました。3月にゴールへたどり着くことから逆算したスケジュールを出し、それに合わせて南さんが動いてくれたのは非常に助かりました。そのおかげでリリースも特に心配なくこぎつけましたね。

誰もが気軽にテストを実施し、品質向上できる世の中に

47F1210F-2385-4A93-B280-E4B08F815DED_1_105_c - コピー.jpeg

――今回、水野研究室とバルテスが出した成果は社会にどのような影響を与えると思いますか。

水野教授:ウェブサイトのテストは、現状では業務知識に精通して細かいことを知っていないとできないことが多いです。しかし、今回の共同開発でテスト自動化ツールに画像認識機能を追加したことで、ゆくゆくは誰もが直感的にテストできる状態につなげていけるのではと思います。その第一歩になり得るのが今回のプロジェクトだと考えます。

崔助教:不慣れな人は、どこまでテストをすればいいかわからない場合も多いですよね。自動化することでもっと気楽にテストができるようになればいいですし、開発者の能力の差を埋めることにもつながると思います。

石原:脱属人化ということが大きなキーになりますね。技術者によってテストの精度に差が出るのを防ぐために、今回の技術は大変大きく貢献すると思います。それによってサイトの品質も向上するのではないでしょうか。

――水野研究室とバルテスのコラボレーションについて、将来的にどのような発展が期待できますか。

石原:これまでの水野研究室との10年で、ニーズとシーズの擦り合わせ方はかなり洗練されてきたと思います。「こういうことがしたい」とこちらから具体的なニーズを投げ、その中から「これだったらできるかも」と水野研究室からシーズを提供いただく。またプロジェクトの進行についても、マイルストーンを細かく置いて締め切りまでに精度を上げる方法で上手くマッチしました。もちろん、プロジェクトに関わった各人が精度高く実行してくださった部分も大きいですが、課題の投げ方と受け方もこの10年で的確なやりとりになりました。

水野教授:いい成果を出し、それを製品として使っていただける状態をこれからも提供できるように精進したいと思っています。今年度も有望な学生たちがたくさん入ってきていますので、また一緒に良いものを生み出せていければ嬉しいですね。

石原:今回、水野研究室と一緒に高いパフォーマンスが出せたことは本当に嬉しく思っています。テスト自動化や品質保証を支援する研究はまだまだ鉱脈がたくさんあり、お互いに深掘りできる分野がたくさんあるので、これまでの10年の成果の上にまた新たな展開を期待したいですね。

――今回は貴重なお時間をありがとうございました。

バルテス株式会社

a76b4149f10f3c608f5ee7d196602b21-190x190.jpg
石原 一宏

バルテス株式会社 テスト・アライアンス事業部 事業部長 / バルテス・モバイルテクノロジー株式会社 取締役

年間2,000名を超える開発エンジニアにテスト・品質を教えるセミナー講師。 ソフトウェアテスト・品質技術の研究開発、社内/社外の技術研修やセミナーの講師、コンサルティングなどを担当する。 著書に『いちばんやさしいソフトウェアテストの本』、『ソフトウェアテストの教科書』。 PMI認定プロジェクト・マネジメント・プロフェッショナル(PMP)。 JSTQB認定Advanced Level テストマネージャ。

murakami_article.png
村上 崇

バルテス株式会社 R&D事業部 事業部長

大手SIerにて制御系ソフトウェア開発、脆弱性検証ツールの開発、テスト自動化、ソースコード検証などの開発寄りの第三者検証サービス業務を担当。その際、ソフトウェアテストの将来性・魅力を感じ、テスト専門会社であるバルテスに2017年3月に入社。主にテスト自動化プロジェクトに従事。テスト自動化ツール「T-DASH」の開発責任者。

ソフトウェア工学 × QA最前線
x hatenabookmark

執筆: Qbook編集部

ライター

バルテス株式会社 Qbook編集部。 ソフトウェアテストや品質向上に関する記事を執筆しています。