DevOpsユーザー会 2024 開催報告(2024/6/20)
|
2024年6月20日(木)にアシスト主催の「DevOpsユーザー会」をオンラインで開催致しました。2022年にスタートし、今回が5回目となります。
今回もOpen Text Corporationテスト自動化製品(UFT One、LoadRunner)をご利用のお客様を中心に40名の申し込みをいただきました。
今回は、「テスト自動化は何が難しい?テスト自動化を阻む壁について共に考える」をテーマに以下のアジェンダで開催しました。
セッション1 :自動テスト導入効果の伝え方
~チーム全体へ自動テストの良さを伝えるために~
最初のセッションは、自動テスト戦略、設計、実装のエキスパートとして活躍されております 株式会社SHIFTの中根様よりご講演いただきました。
株式会社SHIFT 中根 里空 様
|
セッション1 サマリ
自動テストの理想的な形
自動テストの対象は、「UIテスト」「結合テスト」「単体テスト」と種類分けされる。
自動テストの理想的なバランスを示す「自動テストピラミッド」に基づき、コストと安定性の面からテスト比重は「単体テスト」→「結合テスト」→「UIテスト」とするとバランスが良い。
失敗する自動テスト導入の考え方
2つの失敗事例を紹介。
- ●アンチパターン1:既存の手動テストをそのまま自動化するパターン
- このケースはUIテストのみの実装となることが多い。結果「テストデータ準備の大変さ」「ブラウザなどのバージョン変更による影響」への対応により自動テストスクリプトの修正に時間がかかってしまい、かえって工数が掛かり効果発揮に至らない。
- ●アンチパターン2:よくわからないまま何となく自動化するパターン
- テスト自動化のエラー結果に一喜一憂し自動化自体をあきらめる。自動テストはシステムに影響がないことを確認することが目的だが、自動テストを実装しても障害がゼロになるわけではないことを理解していない。
自動テストは効果を実感しにくく、効果が出るのに時間がかかる。効果が出る前に自動化テストを諦め、
撤退するケースが多い。
効果の高い自動テスト運用を目指して
定期的にリターン(効果)を表すことで安心してテスト自動化を継続できる。
- ●どのようにリターンを示すか?
- リリース時に自動テスト範囲で障害が出ないことを示す。加えて開発過程で障害対応を早期にできることにより障害ゼロに繋がったというプロセスを示すことが重要。
- ●リターンを出すためには?
- 自動テストに任せる範囲を徐々に拡大していく。
自動テストの難易度・重要度を考慮し、まずは進めやすいところから始める。
目先の効果にとらわれずに着実に品質を向上させていき、信頼を勝ち取り、領域を広げることが重要。
まとめ
- 自動テストは手動テストの工数を削減するためだけのものでは無い。
- RPAと異なり成果物が見えにくい面がある。
- まずは自動テストの良さを実感できるよう少しづつ広げていくことが重要。
QAコーナー
Q:
テスト自動化の計画段階で特に注意することは何ですか。また自動化の目的を明確にするヒントを教えてください、
A:
お客様とツールを導入する側でコミュニケーションをとることが最も重要。お客様はテスト工数削減だけを目的にされていることが多いが、工数削減だけを目的にするとうまくいかない。工数削減だけが効果ではない点も考慮しないといけない。自動テストの目的の認識合わせが重要。
Q:
UIテストにおいて、テストデータの準備、ブラウザのバージョン変更にうまく対応しているケースがあれば教えてください。
A:
Chromeのバージョン変更をはじめ、自動化対象となるシステムに合わせて必要な最新版ファイルをダウンロードするなど事前準備を自動化して、変更に強い自動化実装に対応。テストデータの準備からテスト自動化まで連動して自動化されるのが、理想と考える。
Q:
テスト自動化計画段階でSHIFTさんのサービスがあれば教えてください。
A:
自動化のフィジビリティスタディを行うサービスがある。自動テストを行うアプリケーションに対して、実際に対象のアプリケーションに触れて自動化検証を行い、自動化の安定性などの頭目を4段階評価して、自動化の判断を行っている。
Q:
テストにおける生成AIの活動について、中根さんの意見をお伺いさせてください。
A:
単体テストを生成するAIは近い将来出てくると考える。一方でUIテストは、自動化スクリプト生成を補助する機能として生成AIを活用するのがよいと考える。
セッション2 :開発スピードを加速させるテストデータ準備の自動
2つ目のセッションは、データベース仮想化分野における国内第一人者であるDelphix Software合同会社 高峰様よりテストデータ準備の重要性とデータベース仮想化による効果、事例をご紹介いただきました。
Delphix Software合同会社 高峰 康 様
|
セッション2 サマリ
「テスト品質向上」、「テスト時間短縮」、「人的リソース不足への対応」を目的としたテスト自動化は重要である。しかしながらその前段階「特にテストデータ準備」のリードタイムがボトルネックになっているケースが多く多くのお客様の課題となっている。テストデータ準備は、テスト自動化、またDevOpsにおける最後の未開拓分野と言える。
テストデータ準備を自動化するためには確実、効率的である必要があるため、データベースの仮想化技術をお勧めする。
データベースの仮想化技術は、元データを読み込み専用とし、テストプロセスで発生するデータの変更部分を書き込み差分として追加の領域で管理する。そのため、各仮想DBは独立したデータベースとして占有して書き込み自由なDBを用意できる。
そのデータを提供するのはデータ容量に関わらず仮想データベース作成は5分以内となりストレージ容量も最大1/10となり得る。
|
国内事例
- ●卸売り事業者
-
アプリケーションリリース時の障害ゼロを目指していたが以下の2点が原因で本来実施すべきテストを行えていなかった。
- 開発環境におけるリソース問題
- 長時間に及ぶデータ待ち時間
データベース仮想化によりテスト環境の再作成時間が1週間から数分に短縮され開発者がいつでもテストできる状態となった。結果、本来実施すべきテストを網羅することができるようになりリリース時の障害ゼロを実現。また、年間20人月分の工数削減にもつながった。
お客様は「まるでデータベースのタイムマシンを手に入れたみたいだ」と評価。
- ●国内大手証券会社
-
証券データというセンシティブなデータが対象となるため本番環境と開発環境を分離。
本番環境上でデータベースを仮想化しデータマスキングを施した上でレプリケーションし、開発環境で利用。
開発者は好きな時に好きなだけ安全なデータでテストが可能となった。
- テストデータの待ち時間が10時間から1~5時間に短縮
- 再テストのデータ初期化のリードタイムが1週間から10分へ短縮(巻き戻し機能を活用)
お客様は「年間一億円のコスト削減効果が生まれた」「アプリケーション品質向上によるビジネス面の効果は絶大」と評価。
まとめ
- 1.テストデータの待ち時間を10分以内に短縮。
- 2.開発者みずからテスト用DBを運用。
- 3.仮想化でテスト用ストレージの容量を削減(最大1/10)
QAコーナー
Q:
DelphixはPaaSのDBにも対応しているか
A:
PaaSのDB種類によるが、データを取り込むことが可能。例えば、Oracle RDSの場合、一度バックアップファイルを経由して、Delphixにデータを取り込む。
Q:
本番DBから仮想DBへのレプリケーション負荷は、本番DB側で考慮した設計が必要か
A:
DelphixはDBのバックアップ(フルバックアップ、差分バックアップ)を行う仕様。考慮点はバックアップを取得する運用設計と同レベルの考慮が必要。
セッション3 :UFTおよびLoadRunnerの厳選ナレッジ紹介
3つ目のセッションは、アシスト豊福より日頃弊社サポートセンター宛に頂戴する多くのお問い合わせの中から厳選したUFT One、LoadRunnerにまつわるお役立ちナレッジを紹介させて頂きました。
株式会社アシスト 豊福 晶
|
セッション3 サマリ
以下のような傾向を踏まえ各製品ナレッジを紹介
- UFTはバージョンアップに伴う問い合わせが多い。
- LRはスクリプト生成に纏わる問い合わせが多い。
UFT厳選ナレッジ
- インストールに関するナレッジを4つ紹介
- 【対応環境】動作環境としてサポートするWindows10、11のバージョンについて
【仕様】UFTをご利用いただく上で必要なアクセス権限について
【仕様・設定方法】UFT One を完全アンインストールする方法について(バージョン2023)
【仕様】ウィルス対策ソフトのホワイトリストへのUFT関連プロセスおよび関連フォルダ追加
- 障害に関するナレッジを5つ紹介
- 【障害情報】Linkをクリックすると操作が実行されない
【仕様・設定方法】UFTのパフォーマンスの改善
【障害】OS標準ユーザでUFT2023の[ツール]‐[オプション]の変更ができない
【仕様】UFTが生成する一時ファイルの削除について
【障害情報】Windows Update後のUFT修復インストールのお願い
- 関数に関するナレッジを4つ紹介
- 【使用・設定方法】GetROProperty()メソッドの使用方法
【設定方法】SetToProperty()の使用方法について
【使用・設定方法】オンラインヘルプをオフラインで開く手順
【使用・設定方法】テストスクリプトをスケジュール実行する方法について
- ライセンスに関するナレッジを4つ紹介
- 【使用・設定方法】一定時間UFTが無操作の場合にAPLS側でライセンスを解放する方法
【使用・設定方法】コミュータライセンスの適用方法
【使用・設定方法】リモートコミュータライセンスの適用方法
【トラブル対応】UFT異常終了時のライセンスの解放(APLSへのライセンスの返却)について
LoadRunner厳選ナレッジ
LoadRunnerで記録できない場合の確認ポイントを紹介
- LoadRunnerのバージョンでサポートされるかを確認
- 切り分けのため、手動でブラウザ(プライベートモード)で起動して操作が可能かを確認
- 別のブラウザの記録可能か確認
- 一時的にウィルス対策ソフトを無効化してみる
- LoadRunnerプロキシを利用して記録してみる
- LoadRunnerから起動したタブを無視して、新規タブからURLを入力して記録してみる
- 信頼済みサイトに登録して、記録をしてみる
- Hostsに登録し、記録をしてみる
- LoadRunnerのレコーダーを使わずに、ネットワークトラフィックファイル(HAR)ファイルを生成後、
LoadRunnerに読み込む
紹介したナレッジは、すべてFAQという形で公開しており、サポート問い合わせシステム「AWSC-2」のアカウントをお持ちであれば参照可能と説明。改めて「AWSC-2」アカウントの作成とFAQの利用を周知。
QAコーナー
Q:
UFT Oneが生成する一時ファイルの問題は、BPMから実行する場合も該当するか。削除が必要か。
A:
UFTを起動される場合は一時ファイルが生成されるため、削除することを推奨する。
アンケート結果
6月度のユーザー会への満足度
|
ご参加いただいたお客様からのコメントを一部抜粋してご紹介します。
- 「自動テスト導入効果の伝え方」の話は、まさに、アプローチを考え中でしたので、ありがたかったです。
- 3つ目のナレッジ集は覚えておけばトラブル発生時にFAQにすぐたどり着けそうな気がしました。
- より実際の事象をイメージした内容だったのでスムーズに理解することができました。
- テスト自動化を進めるにあたり、有効な手段や活用方法を知ることができました。
- セッションごとに分かりやすい説明や具体的事例を交えた紹介があり、学びを得ることができました。
- 品質保持のためにテストを自動化していきたいと思った。
- 自動化効果の考え方や伝え方などを今回聞いた内容を踏まえて注意していきたいと思いました。
- まずは簡単で定型的な「問題ないことを確認する」テストから自動化していく予定です。
DevOpsを実現するために必要だと考えるプラクティス(ツール)は何ですか?
|
今回もご参加いただいたお客様に、DevOpsを実現するためのプラクティス(ツール)についてお聞きしました。
前回同様「テスト自動化」「テストデータ準備」「CI/CD」「環境構築自動化(IaC)」が必要と考える方が多いことが分かりました。
今後も「テスト自動化」と環境準備の効率化をユーザー会でも取り上げていきます。
ユーザー会で取り上げたいテーマがあれば記載ください。(一部抜粋)
- テスト自動化の進め方について
- クラウドシフト・リフトの事例
- AWS環境におけるCICDパイプラインの構築
- パイプライン設計
- AI技術の利用や効果
テスト自動化だけではなく、CI/CD、パイプライン設計などの要望をいただきました。次回のテーマ選定時の検討材料とさせていただきます。
次回は10/2(水)を予定しております。次回も皆さまのご参加、お待ちしております。
矢野 英也
|
|