テスト観点図で
チームの知を
集める方法
アジャイル札幌・JaSST東北 @nemorine
▪ 根本 紀之
@nemorine / CSM
▪ 札幌の某半導体メーカに
勤めるQAエンジニア。
北海道と美味しいものを
こよなく愛す。アジャイ
ル系とソフトウェアテス
ト系の両方に足を突っ込
んで社外活動をしている。
▪ アジャイル札幌代表
自己紹介
2
時は令和…
3
企画 要件定義 設計 実装 テスト
バグは”検出”の時代から、”予防”の時代へ
SHIFT LEFT
▪ チームみんなが早い段階から品質、テストについて考える
▪ バグや手戻りが出ないような設計・実装をする
Agile Testing の “Whole Team Approach”
どうやってバグを予防する?
4
今日のお話
5
テスター
開発
バグの予防!
幸せな開発!
運用
みんなでテスト観点図を作って
チームの共通認識を深めていくことで…
▪ 実例型仕様(Specification by Example : SbE)
– 自然言語による実例をATDDなどで使う
▪ 実例マッピング(Example Mapping)
– ストーリーに対して、ルール・例・質問
を考えていく
▪ 品質スライダー
– どの品質に重きを置くか考える
▪ テスト観点図
– テストの観点を構造化したもの
チームの中で共通認識を育てるときに役立つ例
6
https://cucumber.io/blog/bdd/example-mapping-introduction/
NEW
▪ テスト開発手法であるVSTeP(ぶいすてっぷ)の成果物の一つ
▪ 簡単に言うと、テスト観点を構造化したもの
▪ チームメンバーの気になるところをテスト観点として同じ図に表現する
– ロールによって気にするところが違うことが多い(下記は例)
開発者 :自分が組んだロジックの処理速度
テスター:異常処理のふるまい
運用 :メンテナンス性が高いか
ビジネス:お客さんに受けが良い画面デザイン
テスト観点図
7
VSTePは
今回説明し
ません。
VSTeP概要:https://www.slideshare.net/YasuharuNishi/vs-te-p130510
テスト観点図の作り方
8
レイアウト
関係者全員でどのようなテスト
が必要かを出していく
しっくりくる言葉を見つけて
テスト観点とする
テスト観点を構造化する
必要に応じて、追加や削除をする
=剪定作業
ボタン配置
がガイドラ
インに沿っ
ていること
作るタイミング
9
企画 要件定義 設計 実装
▪ どのプロセスでも作れる
▪ プロセスを進めるごとに、解像度を少しずつ上げていくイメージ
▪ チーム全員が対話しながら作ることで、短時間で共通認識を醸成できる
▪ チーム全員のノウハウや気になることが、同じ図に表現される
▪ 個人の責任じゃなく、チーム全体の責任となる
▪ 開発者は設計、実装にフィードバックすることができる
▪ テスターはテスト設計のインプットとして使うことができる
早い段階からチーム全員でテスト観点図を作るメリット
10
11
エクスポート機能の例
AAA画面にエクスポート機能が追加
12
AAA
要件定義
AAA画面にエクスポート機能が追加
13
AAA
要件定義
AAA画面にエクスポート機能が追加
14
AAA
要件定義
出力形式も
考えないと…
AAA画面にエクスポート機能が追加
15
AAA
設計
データ件数が大きい場合
は、使用するメモリが足
りなくなるから、処理を
分割するように変更する
ケロ
▪ テスト観点を言語化できなくてもまずは話してみる
– それができなければ、「こんなテストが必要」ということを話す
– それができなければ、「こんなことが起きたら嫌だね」ということを話す
▪ ささいなことも話してみる
– 違和感があれば話す
– チームの誰かひとりでも思いついたことは絶対に逃がさない
▪ 完璧な図を作ろうと思わない
– その時点での納得感のある図ができればよい
– 開発の進みと共に、テスト観点図も成長させていく
▪ 「大切なのは対話するプロセス」ということを意識する
– チームの人がどういうことを気にしているかを理解する
テスト観点を出すときのコツ
16
▪ 抽象度が高い言葉出たときは、実際に何を意図しているかを聞いてみる
– 例)パフォーマンス ⇒ メモリなの?CPUなの?終わるまでの処理速度なの?
▪ 具体的な値は書きすぎない
– 図をシンプルに保つことができなくなる
– ポイントになりそうなことは書いておく
▪ Is-a とHas-aを意識する
▪ 上下のノードを見て、抽象度の確認をする
▪ 左右のノードを見て、粒度と漏れ抜けを確認する
構造化するときのコツ
17
18
チーム全員が “対話”をしながら
テスト観点図を作ることで
テストに対する共通認識が育ち
バグの予防に繋がる
19
Enjoy Testing!
テスト観点図を使って
チームの知を集めましょう

How to use testing viewpoint