DevOpsユーザー会 2024 開催報告(2024/10/2)
|
2024年10月2日(水)にアシスト主催の「DevOpsユーザー会」をオンラインで開催いたしました。2022年にスタートし、今回が6回目となります。
今回もOpen Text Corporationテスト自動化製品(UFT One、LoadRunner)をご利用のお客様を中心に35名の申し込みをいただきました。
今回は、「テスト自動化の次は開発プロセスの自動化」をテーマに以下のアジェンダで開催しました。
セッション1:CI/CDによる開発プロセスおよびリリース作業の効率化
|
|
|
セッション1 サマリ
CI/CDとは
ソフトウェア開発のプロセスを効率化するための手法で「継続的インテグレーション(CI)」と「継続的デリバリー(CD)」および「継続的デプロイ(CD)」から成り立っている。
なぜCI/CDが必要か
- リリース時間の短縮
- 人を介していた作業が自動化され、リードタイムが短縮される
- 各作業のチェックも自動化すれば、さらに短縮が可能
- 作業ミスによるデプロイ失敗の軽減
- 手順が定型化・機械化されるため、担当者ごとのばらつきがなくなる
CI/CDとテスト自動化
リリース後待ち時間なくテストが行われることで、コード修正の結果が早く受けとれ、開発サイクルが早くなる。リリース前に潜在的な問題を特定でき、信頼性向上につながる。
CI/CDの仕組みを使って、テスト環境の払い出しを自動化、テスト実施に必要なデータの投入も可能。
ブランチ戦略
ブランチ戦略の目的は、開発プロセスを効率的かつ秩序立てて進めることが目的。ブランチ戦略を立てて、複数の開発者が並行して作業ができ、コードの統合とリリースがスムーズに行える。
QAコーナー
Q.
CI/CDを構築する上で一番苦労される点、気を付ける点について教えてください。
A.
現状のプロセスやフローを整理して、抜け漏れがないかを確認し、CI/CDに実装することで運用がどう変わるかを事前に確認するとよい。
Q.
既存環境がSVNを使っていますが、CI/CDを構築する場合は、Gitを使った方がいいでしょうか。
A.
SVNでもJenkinsと連携することは可能。ただしSVNはブランチを作りにくいため、ブランチ戦略を立てて並行開発をされる場合は、Gitを使った方が良い。
セッション2:VSMを使った開発プロセス可視化、
アプリケーションデリバリー自動化の紹介
|
|
|
セッション2 サマリ
CI/CDの効果は、リリース時間の短縮や、作業ミスの低減、人依存の脱却などがある。複数名で開発、運用をしているチームにとっては、多くの効果を得られるが、一方で、全てのプロセスにCI/CDの仕組みを適用するのは困難であることが多い。
ではどこから始めるのがいいか?現状のプロセスを可視化し、課題の所在と自動化の可否を判断するために、VSM(Value Stream Mapping)の作成、そのためのワークショップについて説明した。
VSMを行うことで、全体時間に占める待ち時間の割合やボトルネックになっている作業を整理して、改善アクションをとることができる。
実際のVSM事例をご紹介し、整理された課題をご紹介。
課題例)
・承認プロセスの見直し
・ソースコード規約の見直し
・テスト実施方法の見直し
・リリース作業の見直し
|
アシストが展開しているソリューション「アプリケーションデリバリー自動化」についてご紹介。アシストでは「サーバ構築」「テストデータ準備」「UIテスト」の自動化をワンストップで支援。
使用するツール
・Ansible
・Delphix
・UFT One
・Jenkins
・GitLab
|
セッション3:UFTおよびLoadRunnerの厳選ナレッジ紹介
|
|
|
セッション3 サマリ
UFT One + ValueEdge Functional
UFT One は、Web、Windowsアプリ、SAPなどのサードパーティー、モバイルアプリケーションなど幅広く対応しているのが特徴。
一方で複数のOSやブラウザ、モバイルデバイスなどのテスト対象環境はお客様が準備することになるが、準備コストも課題にあがることが多い。その課題に対してValueEdge Functionalを使って、クラウド上に複数ブラウザ、モバイルデバイスを用意し、環境準備のコストを削減することが可能となる。
UFT Oneと連携させ、環境準備とテスト実行の工数を大幅に作成することが可能となる。
UFT One のAI機能
UFTオブジェクト認識を画像によるAI認識機能を使い、環境やバージョンが変わった場合でも、スクリプトメンテナンス不要でスクリプト実行が可能となる。
セッション4:サポートセンターが実践する
UFT、LoadRunner問題切り分け方法伝授
|
|
|
セッション4 サマリ
UFT 記録できない場合
1.まずオブジェクトとして正しく認識しているかを確認する
「オブジェクト認識センター」を使って標準オブジェクトとして認識しているかどうかを切り分ける
2.標準オブジェクトとして認識しない場合、環境を確認し、既知の問題か確認
該当するものがなければ、記録モードを変えて、記録を行う
UFT 実行できない場合
1.画面上に対象のオブジェクトが表示されているか確認する
「オブジェクト認識センター」を使って、記録時に学習した対象オブジェクトのプロパティ値と
実行時のプロパティ値に差異がないかを確認する
2-1.プロパティ値が変わった場合は、プロパティ値を直接編集する
2-2.プロパティ値が動的に変化する場合は、プロパティ値を正規表現にする
2-3.認識プロパティ値では一意に識別できない場合、別のプロパティ値を追加する
3.テスト対象の画面表示される前に、UFTステップが実行された場合は、同期をとるための関数を追加する
4.アプリケーション重複起動しないようアプリケーション終了関数、ウィンドウをアクティブにする関数、
スマート認識機能を無効化するなどの処置も検討する
LoadRunner Controllerで発生する問題の切り分け
コントローラ実行のエラーは、LoadRunner側の問題、アプリケーション側の問題、両面から調査する必要があります。
●エージェントのCPU使用率が100%に張り付く
エージェント端末が過負荷になっている可能性が高い。エージェント端末を増やして負荷分散する
●パラメータエラーが発生する
パラメータデータの不備。データ数が不足していないかなどパラメータデータを見直す
●エージェント接続エラー
エージェントの設定の問題。コントローラ、エージェント間のネットワーク設定を見直す
●ライセンスエラー
適用ライセンスを見直す
●サーバのCPU使用率が100%に張り付く
負荷テストシナリオやアプリケーション側のスペックや設定を見直す
●アプリケーションエラー(Internal Server Error等)
アプリケーション側の設定を見直す
QAコーナー
Q.
負荷テストの準備で一番時間がかかるところはどこか?
A.
スクリプト作成、用意したデータに不備がないかのデバッグに時間がかかることが多い。
アンケート結果
10月度のユーザー会への満足度
|
ご参加いただいたお客様からのコメントを一部抜粋してご紹介します。
- DevOpsの本筋の話で、一貫性があり、理解しやすかったです
- 特にCI/CDについて、基礎的な内容を学ぶことができたと感じる。また、ビジネス・マネジメント手法についてもご紹介いただけたのが良かった
- UFTのTipsが大変参考になった
- テスト自動化に関する有益な知見、アップデートが得られた
- 社内GitLab環境において、ブランチを有効活用できていなかったのでこちらの運用方法を確立したいと思います
- メンテナンス性を確保することに気を付けています。自動テストは一度作成すれば終わりではなく、システムの変更に応じてテストスクリプトも修正する必要があります
- 自動化したシステムの保守をどのようにしていくか計画していきたい
DevOpsを実現するために必要だと考えるプラクティス(ツール)は何ですか?
|
今回もご参加いただいたお客様に、DevOpsを実現するためのプラクティス(ツール)についてお聞きしました。
今回は、CI/CDがテーマだったためか、「環境構築自動化(IaC)」が多い結果となりました。
マイクロフォーカスさんのセッションにもあったようにテスト環境準備のスピードアップ、工数削減が今後ニーズが高まってくるかもしれません。
ユーザー会で取り上げたいテーマがあれば記載ください。(一部抜粋)
- DevOpsエンジニアとしての市場価値を高めるようなビジネス・マネジメント手法や、汎用的なツール(AnsibleなどのOSS)の(UFTなどの製品と組み合わせるような)活用方法について知りたいです
- チームカルチャーとDevOps導入の成功事例
- CI/CDパイプライン作成で注意したいこと
- プログラム、ソースなどの世代管理
- LoadRunnerスクリプト作成のTipsなど
皆様の課題や興味がDevOps関連のカルチャーやエンジニア価値、CI/CDやソース管理など多岐にわたります。今後のDevOpsユーザー会のテーマに参考にさせていただきます。
2025年も開催予定です。
またのお越しをお待ちしております。
矢野 英也
|
|