株式会社JSOLについて
株式会社JSOLは、株式会社NTTデータと株式会社日本総合研究所が出資するシステムコンサルティング・ソリューションインテグレーター。
2006年の設立以来、製造、流通サービス、金融、公共分野で培った豊富な業務ノウハウとシステム開発力、エンジニアリングサイエンス分野における先進的な解析技術に強みを持ち、お客さまの価値向上に貢献している。
株式会社JSOLは、電気機器設計のためのシミュレーションソフトウェア「JMAG」のGUIテストに、Qt Groupが提供するGUIテスト自動化ツール「Squish」を導入。クロスプラットフォーム開発フレームワーク「Qt」もJMAGのGUI開発における標準フレームワークとして採用されていたため、Qtと相性が良いSquishを活用することで、全テストケースの約40%の自動化を実現。また自動化した部分のテスト実施工数は手動テストと比べて約15%にまで減少させることに成功した。
Squishを選択した理由
E2Eテストでオブジェクト認識の正確性を高めテストの生産性を向上
全約1万5,000件のテストケースのうち約40%の自動化を実現
自動化によりテスト実施工数を手動テストと比較して約85%削減
テスト期間中に複数回の自動テストを実施可能なまでに精度を向上
豊富で的確なAPIを活用しテストの効率的な遂行を支援
「Squishの活用は当初の想定より効果が出ており、特にテスト実施工数が15%にまで削減したことはJMAGの品質保証の効率向上に大きく貢献していると高く評価できます。」
河合 優行 氏 株式会社JSOL JMAG ビジネスカンパニーIT プロフェッショナル(CAE品質)
性能向上リリースの出荷前テストが年9回に増え手動テストが限界に
JSOLは、ITコンサルティングにおける提案営業からシステムの構築、運用・保守に至るトータルソリューションを提供する国内屈指のITサービスコーディネーターだ。同社の事業は大きく2つで構成される。1つはERPなどを活用した業務改革での豊富な実績をベースとするITソリューションフィールド。手掛ける事業領域は製造、流通・サービス、金融、公共など広範に及ぶ。もう1つはCAE(Computer Aided Engineering:設計・開発支援システム)ソリューションフィールドだ。CAEにおける構造解析、生産技術解析、電磁界解析、材料解析などのソフトウェア開発から、技術サポート、コンサルティング、受託解析まで、製造業界の「ものづくり」をサポートする。
このCAE分野で同社を代表する製品の一つがJMAGである。100%自社開発のJMAGは、世界中の企業や大学で電気機器(モータ、発電機、変圧器、ソレノイド、アクチュエータなど)の設計開発に使用されている。
このJMAGの開発と販売・サポートを通じて、顧客が求める価値を徹底的に理解し、世界最高レベルの電気機器設計を支援しているのが、JSOLの社内カンパニーであるJMAGビジネスカンパニー。長年にわたりJMAGの機能改善に向けた開発と、品質維持管理のためのテストをそれぞれ独立したチームが担っている。そのテストフェーズで歴代JMAGのGUIテストを支えてきたのが、Qt Groupが提供するGUIテスト自動化ツール「Squish」だ。
JMAGビジネスカンパニー のITプロフェッショナル(CAE品質) 河合 優行氏は、GUIテストの状況について次のように説明する。
「JMAGは高速、高精度なソルバー性能とともに、高度なモデリング機能と多彩な結果分析機能を搭載しています。初めての方が使いやすく、慣れている方にも使い勝手が良いと感じていただくためGUI開発には注力し、改善の頻度も多いのです。それに伴い、システムの安定性を確保し、新機能を迅速にリリースする目的で回帰テスト(プログラムの変更が意図した箇所以外に影響を与えていないかを確認するテスト)を細かく頻繁に行うようになりました。2010年代半ばまではなんとか手作業でこなしてきましたが、2017年頃から年3回のバージョンアップリリースに加え、2つのサービスパックがそれぞれ年3回リリースするようになり、合計で年9回の出荷前テストが発生。手動テストでは追いつかない状況が危惧されるようになっていたのです」
Qtと相性が良いSquishをリリース工程へ2018年から本格的に運用を開始
回帰テストにかける時間は2ヵ月程度確保していたが、開発が増えてもリリースのタイミングは決められており、テスト期間を延長することはできない。先入観やバイアスが働いて不具合を見逃す可能性を排除する目的で第三者検証として実施する必要性もあったため、現状よりも期間を短縮する工夫が必要だった。また、テストの増加量に比例するほどテスト要員も容易には増やせないという予算の事情もあった。そこで注目したのが、既に断片的に活用していたSquishだったという。
「JMAGビジネスカンパニーでは、SquishをQt Groupの製品になる前の時代から10年以上も活用していました。当時は既に『Qt』をGUI開発の標準フレームワークとして活用していたため、Qtと相性が良いSquishを導入しましたが、自動テストを全面的に稼働させるまでには至っていなかったのです。しかしテスト頻度が増え、テストの質は維持しつつ、コスト及び期間を短縮できるかを検討する中で、Squishをリリース工程に組み入れることを正式に決定。2018年から本格的に運用を開始しました」と河合氏は振り返る。
テスト実施工数が約85%減少
Squishの本格的な運用により、多くの効果が見えてきたという。1つ目は、コードを組む自由度があり、Qtアプリとの親和性によって生産性も高められること。他のGUIテスト自動化ツールではコードを組める範囲が制限されるため独自の処理が入れづらい場合もあるが、Squishは処理が比較的自由で外部ツールの活用も容易なほか、オブジェクト認識が課題となるE2Eテスト(システムやプロセス全体の機能をユーザーの視点から確認するテスト手法)では、Qtで設定したオブジェクトの名前を活用することで画面の位置や場所を正しく認識してテストができる点も優位にはたらくという。「Qtアプリとの親和性はスムーズで環境影響が少ないGUIの自動テストに直結するため、それが一番のメリットに感じています」と河合氏は話す。
2つ目は、導入効果が顕在化したこと。現在実施している全約1万5,000件のテストケースのうち、約40%の自動化を実現したという。また、自動化部分のテスト実施工数においてSquish活用後は手動テストと比較して約85%減の約15%にまで削減。運用してきた過去6年間のテスト見逃し件数はゼロとなり、細かいバグも拾えるようになったため、テスト期間中に複数回の自動テストを実施できるようにもなったという。「テスト自動化率は今後更に拡大可能だと見ています。仮にSquishを導入していない場合、恐らく現在のテスト要員を1.6 ~ 1.7倍にするか、テスト期間を同程度延長しなければならずJMAGのアップデートを計画通りリリースしていくというビジネスニーズには応えられなかったかもしれません」と河合氏は分析する。
3つ目は、豊富なAPIが備わっているためテスト作成の効率が向上すること。例えば、一般のGUIテストを自動実行する際に、ユーザーの操作を記録してテストスクリプトを作成するレコーディング機能を活用しようとすると、画面遷移前に遷移後のボタンを押下する動作をすることで失敗するケースが多く見られるが、Squishではタイムアウト間隔が経過するまで待機するAPIが用意されているので、担当者はテストを効率良く進めることができる。他にも、APIがライブラリ的に備わっているため、サポートが不要なほど簡単でわかりやすいといった評価も得られているという。
JMAGのGUI回帰テストの自動化率を70%にまで上げることが将来的な目標
今後、 JMAGビジネスカンパニーでは、Squishの機能について知見や情報を蓄積し、将来的にはJMAGのGUI回帰テストの自動化率を70%にまで上げることを目標に取り組んでいく考えだ。
河合氏は、「Squishの活用は当初の想定より効果が出ており、特にテスト実施工数が15%にまで削減したことはJMAGの品質保証の効率向上に大きく貢献していると高く評価できます。また一般の自動テストツールでは何らかの理由で止まる現象が運用コスト上昇につながりますが、Squishの場合はそれが非常に少なく、週末を使ってテストを実行できるほど安定して活用できています。本格的にテスト自動化へ踏み切ったことは総合的に大成功でした。今後更にSquishの活用率をアップさせるため、Qt Groupには情報提供などのサポートを期待しています」と語る。
“今はない、答えを創る。”というブランドメッセージのもと、新しい価値に挑戦して最後まで成し遂げ、そして誠実に取り組むJSOLに、Qt Groupもグローバルの知見を惜しみなく提供して伴走し続ける存在でありたいと考えている。