ツールを用いたテスト自動化と継続的インテグレーションの実現
テクマトリックス株式会社
システムエンジニアリング事業部
ソフトウェアエンジニアリング営業部

会社紹介

テクマトリックスは、最新のIT技術を活用し、顧客企業のビジネスモデル変革と企業競争力の強化をご支援するITのスペシャリスト集団です。日々技術革新が進むIT分野において、常に新しい技術トレンドを掴み、時代を先駆ける最先端かつ最高のテクノロジーとソリューションをお届けします。
設立

1984年8月30日

上場市場

東京証券取引所市場第一部

従業員数

1,057名〔連結〕（’18年3月末現在）

本社所在地

東京都港区三田3-11-24 国際興業三田第2ビル© 2019 © TechMatrix Corporation. All rights reserved.

2

ソフトウェア開発の環境の変化
時代の変化が高速化し、ニーズが多様化するにあたり、ソフトウェアの重要性が向上しています。
市場競争力や戦略は、ソフトウェアで実現することが求められていいます。

2008

2018

2008

2018

Rank

Company

Rank

Company

1

Exxon

1

Apple

2

General Electric2

Google3

Microsoft3

Microsoft

4

AT&T

4

Amazon5Proctor & Gamble

5Facebook

6Berkshire

6Berkshire

7Google

7

J&J

8Chevron

8JP Morgan

9J&J

9Exxon10Walmart

10

Bank of America

VSAI

クラウド

ロボット

自動運転

IoT

SNS

ソフトウェアの重要性が向上

largest companies by market value in 2018 vs2008

ビジネス＝ソフトウェア© 2019 © TechMatrix Corporation. All rights reserved.

3

いかにリリースを早くするか？
「企業の競争力=製品のリリーススピード」となりつつある現代において、品質の高いソフトウェアをいかに早く市場にリリースするかという点が重要になってきています。

１．テスト自体を自動化する
例：Junitによる単体テスト、Seleniumによるwebアプリテスト
2．ビルド、テスト、デプロイなどの一連の流れを自動化する
継続的インテグレーション(CI)、継続的デプロイメント(CD)© 2019 © TechMatrix Corporation. All rights reserved.

4

本日ご紹介するツールUIテストを効率的に自動化

Ranorex
組織的なCI/CDを実現

CloudBees Jenkins Solution© 2019 © TechMatrix Corporation. All rights reserved.

5

UIテスト自動化：Ranorex© 2019 © TechMatrix Corporation. All rights reserved.

6

テスト自動化の目的と効果
コスト削減» 再利用・繰り返し実行可能な自動テスト» 従業員の工数削減 (手作業でのテスト工数の削減など)» 欠陥の早期発見・修正工数の削減

効率向上» テスト実行時間の短縮» テスト実行回数の増大

品質向上» 対象システムの品質向上» テストの品質向上 (属人的ミスなどの排除)© 2019 © TechMatrix Corporation. All rights reserved.

7

UIテスト自動化への様々な課題
複数のプラットフォーム・デバイス・テクノロジーへの対応

テスト対象システムの頻繁な変更・リリース
テストケース・テストスクリプト作成/保守の負荷
他システム(BTS,SCM,etc.)との連携
担当者のスキルセット・スキルレベルのばらつき
ツールの学習コスト…

© 2019 © TechMatrix Corporation. All rights reserved.

8

Ranorex
Test Automation Made Easy

オールインワンのUIテスト自動化ツール
さまざまな環境・デバイス・ソフトウェアアプリケーションをサポートするテスト自動化ソリューション

© 2019 © TechMatrix Corporation. All rights reserved.

10

Ranorex のテクノロジー
様々なテクノロジーのサポート

デスクトップ : 最新のWin10の他、多くの3rdパーティ製コントロールをサポート
Web: Flash,AIRなどのRIAをサポートし、クロスブラウザーでのテストをサポート
モバイル : Android/iOSの実デバイス上でのテストをサポート© 2019 © TechMatrix Corporation. All rights reserved.

11

Ranorex のテクノロジー
キャプチャ＆リプレイ» マウス・キーボード操作を記録し、テストを作成» 記録されたアクション(テストシナリオ)と、識別したオブジェクト情報を分離して管理» 記録されたアクションをGUI上で編集可能© 2019 © TechMatrix Corporation. All rights reserved.

12

Ranorex のテクノロジーオブジェクト認識» 見た目や座標に依存しない、コード情報ベースの堅牢なオブジェクト認識» オブジェクト情報とテストシナリオの分離» 動的なユーザーインターフェイスのサポート» オブジェクト認識のための RanoreXPath テクノロジー© 2019 © TechMatrix Corporation. All rights reserved.

13

Ranorex のテクノロジー
再利用性の高いモジュール» 一連の操作の流れを「モジュール」として管理・再利用» ドラッグ&ドロップによる、複数のテストケースでの再利用» モジュールの変更は、モジュールを参照しているすべてのテストケースに自動で反映© 2019 © TechMatrix Corporation. All rights reserved.

14

Ranorex のテクノロジー
データ駆動型テスト» GUI上から、ソースコードレスでデータソース・データバインドを設定» Excel,CSV,データベースをサポート» データイテレーションごとのレポート生成© 2019 © TechMatrix Corporation. All rights reserved.

15

Ranorex のテクノロジー
豊富なバリデーション(検証)» フィールド値、イメージ、ツールチップ、その他オブジェクト属性» オブジェクトの存在検証、オブジェクトの属性検証、オブジェクトの画像比較» 指定、データソース値、正規表現で指定
バリデーションの種類● オブジェクトの存在検証
・ オブジェクトの存在の有無を検証します。

● オブジェクトの属性検証
・ オブジェクトの属性値が期待値に一致するかを検証します。
正規表現や部分一致での検証をおこなうことができます。

● UI要素の画面ショット比較・ オブジェクトの画面ショットが期待する画面ショットに一致するかを検証します。類似度の指定や、画像フィルター(エッジ抽出やモノクロ化)を行っての比較もできます。

© 2019 © TechMatrix Corporation. All rights reserved.

16

Ranorex のテクノロジー
より高度なテストスクリプトの作成» 標準的なプログラミング言語 (C#, VB.NET) のサポート» Ranorex API による高い拡張性» キャプチャベースのテストシナリオとの互換性© 2019 © TechMatrix Corporation. All rights reserved.

17

Ranorex のテクノロジー
他ツールとのシームレスな連携» テストをテスト実行ファイル形式(*.exe)で保存» JenkinsなどのCI環境とのシンプルな連携Replaying

ジョブの起動コードのコミットバージョン
管理システム

テストのコミット

CIシステムRuntime
テストの実行

ビルド結果のフィードバック
テスト結果のフィードバック

Recording

開発者

テスト担当者
Premium

テストの作成/実行© 2019 © TechMatrix Corporation. All rights reserved.

18

CI/CDの実現：CloudBees Jenkins Solution© 2019 © TechMatrix Corporation. All rights reserved.

19注目されている「DevOps」
DevOpsとは、開発(Development)と運用(Operations)を組み合わせた言葉です。これまで組織的に分かれていた、開発チーム(Dev)と運用チーム(Ops)を1つのチームとして統合を行うことでソフトウェアのリリースサイクルを短くすることを目的としています。

実装

テスト

開発

結合(Development)

実装

システムテストリリース

運用(Operations)

テスト

継続的インテグレーション（CI)
継続的デリバリー（CD)Define

Plan

Code

Build

Integrate

Test

Release

DeployOperate© 2019 © TechMatrix Corporation. All rights reserved.

20

CI/CDの普及は？
CI/CDの導入は、「開発だけでなく、リリース・フィードバックなどを含めたサイクルを早め、製品の価値とチームの力を最大限に高めるための継続的・組織的なカイゼン活動」が必要となります。
CI/CD実現に向けては、開発チームと運用チームの間の障壁を取り除く必要があります。会社の組織改革が必要!!

CI/CDに取り組まれていますか？

••••

プロセスや文化を変える必要もありますし、人材も育てなければならない。
学習コストもかかる。自動化の仕組みやツールにもお金がかかる。
ソフトウェアのアーキテクチャを変えないといけない。
自動テストを書かないといけない。

データ：Jenkins Day Japan 2018のアンケート（n=283）© 2019 © TechMatrix Corporation. All rights reserved.

21

まずは、継続的インテグレーション（CI）からをお勧めします!!
継続的インテグレーション、CI（英: continuous integration）とは、継続的にビルドやテストを行う、ソフトウェア開発のプラクティスです。変更に対して、自動でビルドや検証を行い、問題があれば影響範囲の小さいうちに修正することで後工程での手戻りを排除してソフトウェア開発のリードタイムの短縮を行います。
変更

変更

変更

継続的インテグレーション（CI)

変更

ビルド
失敗

従来

リードタイムの増加

修正
修正

修正

ビルド

ソフトウェアの変更をコミット

コミット
後工程

開発者

（大きな手戻りが起こりやすい）

ビルド

結合
変更

変更

テスト
（手戻りの防止）

CI

ビルド

修正

ビルド

リードタイムの短縮

フィードバック

修正

変更が発生をしたらすぐにビルドを行います。
ビルドは、単純なコンパイルだけでなく、テストのなどの検証も含んで行います。

© 2019 © TechMatrix Corporation. All rights reserved.

22

CI/CDツール「Jenkins」とは？

© 2019 © TechMatrix Corporation. All rights reserved.

23

CI/CD実現のためのシェアNo.1ツール「Jenkins」
Jenkins (ジェンキンス)とは、ビルドパイプラインにおける「継続的インテグレーション・継続的デリバリー支援ツール」として利用されています。Jenkinsは汎用性が高く、基本的にJavaが動く環境であればLinuxでもWindowsでも動作させることができます。
また、ビルドやテストに限らずどんなスクリプトでも実行することができるので、ビルドプロセスに合わせてビルドからリリースまで柔軟に自動化が行うことができます。

© 2019 © TechMatrix Corporation. All rights reserved.

24

Jenkins導入以前の課題
ソフトウェア開発では、ソフトウェアのビルドやテストの作業のたびに、社内の中にいるビルド、テストを行う担当者に依頼を行う必要があり、ソフトウェアの開発の生産性に問題あるのではないのか？という動機から、生まれたのがJenkinsです。
Jenkinsは、開発者にとって面倒なビルド、テスト、品質検査、サーバーへの展開などを自動化を行い、ソフトウェアの開発プロセスにおける省力化を目指したものです。
【導入以前】•
手作業のプロセス•
手作業による人的ミス•
ビルドからデプロイまでの主導による繰り返しタスク
•
時間の制約
•
部門間の開発速度の障壁•
矛盾する目標開発者：開発のスピード
オペレーション：安定性•
コミットからデプロイまでの透過性がない

Commit

Build

Test

Stage

CommitBuildTest

Stage

DeployDeploy

開発者にとって面倒な作業をしてくれる執事© 2019 © TechMatrix Corporation. All rights reserved.

25

Jenkinsコミュニティー
Jenkinsには、コミュニティが大きいことから、プラグインも豊富にあり、1400以上のプラグインを利用することができます。
利用者が多いため、日本でも勉強会が開かれていたり、日本語の情報がすぐに手に入るのも広く使われています。

1400以上のプラグイン

170万

あらゆる局面をサポート

ユーザー以上の導入実績

コード・コミット

ビルド・構成管理

テスト・スキャン

リリース

デプロイ

© 2019 © TechMatrix Corporation. All rights reserved.

26

BMW社事例：段階的な継続的インテグレーションを実現
BMW社は、大規模のソフトウェア開発における段階的なCIシステムを導入している事例になります。BMW社の事例を実現するためには、コードがコミットされたら自動的にリリースまで行われるビルドパイプラインが整備されていることが必要になり、開発者の働き方の変更も必要になります。
ですが、CI導入の基本としては、ビルドパイプラインは最初は小さな単位でビルドと検証を行いながら、フェーズが進みにつれて大きな単位での検証が行われるように設計します。そうすることで、エラーフィードバックが早くなり、影響範囲の小さなうちに修正されるようなプロセスとなります。

BMW社の事例結合

2nd CI

システムテストデプロイ

結合

1st CI

リリース

結合

結合
デプロイ

ソフトウェアの変更をコミット

ビルド

デプロイ

０CI

開発者

製品ラインナップ

3rd CI

ビルド

ビルド

デプロイ

結合テスト

結合テスト
単体テスト

© 2019 © TechMatrix Corporation. All rights reserved.

27

理想なソフトウェア開発では、製品のリリースを70倍速く理想的なソフトウェア開発で、多段階CIシステムを導入した場合では、変更した内容が反映されるまでの時間に70倍の違いが生まれてきます。
70倍の違いがある場合、目的地まで『６日』かかる乗り物と、目的時まで『2時間』で着く乗り物があるとしたら、どれだけの差が生まれるでしょうか？また、どれだけの費用対効果が得られるでしょうか？
例：1行のソースコードの変更が最終的な製品に送り込むまでの時間

０CI

開発者

CI導入

1st CI

2nd CI

3rd CI

結合

結合

結合

結合

デプロイ

ビルド

デプロイ

ビルド

デプロイ

結合テスト

単体テスト

ビルド

システムテスト

デプロイ

結合テスト

リリース

6日
最大35日
最短

以前の開発
周回遅れ

40

コミット

SWコンポーネント
2Week

160

800

Local SW結合
１Week

Global SW結合
１Week

2時間
最大12時間
最短

4000
製品結合
１Week

© 2019 © TechMatrix Corporation. All rights reserved.

28

CI (継続的インテグレーション) のメリット
新しいビジネスに対して、スピード感のあるサービスの創出を目指すためには、システム運用や利用現場からのフィードバックを迅速に反映できる仕組みが必要です。 CI導入により、これまでプロジェクトの最終段階で見つかっていたエラーが、早く小さなコストで修正されるようになるため、開発チームの生産性が向上し、品質の良いソフトウェアの開発に繋がります。

影響規模の小さいうちにバグを修正

生産性の向上バグバグ
ビ
ド
ル
敗失

安定版を確保するstableunstable

unstable

開発の競争力stable

品質の良いソフトウェアの開発
同じ環境・手順・設定でテストする
知的な作業に集中する
開発データを蓄積する
設計

手作業の削減実装
テスト
ビルド© 2019 © TechMatrix Corporation. All rights reserved.

29

効果が限定的なCIの問題
Jenkinsを使ってCIを行っているが、効果が限定的になってしまう問題があります。
効果が限定的なCI
Start

構成管理ツール

コミット

ビルド

静的解析

単体テスト

メトリクス計測

それまでのコミット全て効果が限定的なCI

定時実行

1日
メールを放置ビルド

フィードバック：1週間<>

問題レビュー：2時間

フィードバック

テスト

1週間前の修正を思い出しながら・・・

タイミング

日に1回や週に1回などの定時実行

対象単位

それまでのコミット全て

内容

開発者全員へ通知

静的解析

コーディング規約のチェックを行っている

単体テスト

回帰テストを実施

結合テスト

CIでは行っていない

原因調査：2時間

1週間と2日と7時間修正：2時間
Start

構成管理ツール

1日

コミット

ビルド

静的解析

単体テスト

メトリクス計測30分© 2019 © TechMatrix Corporation. All rights reserved.

30理想的な開発プロセスへの「CIパイプライン」
コミットされた変更にCIで行われる一連の流れをCIパイプラインと呼びます。Jenkinsを利用して、自動化されたビルドパイプラインの設計が重要となります。
CIパイプラインStart

構成管理ツール

コミットされたタイミングで実施
コミット
ビルド

0秒

静的解析

単体テスト

メトリクス計測30分

理想的なCI
ビルド

問題があれば即座に担当者へ通知

フィードバック

修正：15分Start

テスト

構成管理ツール

0秒

コミット

ビルドタイミング

コミットされたタイミングで実施

対象単位

コミット単位内容

問題があれば即座に担当者へ通知

静的解析

コーディング規約のチェックを行っている

単体テスト

回帰テストを実施

結合テスト

回帰テストを実施

静的解析

単体テスト

75分
メトリクス計測30分© 2019 © TechMatrix Corporation. All rights reserved.

31JenkinsでCI/CDをはじめる前にJenkinsを利用したいと思っても、自分で環境構築をするには、時間も労力も必要です。
こんなお悩みないでしょうか？

環境構築の時間が取れない
興味はあるが、どうやって始めたらい
いかわからない

自分たちの開発環境に合った環境を作りたい

環境を作る
ノウハウがない© 2019 © TechMatrix Corporation. All rights reserved.

32そこで、これからJenkinsをはじめる方に！
Jenkins担当者をアサインする余裕がない
簡単に、そして今すぐにJenkinsの環境がほしい！

CI環境構築サービス
自社の環境にあったJenkins環境を獲得！

Jenkinsの導入だけではなく、単体テストや機能テストなどもCI/CDに取り入れたい

TechMatrix Jenkins
Platform Package
開発に必要な解析、テストを備えた総合的なCI/CDソリューション

© 2019 © TechMatrix Corporation. All rights reserved.

33

自社の環境にあったJenkins環境を獲得

CI環境構築サービス© 2019 © TechMatrix Corporation. All rights reserved.

34

Jenkinsを明日から始められる「CI環境構築サービス」
CI環境構築サービスは、「Certified CloudBees Jenkins Engineer」が貴社の環境に合わせて、Jenkinsのインストールからジョブの作成・保守を行います。

1

OSS Jenkins のインストール

ソースコードのコミット

ソースコードの取得⁃ OSS Jenkinsのインストールおよび設定を行います。
構成管理
サーバー

2

ジョブの作成⁃ プロジェクトにて実施しているビルドおよびテストを自動的に実行するジョブを作成します。

CIサーバー

開発チーム

結果のフィードバック
Jenkins

3

構築したCI環境の保守サポート(3ヶ月間)⁃ 環境構築後、3ヶ月間の保守サービスを提供します。
⁃ 構築した環境に関するお問い合わせをメールにて対応します。

結果の閲覧（Webブラウザー）

Jenkinsのジョブを実行
1.
ソースコードを取得
2.
ビルドを実行3.
テストを実行
4.
ビルド・テスト結果のレポート© 2019 © TechMatrix Corporation. All rights reserved.

35

「CI環境構築サービス」ご利用のメリット
自動化の基盤を手に入れた後、現在の開発現場に大きな改善が期待できます。
・単体テストの実施などの「自動化する活動の追加(テストの追加)」・他の追加案件プロジェクトでの利用などの「対象の開発プロジェクトの追加(範囲の拡大)」を実施できるように開発工数の削減

作業品質の向上

ソースコードの早期チェックにより、バグ解決数の向上や、コードレビューの工数が削減。

ビルドやソースコードのチェックの定期実行により、開発されるコードの品質が均一化。

これらのメリットが1日で手に入ります
運用の標準化

自動化の促進自動化や構成管理が適切に行われるようになり、運用のルール化。

手間のかかる構築・教育を支援することにより、短期間で、開発現場に自動化基盤を導入。

© 2019 © TechMatrix Corporation. All rights reserved.

36

Jenkins の ためのBest of Breed なCI/CD環境を

TechMatrix Jenkins
Platform PackageStart

構成管理ツール

コミット

ビルド

静的解析

単体テスト

メトリクス計測© 2019 © TechMatrix Corporation. All rights reserved.

37

TechMatrix Jenkins Platform Packageとは？
TechMatrix Jenkins Platform Package は、お客様の現在のCI/CDへの取り組み状況、理想とされるCI/CDに合わせて、Jenkinsと各種ツールを組み合わせたパッケージ型のソリューションです。

構造分析
 アーキテクチャ分析ツール

Lattix ソースコード解析ツール

Understand

コード解析・単体テスト
 C/C++/Java/.NET対応 自動テ
ストツール

Parasoft C++test
Parasoft Jtest
Parasoft dotTEST C/C++対応 自動エラー検出ツール

Parasoft Insure++

機能テスト

ソフトウェア開発基盤

 UIテスト自動化ツール

 テスト管理プラットフォーム

Ranorex

Parasoft DTP APIテスト自動化ツール

Parasoft SOAtest サービス仮想化ツール

Parasoft Virtualize
 Web・モバイル向け負荷テストプ
ラットフォーム

NeoLoad CI/CDのための組織的な利用に最オープンソース
ソフトウェア管理 利用ライセンスの把握、脆弱性、OSSのリスクを可視化

FOSSID適化したJenkins

CloudBees Jenkins
 RedmineのPM/PL業務向け機能
拡張プラグイン

Lychee Redmine
 構成管理・変更管理ツール

AccuRev© 2019 © TechMatrix Corporation. All rights reserved.

38

ソリューションの適用箇所
ビルド時のインテグレーション✔

結合時のインテグレーション

コード解析(C++test, Jtest, dotTEST)

✔

自動化基盤

✔
ビルド✔

✔

✔

✔

構成管理
(AccuRev)

CI/CD基盤(CloudBees Jenkins)

ダッシュボード(Parasoft DTP)

タスク管理
(Lychee Redmine)

✔

✔

✔

✔

✔

APIテスト(SOAtest)

単体テスト(C++test, Jtest, dotTEST)

単体テスト
カバレッジ計測(C++test, Jtest, dotTEST)

メトリクス計測

結合✔

UIテスト(Ranorex)✔
デプロイ(staging)

✔

✔

負荷テスト
(NeoLoad, SOAtest)(Understand)✔

サービス仮想化(Virtualize)✔

アプリケーション
カバレッジ計測アーキテクチャ分析

リリース

デプロイ(prod)(Lattix)

OSSライセンス・
脆弱性検出(C++test, Jtest, dotTEST)(FOSSID)※ 括弧内は製品名※ ビルド時のソリューションは結合時にも適用が可能© 2019 © TechMatrix Corporation. All rights reserved.

39

パッケージご提案例
Start

構成管理ツール

コミット

ビルド

静的解析

単体テスト

結合テスト

© 2019 © TechMatrix Corporation. All rights reserved.

40

パッケージその1:静的解析運用徹底パッケージ
こんな課題に有効
ビルド• Jenkinsをビルドの自動化くらいにしか使えていない• 静的解析ツールのメリットはわかるが、解析を自動化しても違反の対応を開発者がちゃんとしてくれない• 静的解析ツールの運用状況が見えない
課題への解決策Jenkinsをビルドの自動化くらいにしか使えていない⇒静的解析、単体テストツールをCIパイプラインに加えることで、ソースコードの変更ごとに解析を自動実行
問題発生から修正までの時間を最短にします

開発状況が把握できるようになった

静的解析ツールのメリットはわかるが、解析を自動化しても違反の対応を開発者がちゃんとしてくれない⇒静的解析の違反をRedmineのチケットとして自動的に登録。違反やバグへの対応を厳密に管理
静的解析ツールの運用状況が見えない⇒ダッシュボード上でビルドや静的解析の状況をグラフィカルに可視化
チームメンバー、リーダ、マネージャー、品質保証担当者、経営層、などそれぞれの立場に合わせた粒度の情報をダッシュボード上に表示© 2019 © TechMatrix Corporation. All rights reserved.

41

パッケージその1:静的解析運用徹底パッケージ
Git, Redmine, Jenkins, C++test(C/C++向け静的解析ツール), Parasoft DTP(ダッシュボード)を連携し、問題に対するワークフローの一部を自動化
ソースコードの取得

ソースコードのコミット

CIサーバー実行

チケットの通知

チケットの生成・更新

コーディング規約チェック
フロー解析メトリクス計測

開発チーム

単体テスト実行

データの収集テスト結果の格納

結果の閲覧

カバレッジ計測

ダッシュボード（Webブラウザー）
DTP

デモ動画こちら→ https://www.youtube.com/watch?v=ylSXitmaWDs

Jenkins
ツール・サービス＜ツール＞• CIツール：OSS版 Jenkins• 静的解析・単体テストツール：C++test• CIダッシュボード：Parasoft DTP Enterprise• プロジェクト管理：Lychee Redmine＜サービス＞• Jenkins ユーザー向け トレーニング• C++test ハンズオントレーニング• CI環境構築サービス• C運用© 2019 © TechMatrix Corporation. All rights reserved.

42

パッケージその2:UIテスト・負荷テスト自動化パッケージ
こんな課題に有効
ビルド• OSSの利用における、意図しないライセンスの使用や、セキュリティ脆弱性をチェックしたい• ステージング環境にデプロイしてからの機能テスト、負荷テストもCI/CDのパイプラインに組み込みたい• 品質に対するチェックの仕組みをまるごと導入したい
課題への解決策OSSの利用における、意図しないライセンスの使用や、セキュリティ脆弱性をチェックしたい

継続的な品質保証体制がすぐに手に入った！

⇒いつの間にか混入してしまうこともあるOSSをチェックする体制をCIに組み込むことで、プロジェクトのポリシーを守り、セキュリティ対策も実現
ステージング環境にデプロイしてからの機能テスト、負荷テストもCI/CDのパイプラインに組み込みたい⇒機能テストや負荷テストを回帰的に自動実行することで、バグやパフォーマンスの劣化をすぐにキャッチ
品質に対するチェックの仕組みをまるごと導入したい⇒お客様のご状況に合わせて、必要なソリューションを組み合わせてご提供可能
静的解析、単体テスト、OSSチェック、UIテスト、負荷テストなど、必要な技術をまとめてCIで実現© 2019 © TechMatrix Corporation. All rights reserved.

43

パッケージその2:UIテスト・負荷テスト自動化パッケージ
静的解析、単体テストだけではなく、OSSのライセンス・セキュリティチェック、結合後のステージング環境へのデプロイから、UIテスト、負荷テストまでも自動化することができます。

CIサーバー

ビルド✔

チーム

Jenkins

コーディング規約チェック
フロー解析

カバレッジ計測

UIシステムテスト

OSS
ライセンスチェック

✔

✔

OSS
セキュリティチェックデプロイ(ステージ)

デプロイ(プロダクション)

メトリクス計測
単体テスト実行リリース

結合負荷テスト

ツール・サービス＜ツール＞•CIツール：OSS版 Jenkins•
静的解析・単体テストツール：Jtest•
UIテストツール：Ranorex•
負荷テスト・パフォーマンステストツール：NeoLoad•
OSSライセンス＆セキュリティ管理ツール：FOSSID＜サービス＞•Jenkins ユーザー向け トレーニング•
CI環境構築サービス© 2019 © TechMatrix Corporation. All rights reserved.

44

Jenkins運用における悩み～Jenkins Day Japan2018ご参加者様のアンケートより～•運用方法がメンバー全員に共有されていないために問題が発生している。
メンバーに共有しようにも複雑になっており簡単に共有ができない。

•

運用コストを減らしたくて、Masterの数を少なくしているが、最近ハングすることが多くなってきた。

•

細かなセキュリティの設定ができず、だれでも設定を編集できてしまう。

•

ジョブの構成がプロジェクト間で統一できない。次のプロジェクトで改善すると、旧プロジェクトはそのままで、バラツキが解消できない。

有償版のJenkinsが問題を解決します！
組織的なCI/CD運用を実現する

CloudBees Core
© 2019 © TechMatrix Corporation. All rights reserved.

45

CloudBees Coreの主な機能
 Jenkinsを拡張したCI/CDソリューション
 Jenkinsの管理のしやすさとセキュリティを拡張するためのエンタープライズ機能を提供
 増え続けるJenkinsマスター／パイプラインの管理をサポート

 安定版を毎月リリース
 Jenkinsのサポート窓口を提供

オペレーションセンター

共有エージェント

セキュリティ

ユーザー管理

高可用性

分析・解析

サポート

© 2019 © TechMatrix Corporation. All rights reserved.

46

Operations Centerで組織的にJenkinsを運用
CloudBees Coreで組織的なJenkinsの運用を支援いたします。※ライセンスの形態は、別途ご説明いたします。
クラウド環境・オンプレミス環境で自動的にスケールアウトし、チームが増えても変わらない性能のプラットフォームとして組織的な継続的デリバリーを支援します。エラーでJenkinsがダウンしても自動的に復帰する機能もあり、安心してソフトウェア開発のビルドパイプラインとしてご利用になれます。

 Operations Centerで複数のJenkinsを管理

共有エージェント

Operations Center ユーザーや権限を一括で管理
 共有エージェントで資源を有効活用

共有エージェント

Jenkinsマスター

Jenkinsマスター Jenkinsマスター
共有エージェント

チーム

チーム

チーム

© 2019 © TechMatrix Corporation. All rights reserved.

47

Operations Centerで複数のJenkinsを管理
Operations Centerというマスターを管理するためのJenkinsがあり、煩雑になりがちな複数のJenkinsの管理を簡単に行うことができます。複
数チームで1つのJenkinsを利用する必要がなく、チームごとに個別のJenkinsを提供できます。また、全てのJenkinsからエージェント(スレーブ)として利用できる共有エージェントの設定やマスターごとのプラグインアップデートセンターを独自に作成するなど、組織的にJenkinsを利用する際の管理を支援する機能が多くあります。

Operations Center

Jenkins Operations Center
Cluster Operations

Analytics

開発チーム
管理者

Plugin UpdateCenters

簡単に設定

Shared Slaves

Jenkinsの知識がなくても利用できるUI

Jenkins Master

Jenkins Master

Jenkins Masterzzz

Project TeamProject TeamProject Team© 2019 © TechMatrix Corporation. All rights reserved.

48

ユーザーや権限を一括で管理：アクセス制御（RBAC)
ユーザーと権限の管理をOperations Centerで一括で行うことができます。それぞれのJenkinsでは一括で管理されているユーザーの権限でログインを行うことができ、Jenkinsを新しく起動するたびユーザーの設定などを行う必要がなくなります。マスターごとにもアクセス権限が設定できるので、プロジェクト単位で権限のあるユーザーしかアクセスできないJenkinsを立てることも可能です。

開発チーム

管理者

アクセス制御をつかって、プロジェクトを利用できる人を制限

Jenkins Operations Center
Cluster Operations

Analytics

Plugin UpdateCenters

Shared Slaves

開発チーム

開発チーム

開発チーム

AB

CA

Jenkins Master

Jenkins MasterJenkins Masterzzz

Project TeamB

Project TeamCProject Team© 2019 © TechMatrix Corporation. All rights reserved.

49可用性の高いJenkins環境を提供
Jenkinsがダウンしたら自動で復帰する機能があり、ミッションクリティカルな処理でも安心してJenkinsを利用することができます。ロードバランスの仕組みもあり、多くのチームがCloudBees Coreを利用してもストレスのないCI/CDプロセスを提供します。
また、各Jenkinsのシステムやビルドのメトリクスを自動で収集してグラフ化して表示します。成功しているプロジェクトの確認やうまくJenkinsが使えていないプロジェクトへの横展開のために使うこともできます。また、システムの負荷も確認でき、リソースが逼迫しているようであれば必要なVMを追加するだけで問題を解消できます。

高い可用性

モニタリングとアラート通知© 2019 © TechMatrix Corporation. All rights reserved.

50

CloudBees Coreで解決できること
Cloudbees Coreでの運用

Jenkins OSS版での運用共有エージェント

Operations Center
共有エージェント

Jenkinsマスター

Jenkins
マスター

Jenkins
マスター
共有エージェント

エージェントJenkinsマスター
エージェント 各マスターを個別に管理しなければならない 各エージェントを個別に管理しなければならない

管理者

Jenkinsマスター

Jenkinsマスター

エージェント管理者

 ライセンス数の範囲内で、クラウド上に環境の構築が可能
 「Operations Center」を経由し、ユーザー、アクセス権限、プラグイン、各マスターを一括管理可能
 バックアップの取得や、バージョンアップなど、様々な設定も一括で処理することができ、統制の取れた運用が可能
 共有エージェント機能により、エージェントも一括で管理可能
 「Operations Center」を介し、運用状況を細かくモニタリング可能© 2019 © TechMatrix Corporation. All rights reserved.

51

まとめ

世界と戦うための武器を持ちましょう！

• お客様のご状況に応じた、テストの自動化、Jenkins活用のためのご提案をさせていただきます。
• Jenkinsをこれから利用したい、Jenkinsをより活用したい、
CI/CDを加速させたい、
そんなお悩みがございましたら、ぜひお声がけください。

© 2019 © TechMatrix Corporation. All rights reserved.

52

お問合せ

テクマトリックス株式会社
システムエンジニアリング事業部
ソフトウェアエンジニアリング営業部
橘 祐史
TEL： 03-4405-7853

FAX： 03-6436-3553

Mail： ytachibana@techmatrix.co.jp

URL： http://www.techmatrix.co.jp/solution/quality/index.html© 2019 © TechMatrix Corporation. All rights reserved.

53