JaSST’15 Tokyo

魁!! 智美塾「テストアーキテクチャ設計の質について議論しよう」
智美塾塾長＋塾生一同@NPO法人ASTER

1

智美塾設立経緯とその後 壱・智美塾とは、JaSST’09 Tokyoのクロージングパネルで提示されたテストライフサイクルを進化させつつ、塾長の厳しい指導のもと、塾生たちが自らの“テスト開発方法論”を目指し活動する梁山泊である。
テスト要求分析

テスト
アーキ
テクチャ
設計

テスト
詳細設計

テスト
実装

テスト
実施

・JaSST’10 Tokyo以降、テストアーキテクチャ設計を中心にその考え方の一部と、考え出す過程の議論を披露してきた。
@NPO法人ASTER
2

智美塾設立経緯とその後 弐・JaSST’14 Tokyoでは、テストアーキテクチャ設計のリファクタリングの過程および、考え方を紹介した。
・JaSST’15 Tokyoではより具体的な例を用いてテストアーキテクチャ設計について議論を行う。
・本日の議論を通してテストアーキテクチャ設計の大切さ、テスト「設計力」について少しでも感じていただければ幸いである。
@NPO法人ASTER

3

本日の登壇者
塾長
吉澤智美(日本電気)

塾生
村上 仁(智美塾)
西 康晴(電気通信大学)
湯本 剛(日本HP)@NPO法人ASTER

4本日の要旨と目的
壱．テストプロセス、テストアーキテクチャについての振り返り議論の導入として、テストアーキテクチャ設計についての議論を披露し、この後行うテストアーキテクチャ設計の議論のベースとする。

弐．”刮目（かつもく）”せよ！これがテストアーキテクチャ設計だ！！
テストケース設計の具体例を紹介し、その改善例を示してテストアーキテクチャ設計の品質について議論し、自身のテストの取り組みの向上の一助とする。
@NPO法人ASTER

5

壱．
テストプロセス、テストアーキテクチャについての振り返り@NPO法人ASTER

6

テストの目的

JSTQB シラバスより• 欠陥を摘出する。
– システムが稼動する前に欠陥を摘出して修正する• 対象ソフトウェアの品質レベルが十分であることを確認する。
– 契約や法律上の適格要件や各業界の標準に合致していることを証明する• 意志決定のための情報を示す。
• 欠陥の作りこみを防ぐ。
エンジニアリングの観点と品質保証の観点がある。
「何をどうテストして何を得るか」ということを明らかにしな
いと何をしているのかわからなくなる@NPO法人ASTER

7

従来型テスト設計
ソフトウェア仕様書からの書き写し→いきなりテストケースを考える
機能のテストが中心となりがち正常ケースはともかく、異常ケースは？
何を確認し、何が確認できているかわからないテストが十分行えているかどうかの自信が持てない

テスト全体を把握し、過不足を見つけ出すためにテスト全体の設計＝テストアーキテクチャ設計が必要@NPO法人ASTER

8

テストアーキテクチャ設計では• テスト観点を列挙し分析する– テスト観点：テストの関心ごとを列挙したもの
テスト目的とテスト対象を網羅する• その上で、テスト全体像を設計する– テスト全体を俯瞰できる– 網羅性を確保できる(抜け漏れ防止)– 複数のテスト間での無駄を排除できる– テストレベルでの分担がしやすくなる@NPO法人ASTER

9

テストプロセス@NPO法人ASTER

10

ソフトウェアテスト開発プロセスの基本的考え方• 考えやすくするために、ソフトウェア開発プロセスとソフトウェアテスト開発プロセスを対応させると•ソフト要求分析•ソフトアーキテクチャ設計•ソフト詳細設計•ソフト実装•テスト要求分析•テストアーキテクチャ設計•テスト詳細設計•テスト実装• 考えやすくするために、各プロセスの成果物を対応させると•ソフト要求仕様(要求モデル)•ソフトアーキテクチャモデル•ソフトモジュール設計•プログラム•テスト要求仕様(要求モデル)•テストアーキテクチャモデル•テストケース•テストスクリプト
11@NPO法人ASTER

テスト開発ライフサイクル／ソフトウェアテスト開発プロセスのイメージ
テストする

テスト設計（or テスト計画 or テスト実施準備）

テスト実施

テスト
アーキテクチャ テスト
詳細設計
設計

テスト
実施

テスト
要求分析
テスト要求の獲得と整理・テスト要求モデリング

テスト
実装

テストの実施・
テストアーキテクチャ テスト技法の具体的な記録・報告
モデルの検討適用によるテスト手順・
テストケースの テストスクリプトの列挙
記述@NPO法人ASTER

12

テスト要求分析
ＯＵＴＰＵＴ

ＩＮＰＵＴ
ソフト／システムへの要求• 要求仕様書• システム仕様書• ソフトアーキテクチャ設計書
テストプロジェクトへの要求
• コスト
• 納期
• 要員(数、スキルや経験)• （顧客から適用を要求された）テスト手段、テスト
技法、シミュレータ、テスト環境など

テスト要求分析•テスト要求定義書•テスト要求モデル•テスト観点群

13@NPO法人ASTER

テストアーキテクチャ設計
ＯＵＴＰＵＴ

ＩＮＰＵＴ

管理的側面

•テスト要求定義書•テスト要求モデル•テスト観点群

テストアーキ
テクチャ設計•テスト計画書•テストアーキテクチャ
設計書
技術的側面

@NPO法人ASTER

14

テストアーキテクチャ設計• テスト要求分析で得た結果を再構築
負荷テスト

コンポーネントテスト

テストフレーム
テスト目的
負荷

テストフレーム

テスト対象
ネットワーク

テスト目的
機能

テストフレーム
テスト目的
負荷

テストフレーム

テスト対象
CPU

テスト目的
性能

xxテスト

xxテスト

テストフレーム

テストフレーム

目的

目的

対象

テストフレーム

テスト対象
コンポーネント対象

テスト対象
コンポーネント

ｘｘテスト

ｘｘテスト

テストフレーム

テストフレーム

目的

目的

対象

対象

ｘｘテスト

テストフレーム

テストフレーム

目的

対象

目的

対象

目的

対象

@NPO法人ASTER

・・・

15

テストアーキテクチャ設計をする目的•テスト全体を俯瞰できるようになる（テスト設計者）– テストのバランスが良くなる– テストの大きな抜け漏れを防ぐことができる•コミュニケーションが円滑になる（テストチーム・グループ）– テスト設計のレビューで使うことで、テスト設計の理解が促進される– テスト設計・実装・実施の作業分担や協働作業がしやすい@NPO法人ASTER

16

テスト詳細設計
ＩＮＰＵＴ

ＯＵＴＰＵＴ

ソフト／システムへの要求・要求仕様書
・システム仕様書
・ソフトアーキテクチャ設計書• ソフトウェア詳細設計書
テストアーキテクチャ設計からのアウトプット•テストアーキテクチャ
設計書

テスト詳細設計•テスト詳細設計書×n（例：テストケース、テスト項目 etc.）

テスト詳細設計モデル

17@NPO法人ASTER

テスト実装
ＯＵＴＰＵＴ

ＩＮＰＵＴ
ソフト／システムへの要求・要求仕様書
・システム仕様書
・ソフトアーキテクチャ設
計書• ソフトウェア詳細設計書•各種設定、各種マニュアル類、各種運用設定書

テスト実装•テスト実施手順書•テストスクリプト/手順•テストデータ•テストオラクル(期待値)•事前条件/事後条件

テスト詳細設計からのアウトプット•テスト詳細設計書@NPO法人ASTER

18

弐．
”刮目（かつもく）”せよ！
これがテストアーキテクチャ設計だ！！

@NPO法人ASTER

19

テストプロセスは、きちんと定義した。
機能を分割して、画面、遷移、構成要素も洗い出した。
テスト観点を色々出して、テストケースの設計も行った。
作成しなければならない成果物も明確にした。
もう、テストケースしかないプロジェクトとは決別した。
今度こそは、ずっとうまくいくはずだった・・・。
悩むテストメンバー、悩むテストマネージャー、そして、複雑になり、 泥沼化していくプロジェクト・・・いったい、何が、どこが、まずかったのか？
@NPO法人ASTER

20

腕っこきのテストコンサルタントが、テストプロジェクトを斬る。
某Webアプリの実際のテストプロジェクトを元にして、テスト設計の実情と、その改善に鋭く迫る「テストアーキテクチャ設計」ライブが、今、始まる。
テスト設計で悩む全ての人に、充実度１５０％(当社比)で送る実況テスト設計ライブ！
あなたの「進む道」が見えてくる・・・、かも。
@NPO法人ASTER

21

おまけ：智美塾へのお誘い@NPO法人ASTER

22

智美塾訓
1. 塾生はテスト開発方法論を目指し、自ら技術獲得に励む事
2. 塾生は現場を尊び、地に足の着いた技術論を行う事
3. 塾生は品質向上という最終目的を常に意識した活動を行う事

智美塾の目的• 参加者それぞれが“テスト開発方法論”を 構築すべく研鑽を重ねる。
• すなわち、“テスト開発方法論”の上位にあるメタな何かを探り理解することによって、自分なりに“テスト開発方法論”を理解し、より良く作りあげたり選択していくこと ができると思われる。
• 以上について、参加者全員による議論 や共通理解、同意を重ねて進めていく。 決して一方通行の講釈ではない。
@NPO法人ASTER

23

来たれ！智美塾へ
・月一回程度、夜間に開催する(東京地区)。
・参加案内はTEF(テスト技術者交流会ML)
およびASTER Webへ提示
・参加希望者は参加案内に記載される参加要件(智美塾への参加動機、あるいはその回のお題について四百字以上で記述すること、など)をよく読み、応募すること。
・他に参加資格としての要件はない。
腕に覚えのある者なら誰でも応募可能である。
・参加メールを塾長などで審議し、資格ありと認められた猛者のみ参加を許される。
@NPO法人ASTER

24

智美塾訓
1. 塾生はテスト開発方法論を目指し、自ら技術獲得に励む事
2. 塾生は現場を尊び、地に足の着いた技術論を行う事
3. 塾生は品質向上という最終目的を常に意識した活動を行う事

智美塾の目的• 参加者それぞれが“テスト開発方法論”を 構築すべく研鑽を重ねる。
• すなわち、“テスト開発方法論”の上位にあるメタな何かを探り理解することによって、自分なりに“テスト開発方法論”を理解し、より良く作りあげたり選択していくこと ができると思われる。
• 以上について、参加者全員による議論 や共通理解、同意を重ねて進めていく。 決して一方通行の講釈ではない。
@NPO法人ASTER

25

来たれ！智美塾へ
・月一回程度、夜間に開催する(東京地区)
・参加案内はTEF(テスト技術者交流会ML)
およびASTER Webへ提示
・参加希望者は参加案内に記載される参加要件(智美塾への参加動機、あるいはその回のお題について四百字以上で記述すること、など)をよく読み、応募すること。
・他に参加資格としての要件はない。
腕に覚えのある者なら誰でも応募可能である。
・参加メールを塾長などで審議し、資格ありと認められた猛者のみ参加を許される。
@NPO法人ASTER

26