見出し画像

「テスト手順」は「テストプロシージャ」

ソフトウェアテストの用語に「テスト手順」っていうのがあります。これに対する誤解が今でも多いので、このnoteでは、誤解を解いてみるチャレンジをします。

テスト手順(テストプロシージャ)の定義

定義は以下です。

テスト手順(test procedure)
複数のテストケースの実行順序。最初の事前条件や実行後の終了活動をセットアップするために必要な関連するアクションも含む
(https://glossary.istqb.org/jp/search/テスト手順)

テスト手順って呼ぶとみんな誤解してしまうのがテストケースのアクション部分に書く実行ステップですが、ISTQBの「テスト手順」は意味が違います。それはテストステップと呼びます。

ISTQBのテスト手順(テストプロシージャ)の定義はこの一連のツイートの通りです。

プロシージャとは「複数の処理するものを一つにまとめた」もの


テストプロシージャを図書館の本で例えてみる

図書館にある本がテストケースだとして例えてみましょう。

画像1

上記の図書館で例でいうと図書館のたくさんある本(テストでいうテストケースのリスト)の中から、今必要な本(テストケースたち)だけ持ってきてあります。この持ってきた本たちを読みたい順番に詰んだものが、テストプロシージャってイメージです。

スクリーンショット 2022-02-23 20.24.28

私の家の本で例えてみる

私の家では1階に自分が持ってる本が全部置いてあります。

画像4

今読みたい本は1階の本棚から、2階の机の横に持ってきています。これが、テストプロシージャのような感覚に近いです。読み終わったらまた1階の本棚に戻します。

画像5


「テスト手順」が混乱を招く理由

混乱を招く理由は二つあると思っています。

JSTQBの訳語の選定の問題

日本では大体の組織が1つのテストケースの中に記述する実行ステップをテスト手順と呼びます。

スクリーンショット 2022-02-23 20.31.46

普段テスト手順って呼んでる違うものがあるので、意味が違うって言われても間違えやすいの当然ですね。テストアイテムをテスト項目って訳しちゃうとかもテストケースの話をしているように感じてしまうのと一緒ですね。JSTQBに問題ありそう。

そもそもライブラリから探し出してくるってことをしない

日本での多くのテストの現場では、エクセルにテストケースを羅列して書いて、そのまま実行します。なので、「テストをする際に保管されてる多くのテストケース保管庫から今回のテストに必要なものを取り出してくる」って感覚が肌感でわからないんだと思います。

テストプロシージャ仕様は以下の作業順序で言うと2番目の作業です。

1.テストケースを作ったときは保管用にフォルダにいれておく
2.テスト実行するときは保管庫からとってきたテストケースを実行用フォルダにいれる
3.テスト実行が終わったらメンテする(図書館の例で本を元の場所に返すイメージ)
4.テストケースは保管用フォルダに整理して入れてあり、また取り出せる

こういう作業の流れなんだってわかると肌感で理解できるはずです。この作業の流れはテスト管理ツールでは一般的です。テストケースは図書館の本のように1つしかなく実行中は他の人が使えないってなると不便です、そのため「テストインスタンス」という考え方が出てきて、管理ツールに実装されてます。

日本でもテスト管理ツールを普通に使えるようになるのがいいのかな。それとも日本独自の考え方を世界に広めていくのがいいのかな。ここは考えどころですね。

まとめ

テスト手順は何物か?って話でしたね。

JSTQBの用語で静的構造の上下関係で言うとテストケースの上位にくるものです。(複数のテストケースを束ねてる入れ物なので)

テスト手順
  テストケース
    アクションと事前条件と期待結果と事後条件

(ただし、現場ではアクションをテスト手順と呼ぶことが多いのでみんな混乱してる)

ISTQBの原文の用語だとこうなります、

Test procedure
  Test case
    action, pre-condition, expected result, post-condition

(現場ではtest actionをtest stepと呼ぶことが多い)

以上


こちらも参考にどうぞ

あきやまさんとのやりとり

辰巳さんの質問

回答;作業の順序としてはテストケース設計の後に来る作業なので後続作業です。なのであってます。静的な構造としてはテストケースn個に対してテスト手順が1つできるような関係になるので、上位に来ます。

テストケース一覧って呼ぶことが多いかもbyあきやまさん

確かにそうかもしれないです。ここで問題になるのは資産としてテストケースを管理する際の一覧と、テスト実行する時に管理する際の一覧の使い分けになりそうです。資産管理と実行管理の二つの考え方について、きんちゃんが考察してたのでそれも貼っときます。


サポートありがとうございます。これをカテにこれからも頑張ります。