【読書のアウトプット】ISO/IEC/IEEE 29119 ソフトウェアテスト規格の教科書

IT/プログラミング
いらすとやさん

ISO/IEC/IEEE 29119 ソフトウェアテスト規格の教科書を読みました。

ご購入の検討はこちらのAmazonからどうぞ。

【Amazon.co.jp 限定】ISO/IEC/IEEE 29119 ソフトウェアテスト規格の教科書 | Stuart Reid, 石原 一宏, 堀 明広, 高木 陽平, 江添 智之 |本 | 通販 | Amazon
AmazonでStuart Reid, 石原 一宏, 堀 明広, 高木 陽平, 江添 智之の【Amazon.co.jp 限定】ISO/IEC/IEEE 29119 ソフトウェアテスト規格の教科書。アマゾンならポイント還元本が多数。Stuar...

こちらの本のターゲットはきっとこんな感じ

  • エンジニアになり、はじめてテスト工程を経験するかた
  • 現在はテスターですが、スキルアップを考えているかた
  • QAエンジニアになりたいかた
  • テスト関連の管理職のかた

読んだ目的と感想

私はテストコードの質を高めたくて読みました。
主に5章のテスト技法についてはテストパターンの考え方の参考になり、大変勉強になりました。
ただ、読んでいて今私が求めていることも整理がついてきました。実践的なテストコードの例えがたくさんあるような情報が欲しいということです。テストコードは詳細設計と同じ認識です。会社のひとからは「詳細設計なんて、とっくにできているじゃん、なんでいまさら?」と言われるわけなのですが、もっと改善できるところもあるような気がしています。納得できていないのでまたその知識を求めているというところまでわかりました。

「どうして納得できないのかな?どうすれば納得できるのかな?」と考えたとき、きっと実践でもっとテストコードを書いて納得することが一番の近道なのかもしれません。そしてテスト駆動開発を経験すればさらに納得感を得られるのかもしれません。エンジニアなのに感覚で考えています、いえいえ人なので時には感覚で動きます!許してください、と誰に謝っているのだか……笑
自分のなかの好奇心と欲求を少し理解できてそういう意味でも気づかせていただきありがとうございました……!

同値分割法

テストケースを作成するときの情報の整理に役立ちそうです。

  • 有効値と無効値とインプットとアウトプットのメトリクス表の作成
  • 有効値のインプットに対応した期待値メッセージ
  • 無効値のインプットに対応したエラーメッセージ
  • イレギュラーなインプットに対応したエラーメッセージ

その後「同値分割のテストケース」の練習としては
雑ですがこんな感じです。※2022年4月1日以降の成人の年齢を定義しています。

テストID同値パーティションインプットアウトプット(期待値)
10 ≦ age < 1812未成年です。
2age ≦ 0-1無効な年齢です。
318 ≦ age ≦ 14025成人です。
4age ≧140200おそらくひとではありません(2022年時点)
同値分割のテストケースの例

境界値分割法

境界値のテストは3パターン。
境界値が18なら以下をインプットにしてテストをするだけになりそうです。

  • 17
  • 18
  • 19

「境界値のテストケース」の例はこんな感じになります。

テストID境界値インプットアウトプット(期待値)
11817無効値 (足りない)
21818有効値
31819無効値 (多い)
境界値のテストケースの例

テストコードも境界値については3パターンで足りそうです。

状態遷移テスト

お手洗いの掲示板的なものの状態遷移のテストの例は
こんな感じですね。

テストID状態の変異パスインプットアウトプット
1「使用中」と表示中ライトを消す「使用可」と表示する
2「使用可」と表示中ライトを点ける「使用中」と表示する
状態遷移のテストケースの例

デシジョンテーブルテスト

すべて論理値として作成するのが基本らしい。
T:True, F:False

ルール123456789101112
条件寒いかTTTTFFFFFFTT
暑いかFFFFFTTTTFFF
動作エアコンをつけるTTTTFTTTTFTT
エアコンをつけないFFFFTFFFFTFF
デシジョンテーブルテストケースの例

組み合わせテスト

すべての環境でテストをすると膨大な量のテストが必要になり、それに時間をかけても費用対効果はほとんどない。組み合わせテストをすることで膨大な量から管理しやすい量にコンバートすることができる。
ただ、組み合わせテストで管理しやすいからと言っても、すべてのテストをやる必要はなく、エラーが発生しやすそうなところを重点的に組み合わせテストをするのが良いとのこと。

OSエディションブラウザ
Windows10Homechrome versionX
FireFox versionY
Windows10Prochrome versionX
FireFox versionY
Windows10Enterprisechrome versionX
FireFox versionY
Windows10Educationchrome versionX
FireFox versionY
Windows11Homechrome versionX
FireFox versionY
Windows11Prochrome versionX
FireFox versionY
Windows11Enterprisechrome versionX
FireFox versionY
Windows11Educationchrome versionX
FireFox versionY
組み合わせテストケースの一例

5章のテスト技術の表を作成することで

詳細設計を考えながらテストコードをぱっと思い浮かぶことができるかもしれません。定期的に確認することで記憶に定着させていくことが大事ですね。

テストの関連記事

コメント

タイトルとURLをコピーしました