開発プロジェクトの最前線! UIテスト自動化による業務効率でTech Leadをサポートする「BiLD」の紹介テクニカルレポート

公開日:2025年7月24日
はじめまして、R&D本部DI部ITアーキテクトの齊藤です。
前回のコラムでは「開発プロジェクトの最前線!Tech Leadの役割と技術資料「BiLD」を解説!」と題し、キヤノンITSのTech Leadをサポートする「BiLD」をご紹介し、アプリのつくり「アーキテクチャ」の変化や、開発の自動化が加速しているという問題意識についてご説明しました。
今回のコラムでは、「開発タスクの自動化」という問題意識に対する取り組みのうち、UI(ユーザーインターフェース)テスト自動化についてご紹介します。
ユーザーが製品やサービスを使用する際の接点となるUIの重要性
たとえば、私たちは日常の中でアマゾンや楽天市場などでの買い物や、グーグルやヤフーなどで調べものをするなど、さまざまなサービスやシステムを通じてUIに触れていることを実感します。UIは私たち利用者が直接触れられるため、ひとたびUIに不具合が発生した場合、それを提供するサービスやシステムへの不満が一気に生じてしまう、誰しもこのような経験があるのではないでしょうか。
UIテストの目的と手法、そこに潜む問題とは
サービス/システムを開発する側(以後「開発側」)は、先ほど述べたUIの不具合などが生じてしまうと利用者の不満につながり大きな問題となるため、UIの不具合を速やかに修正し公開することで利用者の不満解消に努めることになります。
具体的には、あらかじめ定めた仕様に従いUIが動作するかを目的にテストを行い、仕様に従っていない場合はプログラムを修正し、再度テストを行い仕様に従っていることを確認したうえ、プログラムを本番環境へ公開することになります。
このUIをテストするという作業は「テスター」という専門の担当者により行われることが多いのですが、人間は必ず間違うことがありますし、長時間作業することに向いていない生き物でもあります。そのため、ときにUIテストの手順をうっかり間違える、はたまた長時間の作業で疲れてしまいテストの効率が下がる、といった問題が発生します。
UIテスト自動化により問題の解決につなげる!
このようにUIテストは大事な作業ですが、開発側の立場としては先ほど述べた問題も同時に解決していかなければなりません。そこで注目されているのが「UIテスト自動化」です。
UIテスト自動化とは、テスターが手動でUIを操作する代わりにUIの操作手順や確認手順をプログラムコードとして記述し、UIテストコンピューターにプログラムコードを実行させ、UIを機械的に操作させることで人手によらずにUIテストを自動化する、という方式です。
なにしろUIテストコンピューターはプログラムコードをもとに操作確認手順を実施するため、間違うことがありませんし人と違って疲れを知らず効率的であることから、UIテスト自動化はテスターによるテストの諸問題を解決できる大きな力を持っているのです。
キヤノンITSのBiLDにおけるUIテスト自動化への取り組み
キヤノンITSではこのようなUIテストの自動化が持つ力に着目し、Tech Leadを技術的にサポートする技術資料「BiLD」として技術の蓄積を図っています。特長は次のとおりです。
1.開発現場の使用事例/使用効果/教訓をナレッジとして集約
キヤノンITSで先行してUIテスト自動化を実践した部門から実績を収集し、導入フェーズ/使用事例/使用効果/得られた教訓などをナレッジ化し社内に公開しています。開発現場の経験より導き出されたナレッジにより、これから新たにUIテスト自動化を検討している担当者は迷うことなく安心して導入を進められます。
2.テストフレームワーク検証レポートの社内共有
UIテスト自動化を実現するためのテストフレームワークはさまざまありますが、普及度合いや機能性を評価のうえ、代表的なテストフレームワークを選定し、それらの特長や検証レポートを社内に公開しています。
- Selenium(https://www.selenium.dev/ja/documentation/)
- Cypress(https://www.cypress.io/)
- Playwright(https://playwright.dev/)
最後に
今回は、キヤノンITSの技術資料「BiLD」におけるUIテスト自動化の取り組みについてご紹介しました。
BiLDではUIテスト自動化のほか、CI(継続的インテグレーション)、潮流のJavaScriptフレームワーク、WebAPIといった最新の技術トレンドにも着目しキャッチアップ、ナレッジの蓄積に努めています。そして、キヤノンITSが目指す「共想共創カンパニー」を開発技術の側面から支えています。
今後のコラムでは、今回ご紹介したUIテスト自動化ナレッジの導出過程、検証レポートの比較、テスト方式の種類といった細部について触れてみようと思います。
筆者紹介
齊藤 竜一
R&D本部DI部所属。ITアーキテクト。業務システム開発/アプリケーション開発/データベース設計の各種案件に従事。2020年より現職。アプリケーション開発領域技術革新の研究開発に取り組む。