Comments
Description
Transcript
ソフトウエアテストは可視化されてますか?
X-over Development Conference 2011 手動テストを制する者はソフトウエアの品質を制す! ∼テストを円滑に進めるための手法と管理ツール∼ マイクロフォーカス株式会社 2011/9/16 アジェンダ • テスト自動化の実態 – 数字からみるテスト自動化の現実 • 手動テストをコントロールする – 手動テストのダークサイドとコントロール • マイクロフォーカスからの提案 – テスト管理ツールから手動テストを行う 2 ある組織のソフトウェアテストの実態(1) • 「このテストの割り当てはH君にしよう。72hをExcelシートに インプット」 • 「テストケースは全部Excelにまとめてあるよ」 • 「テスト手順は開発したAさんに聞くとわかるよ」 • 「テストデータはこのくらいでいいかな。誰もチェックしなくても いいだろう」 3 ある組織のソフトウェアテストの実態(2) • 「バグがあったのでWord形式のファイルに記入した」 • 「作業時間オーバーしたけど72hしかないからそのまま報告 しよう」 • 「このテストは前回もやってるから省略しよう」 • 「ベテランのCさんでないとテスト方法がわからないよ」 4 この数字の意味は? 27% 70% 13% 12% 5 答え:テストツールの利用率 単体テスト 9.5% 27.7% 利用している 利用していない わからない 結合テスト 12.5% 13.8% 62.8% 利用している 利用していない システムテスト 14.1% わからない 73.7% 12.9% 利用している 利用していない わからない 73% ※日経SYSTEMS 2011年6月号 「なぜテストツールは使われないのか」より引用 6 テスト自動化の範囲 • 一般的にテスト自動化ツールが利用できる範囲は30%と言 われています。残り70%は依然、手動テストです。 • 環境の要因 – テスト環境/データの準備が複雑 – 自動化ツールで認識できないGUI部品 – 対応していないブラウザ 70% • その他要因 – 人間の感覚に頼るテスト(デザイン、使いやすさ) – インストールテスト 7 無計画なテスト自動化ツールの導入 • コスト高になるばかりか使いこなせず塩漬けになる可能性も • 開発プロジェクトで自動化できる画面はどのくらいあるか? • 開発したシステムは何回メンテナンスされるか? 8 テストツールは銀の弾丸ではない! • テストツールを導入したからテスト工数が著しく削減された り、作業が楽になるわけではありません。 • ツールは文字のごとく「道具」にしかすぎません。 – ※ 銀の弾丸:銀で作られた弾丸で、狼男や悪魔を一発で撃退できる という意味から転じた比喩表現 9 手動テストのダークサイド • テスト自動化ツールにのみ注目されていて、手動テストは進 歩してないように見えないか • 多くのエンジニアはExcelを使って手動テストを行っている – 90年代からずっと変わっていない – Excelに手順を書いて、それを見ながらテストしている – Excelの手順通りにやったテストは結果がすぐに反映されず、問題が 見つかっても記票されるまでそのままのことが多い 10 Excel職人を否定はしません、でも….. • あなたの組織のソフトウェアテストが円滑に行われている か、品質に問題無いか、正確に把握できていますか? • テスト状況をレポートするためにマクロだらけになって、その メンテに苦労してませんか? • テスト要件の変更、ドキュメントの変更がチームメンバーに ちゃんと伝わってますか? 11 いくら自動化ツールで頑張っても部分的でしかない 有償テスト自動化ツール 機能テスト 負荷テスト オープンソース JUnit NUnit 要件定義 設計 開発 テスト 単体テスト 12 統合テスト リリース 保守 システムテスト テストプロセス全体が見渡せない! • テスト自動化ツールを導入したが相変わらずプロジェクトの 他部分に遅延は発生し、スケジュールは予定通りにならない • 30%の自動化結果を把握できてもテストプロセス全体が見 えない • 残り70%の手動テストをなんとかしないと! 13 手動テストをコントロールするために必要な機能 必要な機能(※部分は必須項目) テスト要件が把握できる※ テストシナリオの作成/更新が容易できる※ テストシナリオの共有化が図れる※ テスト時間の割当てとテスト実行時間が収集できる※ テストデータを一元管理し、共通で利用できる※ 手動テスト時に最新のテスト手順が閲覧できる※ 手動テストの進捗が把握できる※ 手動テストの方法がナレッジ化される※ 障害報告をリアルタイムに行える※ 手動テストと障害報告に関連性も持たせる 障害発生時に画面イメージや環境情報等を添付できる 障害発生時再現手順を報告できる データドリブンな手動テストができる 14 フォースならぬツールを使え! • テスト管理ツールでできること • 情報の一元管理 – テスト要件、テストシナリオ、テストデータ、テスト結果、障害管理 • テスト自動実行 /手動テストのコントロール – 有償ツールの機能として実装されていることが多い • テスト結果の集計/分析 15 テスト管理ツールにより視覚化されるテストプロセス どんなテスト要件 がある? その進捗率は? テストプラン 機能 / 負荷テスト の実行結果 手動テストの実行 結果 アジャイル ウォーターフォール アウトソーシング グローバル化 これらの情報を収 集し、視覚化する ことで個人で管理 していたデータの 組織化が行われ る 3rd パーティ製ツール 内製ツール Micro Focus製品 16 マイクロフォーカスとは COBOL言語を中心とした モダナイゼーションの ソリューションを提供 ソフトウエアテストビジネス には2009年より参入 Compuwareのテスト製品 部門とBorland社を同時に 取得 17 マイクロフォーカス ALMプロダクトマップ 要件定義 設計 開発 テスト 単体テスト 要件分析 要件管理 CaliberRDM CaliberRM 統合テスト 静的コード解析 メモリ分析 動的エラー検出 カバレッジ分析 複雑度解析 リリース 保守 システムテスト パフォーマンス分析 テストケース 自動生成 DevPartner テストの自動化 SilkTest モデル駆動開発 設計・開発 負荷テスト Together SilkPerformer テスト管理 SilkCentral Test Manager ソフトウエア構成・変更管理 StarTeam 18 テスト管理ツール:SilkCentral Test Manager SCTM Client 手動テスト Browser 試験実行環境 SCTM Repository On-line 自動テスト SilkCentral Test Manager SilkTest (回帰テスト) 手動テスト専用アプリ ケーション (Manual Test Client) Off-line テスト項目管理 テスト実行 SilkPerformer (負荷テスト) テスト結果収集 Junit/Nunit 障害管理 Script実行 Fitness 等 3rd vender tool Custom integration 19 テストケースの一元管理 プロジェクトA 自動テスト テストケース1 合格 テストケース2 不合格 自動テスト環境 (テストツール+テストスクリプト) 実行/結果 ・・・ マニュアルテスト テストケース1 合格 テストケース2 不合格 ・・・ プロジェクトB サーバでテスト ケースカバレッ ジ情報を管理 自動テスト テストケース1 合格 テストケース2 不合格 マニュアルテスト (手動でのテスト) ・・・ マニュアルテスト テストケース1 合格 テストケース2 不合格 実行/結果 ・・・ ・自動化テストおよび手動テストを一元管理し、プロジェクト全体のテスト状況を把握 ・テストケースをサーバでグループ化し、Webベースで管理 ・指定したマシンでのテスト自動実行や、関連したテストの順次実行を管理 20 自動テスト実行管理 テスト計画 自動テスト マシンAで SilkTestを実行 自動実行 実行結果 マシンBで SilkPerformerを 実行 サーバでテスト 計画を管理 テスト計画 マシンCで JUnitを実行 SilkTestとの関連 付け マシンDで NUnitを実行 ・ ・ ・ サーバ上のテストケースと、自動テストツールのスクリプトを関連付けし、テスト管理 ツールより自動実行し、結果もサーバ上で管理 21 手動テスト実行サーバ管理 テスト計画 マニュアルテスト (手動でのテスト) テスト手順 参照 テスト結果 登録 サーバで 手動テスト を一元管 理 テスト手順 参照 テスト手順 (ステップ) テスト結果 登録 ・ ・ ・ テスト手順 参照 テスト結果 登録 手動テストの手順をサーバにインポートし、手動実行、結果データの送信、障害報告が できる 22 手動テスト専用ソフト:Manual Test Client 1. テスト手順を確認しがらテスト 2. ビデオで操作を記録 3. 障害発生画面をキャプチャした り添付文書を貼り付ける 4. 障害報告を行う サーバの手動 テスト手順 手動テストの手順をManual Test Clientにダウンロードし、手動実行、実行記録、結果デ 報告、障害報告を行う 23 プロジェクト全体のカバレッジを取得 • プロジェクトの要件に対してどのくらいテストがカバーされた か • + テスト計画に関連するコードのカバレッジも取得可能 24 テスト管理レポート ・プロジェクト毎、テストグループ毎のカ バレッジ情報やテスト進捗を可視化 ・報告された問題を分類してレポート ・レポートはカスタマイズしたり、CSVで 取得も可能 25 要件管理/定義ツールのCaliberシリーズと連携することでテストと 要件の同期が可能に! • 要件とテスト要件 を同期させトレー スが可能 同期とトレーサビリティ • 要件の変更が 記録される 変更管理 • Caliberからテスト 定義を生成 • 品質メトリクスを リアルタイムに Caliberに反映 テストケース生成 品質メトリクス 26 オープンであり自由なインテグレーション •CaliberRDM •CaliberRM •製品ビルトイン •DOORS •RequisitePro •Word/Excel •Bugzilla •Atlassian JIRA •IBM ClearQuest •Microsoft VSTS •StarTeam 障害 追跡 要件 管理 SilkCentral Test Manager • • • • • • StarTeam SAP SolMan変更管理 Subversion Source Safe PVCS, CVS, VFS Microsoft VSTS 変更 管理 テスト 自動化 •SilkTest •SilkPerformer • TestPartner • Junit / Nunit / Fitnesse •手動テスト •VMWare Lab Manager 4 ※太字はマイクロフォーカス製品 27 多様化するソフトウエアテストをカバー SilkCentral Test Manager テストドリブン 開発 受け入れ テスト Unit Automation ビジネス アナリスト ビルド 管理 Silk4J & Silk4Net SilkTest JUnit SOA Automation 探査的 テスト SilkPerformer GUI Automation パフォーマンス テスト テスト自動化 エンジニア マニュアル テスト テスター 開発者 28 インテグレーション詳細図 SilkTest CaliberRDM 要件シナリオ 機能の自動テスト テストケースの自動生成 回帰テスト 要件のシミュレーション オンラインレビュー 一方向の同期 テスト分析 SilkCentral SilkPerformer テスト要件 リアルタイム同期 要件の作成 負荷テストの記録 テストの計画 負荷テストの自動化 テストの実行 障害管理 CaliberRM レポート 用語集 ベースライン管理 影響分析 ベースラインの要件を インプット トレーサビリティ 要件をテストケースに 割り当て 3’rdパーティ製 IDE (Visual Studio, Eclipse) 開発時の メトリクス 情報 ビルドツール 変更管理 StarTeam (Hudson, Cruise) 資産とアクティビティ管理 アクティビティを 資産として登録 資産のバージョン管理 3’rd パーティ製 追跡可能 / バージョン管理 29 ビルド情報の読み込み 冒頭の組織はこうなるだろう(1) • 「このテストの割り当てはH君にしよう。72hを管理ツールにイ ンプット」 • 「テストケースは全部Excelから管理ツールにインポート」 • 「テスト手順は管理ツールにあるからバッチリだ」 • 「管理ツールにアップしたテストデータは、レビューしたよ」 30 冒頭の組織はこうなるだろう(2) • 「バグは、障害管理システムに起票済みです」 • 「作業時間オーバーしてるみたいだけど他と調整できるよ」 • 「このテストは、今回も実施しなければ」 • 「ベテランのCさんに聞かなくても管理ツールを参照したから 大丈夫。ちゃんと前回のビデオもチェック済み」 31 まとめ:SilkCentral Test Managerによりカバーされた 手動テストのキー項目 必要な機能 (※部分は必須項目) SilkCentral Test Manager テスト要件が把握できる※ 9 テストシナリオの作成/更新が容易※ 9 テストシナリオの共有化が図れる※ 9 テスト時間の割当てとテスト実行時間が収集できる※ 9 テストデータを一元管理し、共通で利用できる※ 9 手動テスト時に最新のテスト手順が閲覧できる※ 9 手動テストの進捗が把握できる※ 9 手動テストの方法がナレッジ化される※ 9 障害報告をリアルタイムに行える※ 9 手動テストと障害報告に関連性も持たせる 9 障害発生時に画面イメージや環境情報等を添付できる 9 障害発生時再現手順を報告できる 9 データドリブンな手動テストができる 9 32 SilkCentral Test Manager 対応プラットフォーム システム 要件 CPU Pentium IV 以上、またはx86 と互換性のある同等の プロセッサ メモリ 最低2GB 空きディスク容量 最低10GB、データベースサーバ除く オペレーティング システム Windows XP SP2以降、Windows XP 64ビット SP1 Windows Vista Ultimate Edition 32ビット Windows 7 32ビット/64ビット Windows Server 2003 R2 SP2 Windows Server 2008 Windows Server 2008 R2 64ビット Webサーバ Tomcat、IIS、Apache データベース管理 システム MS SQL Server 2005 SP2、MS SQL Server 2008 R2 Oracle 10g (10.2.04) Oracle 11g (11.2.01) 33 Seminar Information 34 .NET開発者向け DevPartner Studioで実現する 品質向上セミナー ∼ソースコードの質を見極め、テスト漏れ/不要コードを指摘する受入検査 を実現しよう∼ • 日時 : 2011年10月4日(火)14:30∼17:00 • 場所 : マイクロフォーカス セミナールーム(六本木) – 適切なテスト項目を選定、受け入れ指標を設定する具体的なノウハ ウを中心に、品質、信用性の高い受入検査を効率よく実現する方法 をご紹介します。 35 スマートフォン開発に関わる方へ <ソフトウエア品質生産性向上セミナー> スマートフォン向けサイトの安定稼働を実現! ∼各種スマートフォンからの負荷テスト∼ • 主催 : 株式会社シーイーシー • 日時 : 2011年10月13日(木)14:00∼17:00 • 場所 : 株式会社シーイーシー 恵比寿セミナールーム 36 テスト自動化に関わる方へ SilkTestハンズオンセミナー • 日時 : 2011年10月6日(木)14:00∼17:00 • 場所 : マイクロフォーカス セミナールーム(六本木) – 本セミナーでは、前半で機能テストの自動化における課題と SilkTestの製品概要および活用方法を解説します。後半では、 SilkTestの特徴であ る、画面のストーリーボードに基づくテスト スクリプト「ビジュアルテスト」を中心に、テストの作成、実行を、 実際に体験いただきます。 37 テスト管理に関わる方へ SilkCentral TestManagerハンズオンセミナー • 日時 : 2011年10月14日(木)14:00∼17:00 • 場所 : マイクロフォーカス セミナールーム(六本木) – 本セミナーでは、前半でテストプロセスの可視化とテスト管理の重要 性を解説した後、SilkCentral Test Managerの製品概要および活用 方法を解説します。後半では、SilkCentral Test Managerにてテスト 要件と実行計画を設定し、あらかじめ用意された自動テストを実行し たり、手動テストの専用ソフトウェア「Manual Test Client」を利用して 手動テストを体験していただきます。 38 負荷テストに関わる方へ • 負荷テスト実践セミナー ∼負荷テストの計画・設計とハンズオン実習∼ • 日時 : 2011年10月27日(木)14:00∼17:00 • 場所 : マイクロフォーカス セミナールーム(六本木) – 本セミナーでは、負荷テストの計画と設計のポイントをお伝えし、 SilkPerformerを使うメリットを活かしながら、より効率的・効果的な負 荷テストの実践方法をご提案します。 前半部分では負荷テスト検証の経験豊富なカサレアル様より、「負荷 テスト計画・設計のポイント」をご紹介いただきます。後半部分では、 スクリプト・シナリオ作成を実際に体験いただきます。 39 ソフトウェア開発品質担当の方へ テストソリューションセミナー • 日時 : 2011年11月2日(水)13:30∼17:00 • 場所 : ベルサール六本木 Coming Soon! 40 Application Management & Quality製品に関するお問い合わせ先: マイクロフォーカス株式会社 http://www.microfocus.co.jp/ TEL: 03-5413-4770 Email: [email protected] Copyright © 2011 Micro Focus. All Rights reserved.