SlideShare une entreprise Scribd logo
1  sur  70
Télécharger pour lire hors ligne
キーワード駆動システムテスト
小井土 亨
2019.10.26
2
アジェンダ
 設計の基本
 設計品質とテスト容易性
 システムアーキテクチャと品質
 モデリングとモデルレビュー手法
 テスト駆動開発
システムアーキテクチャと品質
1.システムアーキテクチャと品質特性
2.ビジネスアーキテクチャとシステムアーキテクチャ
3.アーキテクチャパターン
システムアーキテクチャ
 システムアーキテクチャとは
 システムの構造や構造化の原則
 システムアーキテクチャの目的
 システムの品質特性を強制(支配)する構造を構築する
 品質特性とは
 システムが実現するべき品質の特徴
 代表的なもの
 パフォーマンス(性能・速度)
 安全性
 信頼性
 可用性(Availability)
 堅牢性(セキュリティ)
 ユーザービリティ(使いやすさ)
 拡張性
4
5
良し悪しを判断する
 ルール
 判断するための具体的なルールを用意する
 指針(品質特性)
 複数のルール間で整合性を取るためには、指針が必要
指針
1.品質
2.効率
ルール1
確実にきれいにする
ために人が行う
判断できる判断できる
複数のメンバーでルールを共有する
6
設計品質とシステムアーキテクチャ
 品質特性と設計品質
 システムとして統一された品質を達成するために、求めら
れる品質特性と対象(ステークホルダー)を明確にする
 ルール(仕組み)
 複数のメンバー間で統一された品質を達成するために、具
体的な規則を用意する
 品質特性を強制する仕組みを作る
システムアーキテクチャの目的
システムの品質特性を強制(支配)する
システムアーキテクチャとは
システムの構造や構造化の原則による仕組み
アーキテクチャで設計品質を支配
7
システムアーキテクチャの定義
 複数の方式で定義する
 複数の角度からの表現を組み合わせて定義する
 開発の視点、実行時(配置)の視点、運用の視点など
 システムアーキテクチャの定義
 概念的な構造(モデリング)
 システムを実現するために必要なシステム構造
 複数の視点で、システム構造を定義する
 動作環境(OSやインフラなど)
 使用するミドルウェア
 構造化原則
 ガイドラインや規約(制約)
 パターン集とパターンの適応ガイド
システムによって、
定義項目は異なる
品質特性の具体化手順
 品質特性に対するステークホルダを明確化する
 例:拡張性
 プログラマの拡張性
 利用者の拡張性
 目的や達成すべきゴールを具体的に定義する
 ポイント
 成果物が目的に合っているか、判断できる内容で記述する
 例:拡張性
 利用者が機能を拡張できるように、外部ファイルに拡張機能を定義
できるようにする
 例:ユーザービリティ
 5秒以上掛かる処理は、処理の進行状況を通知する
 目的やゴールの理由を説明する
8
品質特性の分析
 4つの視点による分析
 センシティビティ分析
 品質特性に良い効果を表す仕組み
 論理的な根拠
 コンフリクト分析
 副作用として、他の品質特性に悪い影響を与える制約
 論理的な根拠
 トレードオフ分析
 複数の品質特性間で良い影響と悪い影響ものの優先順位
 正当性の根拠
 トレードオフ関係表
 リスク分析
 トレードオフによってサービスレベルが低下する要求品質に対する
リスクを識別し、影響の出る損失
 正当性の根拠
9
システムアーキテクチャの構築
 アーキテクチャへの要求
 達成すべき品質特性への要求
 各品質特性は、相反する項目がある
 トレードオフを考慮し、アーキテクチャを決定する
 要求の種類
 非機能要求
 長期的な機能要求
 アーキテクチャ構築時の考慮点
 可変性
 変わる要求と変わらない要求の分析
 リスクの方針
 さまざまな視点からリスクの洗い出しと方針を決定
10
11
アーキテクチャの複数のビュー
 ビューポイントとは
 ステークホルダの関心事に応じた視点
 ビューとは
 複数の関連した視点(ビューポイント)によって、アーキテクチャを記述
するものがビューである
 4つのビュー
 論理ビュー
 システムが必要とされている機能を実現する、論理的な構造
 実行ビュー
 実行時のプロセスやタスクやスレッドといった実行時の単位の構造
 開発ビュー
 システム開発時のファイル等を単位とした構造
 配置ビュー(運用ビュー)
 システムをどのようなマシン上で動作させ、各プロセスがどのマシン(CPU)
上に配置されるか等を表した構造
開発視点だけではなく、
運用視点も重要性となっている
システムアーキテクチャの概念図
12
アーキテクチャ
要素
アーキテクチャ
アーキテクチャ
記述
ビュー
システム
ステークホルダ
ビューポイント 関心事
から成る
から成る
文書化される
持つ
のためにアーキテクチャを文書化
従う
持つ
対応する
ニーズに対応
ビューを構築するためのパターンなどを
集めたもの
要求や目的
システムテスト
1.システムテスト
2.エンドツーエンドテスト
3.システムテストの自動化について
4.キーワード駆動テスト
14
システムテストとは
 システムテストとは
 システムが全体として正しく動作することをテストする
 様々な視点でのテストが必要、特に利用ユーザー視点
 システムテストの例
 運用テスト
 実運用に近い環境で、実際に運用するテスト
 操作性テスト
 利用ユーザー視点で、操作を行うテスト
 構成テスト
 様々な構成パターンでのテスト
 マニュアルテスト
 マニュアル通りに操作して問題なく動作することを確認するテスト
15
システムテスト = エンドツーエンドテスト
 システムテストは、エンドツーエンド テスト
 end to end とは
 端から端まで
 システムの端から端までをテストする
 全体として正しく動作することを確認するため
システム入力
外部 出力
外部
エンド・ツー・エンド テスト
16
エンドツーエンドテストについて
 エンドツーエンドのシステムテスト
 外部からの入力に対応したシステムの動作によって、外部に対して
行った結果をテストする
 なぜ、エンドツーエンドテストなのか
 部分に対するテストを積上げても、繋がっていることを保証できない
部品のテストを積み上げても、
システムテストにならない
17
エンドツーエンドテストについて
 システムテストの結果
 外部への出力
 画面、通信、印刷、ファイル
 外部システムへの処理
 データベース、外部のサービス
 エンドツーエンドテストの特徴
 テストの実行時間が長いことも多い
 テストの準備や結果判断は、システム外部も含めて行う必要がある
システムテスト ≒ GUIテスト
注:GUIテストとは、GUI操作を伴うテスト実行
18
テストコスト増大への対応策
 対応すべきシステムテスト
 リリースごとに繰り返されるテスト
 前回までのリリースで提供した機能について、同じように動作する
ことを確認するテスト
 回帰テスト(リグレッションテスト)
 今回のリリースと前回のリリースで同じことを確認する
 構成テスト
 さまざま構成で同じテストを実行し、同じ品質であることを
確認する
システムテストを自動化する
19
自動化されたシステムテストの課題
 課題
 自動テストの作成工数
 自動テスト用のスクリプトを作成するコストが必要
 自動テストの保守工数の増大
 システムの変更に対応するために、テストスクリプトの修正が必要
になることが多い
 解決策
 Excelなどでテストケースを作成する
 システムが変更しても、変更せずに動作する自動テスト
キーワード駆動による自動テスト
キーワード駆動テスト
1.GUIテスト自動化
2.キーワード駆動テスト
3.問題と解決策
4.推奨構造
GUIテスト自動化とは
 GUIテスト自動化とは
 GUIを通して操作した場合と同等になる様にツールで操作
を再現することで行うテスト
21
人の操作 ツールで再現
自動化
キーワード駆動テストとは
 キーワード駆動テスト
 論理的なキーワードを用いて記述されたテストケースをツ
ールが解釈し、テスト対象を操作するテスト
 操作として、値の設定以外に、状態や値の取得を提供する
22
検査対象のシステム キーワード駆動による操作システム
操作手順を再現する
キーワードによる操作手順
(テストケース)
キーワード駆動の例
 テストケース記述
 利点
 テストケースの作成が
容易
 ツールでの生成も可能
23
単価
個数
計算
金額
対象 値 操作
単価 200
個数 5
計算 Click
キーワード駆動のシステム変更への対応例
24
単価
個数
計算
金額
消費税 内税 8% 10%
変更箇所
対象 値 操作
金額 200
個数 5
計算 Click
変更なしで
実行可能
エンドツーエンドテストに起因する問題
 ひとつのテストケースに複数の機能が含まれる
 問題
テストケースに、他のテストケースと共通的な部分と、他
のテストケースと異なる部分が混在する
 例
ログイン > 商品選択 > 購入 > ログアウト
 解決策
テストケースを分離する
異なる部分は、効率性も重要
25
共通的な部分 異なる部分
共通はスクリプト
異なる部分はキーワード
システムテストに起因する問題
 準備と結果はシステムだけでは完結しない
 問題
システムテストの準備や結果判定は、データベースなど
も外部のシステムも考慮する必要がある
 解決策
テストの準備に、システム外部も含める
テストの結果判定に、外部システムの状態も含める
システムを自動で動作させる部分、準備と結果判定部
分を分離する
26
テスト制御システム 自動操作システム制御
キーワード駆動システムの推奨構造
27
検査対象のシステム
自動操作システム
システムは、ツールなどを利用
テストケースはテキストファイルなどで
記述する
制御システム
スクリプトなどで作成
制御 操作
自動テストのアーキテクチャ
(テストのピラミッド)
1.システムと自動テスト
2.3つの自動テスト
3.システムテストの自動テスト
29
システムと自動テスト
 システムと自動テストは兄弟の関係(写像)
 システムと合わせて自動テスト設計する
 システムに合った自動テストを行う
 開発のプロセスごとに、異なった自動テストを行う
 各プロセスの目的に合った自動テスト
 各プロセスの粒度に合わせた自動テスト
システム 自動テスト
30
要求定義
コーディング
システム
テスト
受け入れ
テスト
システム
仕様化
システム
設計
要求のテスト
仕様のテスト
システムの
構築
システムの
導入
単体テスト
3つの自動テスト
開発プロセス内のテストの位置づけ
統合
テスト
設計のテスト
ソフトウェアの
構築
③
②
①
31
3つの自動テストピラミッド
 開発プロセスに合わせて、3つの自動テストを導入
 テストのピラミッド(構造化された自動テスト)
単体
結合
システム
フィードバッグ
ユーザー
視点
遅い
速い
近い
遠い
32
3つの自動テスト
 システムテストとは
 システムが全体として正しく動作することを確認するテスト
 自動化のするためのツールが必要
 結合テストとは
 複数の部品(モジュール)がつながって正しく動作すること
を確認するテスト
 変更されやすいUIの影響を受けないテスト
 ユニットテストフレームワークなどで自動テスト化する
 単位テストとは
 コードレベルの動作を確認するテスト(ユニットテスト)
 コンパイラなどでは確認できない内容を限定的に動作させ
て確認するテスト
 ユニットテストフレームワークで自動テスト化する
システムテストの自動化とアーキテクチャ
1.システムテスト
2.エンドツーエンドテスト
3.システムテストの自動化について
4.システム自動テストのアーキテクチャ
34
システムテストとは
 システムテストとは
 システムが全体として正しく動作することをテストする
 様々な視点でのテストが必要、特に利用ユーザー視点
 システムテストの例
 運用テスト
 実運用に近い環境で、実際に運用するテスト
 操作性テスト
 利用ユーザー視点で、操作を行うテスト
 構成テスト
 様々な構成パターンでのテスト
 マニュアルテスト
 マニュアル通りに操作して問題なく動作することを確認するテスト
35
テストコスト増大への対応策
 自動化すべきシステムテスト
 リリースごとに繰り返されるテスト
 前回までのリリースで提供した機能について、同じように動作する
ことを確認するテスト
 回帰テスト(リグレッションテスト)
 今回のリリースと前回のリリースで同じことを確認する
 構成テスト
 さまざま構成で同じテストを実行し、同じ品質であることを
確認する
特定のシステム(UI)テストを
自動化する
36
テスティングと自動テスト
 テスティング活動
識別
設計
実装
実行
比較
どのようなテストができて、何をテストするか決める
どうやってテストするか決める
テストケースを作る
(データ、スクリプトなど)
テストケースを実行する
テストケース成功失敗を判定する
(出力結果と期待結果を比較)
自動化作業
手動/自動
共通作業
自動テストされたシステムテストとは
 自動テストはシステム
 自動テストは、検査を実行するシステム
 自動化されたシステムテストとは
 システムをテストするという目的を持ったシステム
37
検査対象のシステム システムを検査するためのシステム
検査という
明確な目的と機能
システムテスト自動化の問題
 テストするシステムやプロジェクトによって、自動化の
要求は異なる
 自動化はゴールではない
38
掃除を自動化する
自動化度は高い 結果品質は高い
自動化がゴールではない
ルールと指針を決めて、目的にあった自動化
 ルール
 判断するための具体的なルールを用意する
 指針(品質特性)
 複数のルール間で整合性を取るためには、指針が必要
39
指針
1.品質
2.効率
ルール1
確実にきれいにする
ために人が行う
システム自動テストのアーキテクチャとは
 品質特性
 自動化されたシステムテストとして統一された品質を達成
するために、自動化されたシステムテストに求められる品
質特性と対象(ステークホルダー)を決める
 ルール(仕組み)
 複数のメンバー間で統一された品質を達成するために、具
体的なルールを用意する
 品質特性を強制する仕組みを作る
40
目標
自動テストのシステム構成
 自動テストのシステム構成
 二つのシステム
テスト対象システム
自動テストシステム
 自動テストシステムのサブシステム
テストスクリプトの作成
テストスクリプトの実行
自動テストの運用
41
自動テストの運用
自動テストシステム
テスト対象システム テストスクリプトの実行
テストスクリプトの作成
システムごとに異なった関心事
 自動テストの観点からの関心事
 テスト対象システム
テストしやすいシステムであること
 テストスクリプトの作成
効率よく作成できること
 テストスクリプトの実行
確実に実行できること
 自動テストの運用
上手にテストの運用を行うこと
 各システムと品質特性
 システムごとに異なった品質特性がある
42
テスト対象システムに要求される品質特性
 操作性(実行性)
 自動テストのプログラムから対象のプログラムを実行し、制
御できること
 確認性
 対象のプログラムを実行した結果が正確に確認できること
 再現性
 テストを行う特定の状況を再現できること
43
自動化されることを
最初から盛り込む
「テストスクリプトの作成」に関する品質特性
 理解性
 テストスクリプトが読みやすく理解しやすいこと
 テストスクリプトを容易に作成することができること
 テストスクリプトができるだけ多くのメンバーが作成できること
 効率性
 多様で効果的なテストスクリプトを適切なコストで作成できること
 保守性
 テストスクリプトはテスト対象の変更に素早く対応する必要がある
 テストスクリプトの変更が容易であること
 拡張性
 テストスクリプトの機能を必要に応じて拡張できること
44
「テストスクリプトの実行」に要求される品質特性
 安定性
 テストスクリプトを安定して実行できること
 同じテストスクリプトを何度でも安定して実行できること
 信頼性
 テスト結果の判定が信頼できること
 移植性
 異なった環境でテストを実行できること
45
データ駆動型
キーワード駆動型など
「自動テストの運用」に関する品質特性
 効率性
 必要な自動テストを効率的に運用することができること
 柔軟性
 状況に合わせて、柔軟な運用ができること
 障害許容性
 対象のプログラムで予測しないエラーが発生しても、他のテ
ストスクリプトが継続的に実行できること
 並列性
 複数の環境で効率的にテストを並列して実行できること
46
まとめ
 目的を明確にする
 テストしたいシステムやプロジェクトによって目的は
異なる
 ルールと指針(品質特性)を決める
 ルールと指針によって、的確な自動化が行える
 アーキテクチャを構築する
 対象システム、自動テストシステムは異なった指針
が必要
 品質特性を強制するものがアーキテクチャ
47
補足資料
パターン集
1.「自動化されたシステムテスト」のパターン
2.「テスト対象システム」のパターン
3.「テストケースの作成」のパターン
4.「テストケースの実行」のパターン
5.「自動テストの運用」のパターン
「自動化されたシステムテスト」のパターン
1.「目的はChecking」
「自動化されたシステムテスト」のパターン
「目的はChecking」
 問題
 自動化したシステムテストの良い使い方が分からない
 システムテストを自動化してコスト的に問題ないかわからない
 解決策
 自動化したシステムテストは、ある時点やある環境と現在や他の環境と
を比較して、壊れていないことを確認するものである
 比較する状況の発生と回数と自動化するコストを比較してコストメリット
を考える
 効果
 的確に壊れていることや問題があることが発見できる
 Checking以外のテストに人手を回すことができる
50
「テスト対象システム」のパターン
1.同期で操縦
2.ソフトウェアで処理するためのID
「テスト対象システム」のパターン
「同期で操作」
 問題
 テストしたい処理の処理時間が不定期で、事前に待ち時間を想定でき
ない
 長い待ち時間で実行すると無駄な待ちが発生して、実行時間が長くな
ってしまう
 解決策
 テスト対象のシステムに同期通信で外部から処理を呼び出す機能を実
装する
 効果
 処理時間を気にしないでテストスクリプトを作成できる
 待ち処理が必要ないため、高速にテストを実行することができる
 注意
 確認ダイアログなどが表示されると処理が止まる
52
「テスト対象システム」のパターン
「ソフトウェアで処理するためのID」
 問題
 テスト結果を取得したいのにIDがなく処理できない
 IDが実行ごとに異なりテストスクリプトで処理できない
 解決策
 結果を表示するような場合でも、必ずIDを用意する
 固定的なIDを用意する
 自動テストだけで利用する連番IDなども検討する
 効果
 自動テストで操作しやすく、確実に実行できるようになる
 テストスクリプトの共通化が可能となる
 注意
 人間が理解しやすいIDとソフトウェアが処理しやすいIDは異なることが
多いため、複数のIDが必要となる
53
「テストケースの作成」のパターン
1.シナリオをユースケースで分析
2.粒度の調整
3.テストスクリプトに共通変数
4.正しいのは以前の自分
5.時間への挑戦
「テストケースの作成」のパターン
「シナリオをユースケースで分析」
 問題
 テストスクリプトに重複部分が多く、作成や保守コストが掛かる
 テストスクリプトを作成するために、テストシナリオを分析したいが方法わからな
い
 解決策
 似ているテストシナリオを基にユースケースを作成し、ユースケースごとに、テ
ストスクリプトの作成方法を決定する
 効果
 重複がなくなり、作成や保守コストを下げることができる
 例
 ECサイトでの商品の購入
 ユースケース的には、以下の3つから構成される
– ログイン > 商品の選択 > 決済
 「ログイン」と「決済」は重複されることが多い、また、処理フローはある程度限定され
る
 「商品の選択」は検索やキャンセル、個数の変更などバリエーションが多い
55
「テストケースの作成」のパターン
「粒度の調整」
 問題
 テストスクリプトを作成できるメンバーが限定される
 テストスクリプトの品質が安定しない
 テストスクリプトの作成と保守コストが掛かる
 解決策
 テストスクリプトを複数の粒度で実装できるようにする
 粒度は以下のようになる
 ドメイン言語 > スクリプト言語 > プログラム言語
 例:タブ区切りのテキスト > PowerShell > C#
 効果
 バリエーションが必要な部分の粒度を大きくすることで、テストスクリプト全体の
作成と保守コストを下げることができる
 粒度の大きい部分の作成は習熟度があまり必要ないためチームメンバー全員
が作成することができるようになる
 粒度の大きい部分は、ツールとの組み合わせで自動生成が可能である
56
「テストケースの作成」のパターン
「テストスクリプトに共通変数」
 問題
 環境を変えるとテストスクリプトが正しく動作しない
 環境に合わせてテストスクリプトを変更すると保守コストが爆発する
 解決策
 テストスクリプトに共通変数を導入する
 環境に依存する部分は、テストスクリプトではなく共通のファイルに定義
する
 自動テストの実行時に、共通定義内の値でテストスクリプトを変更する
 効果
 テストスクリプトを書き換えることなく、待ち時間や実行年月日などを実
行時に設定することができる
 環境ごとのテストスクリプトを作成する必要がなくなる
57
「テストケースの作成」のパターン
「正しいのは以前の自分」
 問題
 システムテストの正しい結果を事前に用意するのにコスト
が掛かる
 実行できたかどうかだけで、成否を判断している
 解決策
 ある時点、ある環境の結果を正解とする
 検査時は、検査の結果と正解を比較して、成否を判断する
 効果
 実行結果を正解とすることで、容易に結果を用意できる
 正解とした結果の内容を確認しないと、間違った結果を正
解としてしまう可能性がある
58
「テストケースの作成」のパターン
「時間への挑戦」
 問題
 システムで利用する時間が実行ごとに異なるため、結果が
必ず異なってしまう
 システムの環境によって実行時間が異なるため、安定して
実行できない
 解決策
 時間取得部分を一か所にして、モック化する
 結果判断から時間を除外する
 同期で処理を行う
 効果
 システムにより結果判断が可能となる
 安定した自動テストの実行が可能となる
59
「テストケースの実行」のパターン
1.非同期で操作
2.スクリプトで実行
3.結果はテキストファイル
「テストケースの実行」のパターン
「非同期で操作」
 問題
 テストしたい処理の中で、確認メッセージや確認入力があり、同期では
処理が止まってしまう
 解決策
 APIなどを使用して、テスト対象のシステムを非同期で外部から処理を
呼び出す
 確認処理の呼出し部分を非同期で行う、確認処理は同期で行う
 確認処理を同期で処理することで、状態の変更待ちなどが可能となる
 効果
 同期では止まってしまう処理を実行できるようになる
 注意
 待ちを時間で行う場合、事前に時間を想定する必要がある
61
「テストケースの実行」のパターン
「スクリプトで実行」
 問題
 システムテストを実行するためのデータベースなどの設定を行えない
 解決策
 システムテストの実行に、スクリプト言語を導入する
 スクリプト言語を利用して、データベースなどの設定を行う
 効果
 スクリプト言語は、システム間の連携のための機能が豊富で、容易に
他システムとの連携ができる
62
「テストケースの実行」のパターン
「結果はテキストファイル」
 問題
 システムテストの実行結果の判定が自動化できない
 システムテストの実行結果が環境などに依存してしまう
 解決策
 画面の値を文字列として取得できる機能を用意する
 画面を画像として残すのではなく、テキストファイルで保存し、期待値の
ファイルと比較し判定を行う
 効果
 テスト結果の比較制度が上がり、的確な判定を行うことができる
 日付や時間などを除外して比較することができる
 期待値を事前に用意することができる
63
「自動テストの運用」のパターン
1.自動テストの運行スケジュール
2.自動テストの並行実行
3.自動テストのランキング
「自動テストの運用」のパターン
「自動テストの運行スケジュール」
 問題
 テストの実行時間が長く、効果的なテストの実行ができない
 解決策
 夜間や休日を考慮して実行スケジュールを作り、運用する
 全てのテストケースを実行対象とするのではなく、変更に関連したテス
トケースを選択する方法を確立する
 効果
 開発作業を行っていない間に実行することで、効果的なフィードバック
が可能となる
 注意
 テストケースの実行でエラーが発生することを想定した運用環境を作る
65
「自動テストの運用」のパターン
「自動テストの並行実行」
 問題
 テストの実行時間が長く、効果的なテストの実行ができない
 解決策
 テストセット(複数のテストケース)単位で並列実行できる環境を構築す
る
 実現例
 キューシステムを導入し、同じテストセットを実行しないようにする
 成功リスト、エラーリスト、実行中リストを用意して、並列実行を行う
 効果
 実行時間のトータル時間より短い時間でのフィードバックが可能となる
 注意
 各テストセットの実行時間をできるだけ均一とする
 テストセット間の関係をなくし、テストセットの独立性を実現する
66
「自動テストの運用」のパターン
「自動テストのランキング」
 問題
 テストケースの数が多く、効果的なテストの実行ができない
 解決策
 テストケースにランキングを付けて、実行に強弱を付ける
 ランキングの正しさを判断する基準を用意する
 効果
 効果のあるテストを優先的に実行することができる
 注意
 ランクの低いテストケースを実行していれば、見つかっていた問題を見
逃してしまう可能性がある
67
参考資料:品質特性 ISO/IEC 25010:2011
利用時の品質
 有効性
 効率性
 満足性
 実用性
 信用性
 快感性
 快適性
 リスク回避性
 経済リスク緩和性
 健康・安全リスク緩和性
 環境リスク緩和性
 利用状況網羅性
 利用状況完全性
 柔軟性
68
参考資料:品質特性 ISO/IEC 25010:2011
システム/ソフトウェア製品品質
 機能適合性
 機能完全性
 機能正確性
 機能適切性
 性能効率性
 時間効率性
 資源効率性
 容量満足性
 互換性
 共存性
 相互運用性
 使用性
 適切度認識性
 習得性
 運用操作性
 ユーザエラー防止性
 ユーザインタフェース快美性
 アクセシビリティ
 信頼性
 成熟性
 可用性
 障害許容性(耐故障性)
 回復性
 セキュリティ
 機密性
 インテグリティ
 否認防止性
 責任追跡性
 真正性
 保守性
 モジュール性
 再利用性
 解析性
 修正性
 試験性
 移植性
 適応性
 設置性
 置換性
69
70
参考文献
 システムテスト自動化 標準ガイド
 初めての自動テスト Jonathan Rasmusson
 テスト駆動開発 ケント・ベッグ
 アーキテクトの審美眼 萩原正義
 実践ソフトウェアエンジニアリング ロジャー S・プレスマン
 森口 繁一編『ソフトウェア品質管理ガイドブック』日本規格協会(1990)
 アジャイルソフトウェア開発の奥義 ロバート・C・マーチン
 日経ソフトウェア「正しく学ぶソフトウェア設計」
 ソフトウェアアーキテクチャ 岸知二、野田夏子、深澤良彰
 Software Factories ソフトウェアファクトリー Jack Greenfield, Keith Short
 IT アーキテクチャ・メタモデル セマンティック解説 ITスキル標準 V2 2006

Contenu connexe

Tendances

アジャイルテスト -高品質を追求するアジャイルチームにおけるテストの視点-
アジャイルテスト  -高品質を追求するアジャイルチームにおけるテストの視点-アジャイルテスト  -高品質を追求するアジャイルチームにおけるテストの視点-
アジャイルテスト -高品質を追求するアジャイルチームにおけるテストの視点-Satoshi Masuda
 
ゆもつよ博士論文説明資料公開
ゆもつよ博士論文説明資料公開ゆもつよ博士論文説明資料公開
ゆもつよ博士論文説明資料公開Tsuyoshi Yumoto
 
TABOK Skill Category2解説
TABOK Skill Category2解説TABOK Skill Category2解説
TABOK Skill Category2解説Kinji Akemine
 
テスト分析入門 -「ゆもつよメソッド」を例に- #wacate
テスト分析入門 -「ゆもつよメソッド」を例に- #wacateテスト分析入門 -「ゆもつよメソッド」を例に- #wacate
テスト分析入門 -「ゆもつよメソッド」を例に- #wacateKinji Akemine
 
ISO/IEC/IEEE 29119 Software Testing 勉強会第3回 テストドキュメント
ISO/IEC/IEEE 29119 Software Testing 勉強会第3回 テストドキュメントISO/IEC/IEEE 29119 Software Testing 勉強会第3回 テストドキュメント
ISO/IEC/IEEE 29119 Software Testing 勉強会第3回 テストドキュメント崇 山﨑
 
ISO/IEC/IEEE 29119 Software testing 勉強会 第1回 規格の全体構成と各規格の概要
ISO/IEC/IEEE 29119 Software testing 勉強会 第1回 規格の全体構成と各規格の概要ISO/IEC/IEEE 29119 Software testing 勉強会 第1回 規格の全体構成と各規格の概要
ISO/IEC/IEEE 29119 Software testing 勉強会 第1回 規格の全体構成と各規格の概要崇 山﨑
 
テスト分析とは何か
テスト分析とは何かテスト分析とは何か
テスト分析とは何かkauji0522
 
キーワード駆動によるシステムテストの自動化について 2015
キーワード駆動によるシステムテストの自動化について 2015キーワード駆動によるシステムテストの自動化について 2015
キーワード駆動によるシステムテストの自動化について 2015Toru Koido
 
【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック智治 長沢
 
システムテスト自動化標準ガイド 読書会 第8章
システムテスト自動化標準ガイド 読書会 第8章システムテスト自動化標準ガイド 読書会 第8章
システムテスト自動化標準ガイド 読書会 第8章mirer
 
60分でわかった気になるISO29119 #wacate
60分でわかった気になるISO29119 #wacate60分でわかった気になるISO29119 #wacate
60分でわかった気になるISO29119 #wacateKinji Akemine
 
Agileツール適合化分科会(dev opsツール)
Agileツール適合化分科会(dev opsツール)Agileツール適合化分科会(dev opsツール)
Agileツール適合化分科会(dev opsツール)masanori kataoka
 
WACATE2019冬 ソフトウェアテスト業界でのステップアップを考えよう #wacate
WACATE2019冬 ソフトウェアテスト業界でのステップアップを考えよう #wacateWACATE2019冬 ソフトウェアテスト業界でのステップアップを考えよう #wacate
WACATE2019冬 ソフトウェアテスト業界でのステップアップを考えよう #wacateKinji Akemine
 
モデル検査入門 #wacate
モデル検査入門 #wacateモデル検査入門 #wacate
モデル検査入門 #wacateKinji Akemine
 
ISO/IEC/IEEE 29119 Software testing 勉強会 第2回 Part 2 Test Processes
ISO/IEC/IEEE 29119 Software testing 勉強会 第2回 Part 2 Test ProcessesISO/IEC/IEEE 29119 Software testing 勉強会 第2回 Part 2 Test Processes
ISO/IEC/IEEE 29119 Software testing 勉強会 第2回 Part 2 Test Processes崇 山﨑
 
【18-C-3】システムアーキテクチャ構築の実践手法
【18-C-3】システムアーキテクチャ構築の実践手法【18-C-3】システムアーキテクチャ構築の実践手法
【18-C-3】システムアーキテクチャ構築の実践手法Developers Summit
 
テストの極みを目指して ~さあ、理想に近づくための一歩を踏み出そう!~
テストの極みを目指して ~さあ、理想に近づくための一歩を踏み出そう!~テストの極みを目指して ~さあ、理想に近づくための一歩を踏み出そう!~
テストの極みを目指して ~さあ、理想に近づくための一歩を踏み出そう!~崇 山﨑
 
REBOKを社内展開する際の障壁
REBOKを社内展開する際の障壁REBOKを社内展開する際の障壁
REBOKを社内展開する際の障壁mkoszk
 
ソフトウェアテスト入門
ソフトウェアテスト入門ソフトウェアテスト入門
ソフトウェアテスト入門iKenji
 

Tendances (20)

アジャイルテスト -高品質を追求するアジャイルチームにおけるテストの視点-
アジャイルテスト  -高品質を追求するアジャイルチームにおけるテストの視点-アジャイルテスト  -高品質を追求するアジャイルチームにおけるテストの視点-
アジャイルテスト -高品質を追求するアジャイルチームにおけるテストの視点-
 
ゆもつよ博士論文説明資料公開
ゆもつよ博士論文説明資料公開ゆもつよ博士論文説明資料公開
ゆもつよ博士論文説明資料公開
 
TABOK Skill Category2解説
TABOK Skill Category2解説TABOK Skill Category2解説
TABOK Skill Category2解説
 
テスト分析入門 -「ゆもつよメソッド」を例に- #wacate
テスト分析入門 -「ゆもつよメソッド」を例に- #wacateテスト分析入門 -「ゆもつよメソッド」を例に- #wacate
テスト分析入門 -「ゆもつよメソッド」を例に- #wacate
 
ISO/IEC/IEEE 29119 Software Testing 勉強会第3回 テストドキュメント
ISO/IEC/IEEE 29119 Software Testing 勉強会第3回 テストドキュメントISO/IEC/IEEE 29119 Software Testing 勉強会第3回 テストドキュメント
ISO/IEC/IEEE 29119 Software Testing 勉強会第3回 テストドキュメント
 
ISO/IEC/IEEE 29119 Software testing 勉強会 第1回 規格の全体構成と各規格の概要
ISO/IEC/IEEE 29119 Software testing 勉強会 第1回 規格の全体構成と各規格の概要ISO/IEC/IEEE 29119 Software testing 勉強会 第1回 規格の全体構成と各規格の概要
ISO/IEC/IEEE 29119 Software testing 勉強会 第1回 規格の全体構成と各規格の概要
 
テスト分析とは何か
テスト分析とは何かテスト分析とは何か
テスト分析とは何か
 
キーワード駆動によるシステムテストの自動化について 2015
キーワード駆動によるシステムテストの自動化について 2015キーワード駆動によるシステムテストの自動化について 2015
キーワード駆動によるシステムテストの自動化について 2015
 
【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック【Agile Conference tokyo 2011】 継続的フィードバック
【Agile Conference tokyo 2011】 継続的フィードバック
 
システムテスト自動化標準ガイド 読書会 第8章
システムテスト自動化標準ガイド 読書会 第8章システムテスト自動化標準ガイド 読書会 第8章
システムテスト自動化標準ガイド 読書会 第8章
 
60分でわかった気になるISO29119 #wacate
60分でわかった気になるISO29119 #wacate60分でわかった気になるISO29119 #wacate
60分でわかった気になるISO29119 #wacate
 
Agileツール適合化分科会(dev opsツール)
Agileツール適合化分科会(dev opsツール)Agileツール適合化分科会(dev opsツール)
Agileツール適合化分科会(dev opsツール)
 
WACATE2019冬 ソフトウェアテスト業界でのステップアップを考えよう #wacate
WACATE2019冬 ソフトウェアテスト業界でのステップアップを考えよう #wacateWACATE2019冬 ソフトウェアテスト業界でのステップアップを考えよう #wacate
WACATE2019冬 ソフトウェアテスト業界でのステップアップを考えよう #wacate
 
モデル検査入門 #wacate
モデル検査入門 #wacateモデル検査入門 #wacate
モデル検査入門 #wacate
 
ISO/IEC/IEEE 29119 Software testing 勉強会 第2回 Part 2 Test Processes
ISO/IEC/IEEE 29119 Software testing 勉強会 第2回 Part 2 Test ProcessesISO/IEC/IEEE 29119 Software testing 勉強会 第2回 Part 2 Test Processes
ISO/IEC/IEEE 29119 Software testing 勉強会 第2回 Part 2 Test Processes
 
【18-C-3】システムアーキテクチャ構築の実践手法
【18-C-3】システムアーキテクチャ構築の実践手法【18-C-3】システムアーキテクチャ構築の実践手法
【18-C-3】システムアーキテクチャ構築の実践手法
 
テストの極みを目指して ~さあ、理想に近づくための一歩を踏み出そう!~
テストの極みを目指して ~さあ、理想に近づくための一歩を踏み出そう!~テストの極みを目指して ~さあ、理想に近づくための一歩を踏み出そう!~
テストの極みを目指して ~さあ、理想に近づくための一歩を踏み出そう!~
 
REBOKを社内展開する際の障壁
REBOKを社内展開する際の障壁REBOKを社内展開する際の障壁
REBOKを社内展開する際の障壁
 
ソフトウェアテスト入門
ソフトウェアテスト入門ソフトウェアテスト入門
ソフトウェアテスト入門
 
V Model
V ModelV Model
V Model
 

Similaire à Keyword System Test

【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか #rakutentech
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか  #rakutentech【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか  #rakutentech
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか #rakutentechKotaro Ogino
 
【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST
【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST
【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSSTKotaro Ogino
 
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめJenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめatsushi_tmx
 
自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介Shinsuke Matsuki
 
Qs info slideshare_002
Qs info slideshare_002Qs info slideshare_002
Qs info slideshare_002Kei Nakahara
 
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015Kotaro Ogino
 
テストを分類してみよう!
テストを分類してみよう!テストを分類してみよう!
テストを分類してみよう!Kenji Okumura
 
ワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeployワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeployRyutaro YOSHIBA
 
テスト自動化のこれまでとこれから
テスト自動化のこれまでとこれからテスト自動化のこれまでとこれから
テスト自動化のこれまでとこれからKeizo Tatsumi
 
アンケートシステムをm3.comから独立させる
アンケートシステムをm3.comから独立させるアンケートシステムをm3.comから独立させる
アンケートシステムをm3.comから独立させるJiro Iwamoto
 
Agileツール適合化分科会(テスト自動化ツール)
Agileツール適合化分科会(テスト自動化ツール)Agileツール適合化分科会(テスト自動化ツール)
Agileツール適合化分科会(テスト自動化ツール)masanori kataoka
 
ロボット介護機器設計支援ツール、中坊嘉宏(産総研)
ロボット介護機器設計支援ツール、中坊嘉宏(産総研)ロボット介護機器設計支援ツール、中坊嘉宏(産総研)
ロボット介護機器設計支援ツール、中坊嘉宏(産総研)robotcare
 
テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門Satoshi Watanabe
 
Azure monitoring and alert v0.2.21.0707
Azure monitoring and alert v0.2.21.0707Azure monitoring and alert v0.2.21.0707
Azure monitoring and alert v0.2.21.0707Ayumu Inaba
 
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOKKotaro Ogino
 
QA組織とiOSのテスト
QA組織とiOSのテストQA組織とiOSのテスト
QA組織とiOSのテストLINE Corporation
 
システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料Masatoshi Itoh
 
Automation test.ssf alpha
Automation test.ssf alphaAutomation test.ssf alpha
Automation test.ssf alpharyuji koyama
 

Similaire à Keyword System Test (20)

【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか #rakutentech
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか  #rakutentech【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか  #rakutentech
【楽天テックカンファ前夜祭2014】誰がテスト自動化をするべきか #rakutentech
 
【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST
【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST
【JaSST'14 Tokyo】システムテストの自動化による 大規模分散検索プラットフォームの 開発工程改善 #JaSST
 
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめJenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
Jenkins ユーザ・カンファレンス 2012 東京 S406-4/マルチステージ型継続的インテグレーションのすすめ
 
自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介
 
Qs info slideshare_002
Qs info slideshare_002Qs info slideshare_002
Qs info slideshare_002
 
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
 
テストを分類してみよう!
テストを分類してみよう!テストを分類してみよう!
テストを分類してみよう!
 
ワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeployワンクリックデプロイ101 #ocdeploy
ワンクリックデプロイ101 #ocdeploy
 
テスト自動化のこれまでとこれから
テスト自動化のこれまでとこれからテスト自動化のこれまでとこれから
テスト自動化のこれまでとこれから
 
アンケートシステムをm3.comから独立させる
アンケートシステムをm3.comから独立させるアンケートシステムをm3.comから独立させる
アンケートシステムをm3.comから独立させる
 
Agileツール適合化分科会(テスト自動化ツール)
Agileツール適合化分科会(テスト自動化ツール)Agileツール適合化分科会(テスト自動化ツール)
Agileツール適合化分科会(テスト自動化ツール)
 
ロボット介護機器設計支援ツール、中坊嘉宏(産総研)
ロボット介護機器設計支援ツール、中坊嘉宏(産総研)ロボット介護機器設計支援ツール、中坊嘉宏(産総研)
ロボット介護機器設計支援ツール、中坊嘉宏(産総研)
 
テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門テスト初心者Androiderのためのソフトウェアテスト入門
テスト初心者Androiderのためのソフトウェアテスト入門
 
Azure monitoring and alert v0.2.21.0707
Azure monitoring and alert v0.2.21.0707Azure monitoring and alert v0.2.21.0707
Azure monitoring and alert v0.2.21.0707
 
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK
【SQiP 2014】継続的システムテストについての理解を深めるための 開発とバグのメトリクスの分析 #SQiP #SQuBOK
 
QA組織とiOSのテスト
QA組織とiOSのテストQA組織とiOSのテスト
QA組織とiOSのテスト
 
システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料システムテスト自動化標準ガイド 5章発表資料
システムテスト自動化標準ガイド 5章発表資料
 
GDC2014_QA
GDC2014_QAGDC2014_QA
GDC2014_QA
 
テスト自動化入門@Graat勉強会
テスト自動化入門@Graat勉強会テスト自動化入門@Graat勉強会
テスト自動化入門@Graat勉強会
 
Automation test.ssf alpha
Automation test.ssf alphaAutomation test.ssf alpha
Automation test.ssf alpha
 

Plus de Toru Koido

Keyword driventestexercisetext.20210506
Keyword driventestexercisetext.20210506Keyword driventestexercisetext.20210506
Keyword driventestexercisetext.20210506Toru Koido
 
Automated testingindevopsstrategy.20210506
Automated testingindevopsstrategy.20210506Automated testingindevopsstrategy.20210506
Automated testingindevopsstrategy.20210506Toru Koido
 
キーワード駆動テストチュートリアルハンズアウト.03.06
キーワード駆動テストチュートリアルハンズアウト.03.06キーワード駆動テストチュートリアルハンズアウト.03.06
キーワード駆動テストチュートリアルハンズアウト.03.06Toru Koido
 
オブジェクト指向設計の原則
オブジェクト指向設計の原則オブジェクト指向設計の原則
オブジェクト指向設計の原則Toru Koido
 

Plus de Toru Koido (9)

Keyword driventestexercisetext.20210506
Keyword driventestexercisetext.20210506Keyword driventestexercisetext.20210506
Keyword driventestexercisetext.20210506
 
Automated testingindevopsstrategy.20210506
Automated testingindevopsstrategy.20210506Automated testingindevopsstrategy.20210506
Automated testingindevopsstrategy.20210506
 
Keyword test
Keyword test Keyword test
Keyword test
 
キーワード駆動テストチュートリアルハンズアウト.03.06
キーワード駆動テストチュートリアルハンズアウト.03.06キーワード駆動テストチュートリアルハンズアウト.03.06
キーワード駆動テストチュートリアルハンズアウト.03.06
 
Xp2 2014版
Xp2 2014版Xp2 2014版
Xp2 2014版
 
Xp2 2013版
Xp2 2013版Xp2 2013版
Xp2 2013版
 
オブジェクト指向設計の原則
オブジェクト指向設計の原則オブジェクト指向設計の原則
オブジェクト指向設計の原則
 
Xp2
Xp2Xp2
Xp2
 
Xp2
Xp2Xp2
Xp2
 

Keyword System Test