ブラックボックステストを勉強しました。
2か月前に、勉強しましたが、
全然、Qiitaに投稿しなかったので、
今、勉強した内容を整理します。
ブラックボックステストは、Programを一種のブラックボックスで見て、
さまざまな入力を実行して、テストをする方法です。
ほとんどのソフトウェアのテストは、ブラックボックステストです。
ブラックボックステストの基本
Equivalence partitioning(同値分割法)
同値分割法は、
ソフトウェアやシステムの入力値を同様の動作(結果)を示すもので、
期待しているグループに分類して、
グループに属する入力値は、同じ方法で処理されるという前提に設計する手法です。
Test | 1 | 2 | 3 | 4 |
---|---|---|---|---|
バッテリー容量 | 2.75 | 2.99 | 3.55 | 4.05 |
分割 | 2.05≤ <2.80 | 2.80≤ <3.30 | 3.30≤ <3.80 | 3.80≤ <4.30 |
結果 | バッテリー 0 | バッテリー 1 | バッテリー 2 | バッテリー 3 |
Boundary value analysis(境界値分析)
同値分割法が、グループの内部を確認する奴なら、
境界値分析は、グループの境界を確認するやつです。
大体、バグは、グループの内部より、グループの境界から発生する可能性が高いです。
Decision Table
Decision Tableは、
すべての入力の組み合わせを表作成し、その入力に対して動作や出力を表示します。
表には、状態、規則、同漁整理されていて、この表を使用してテストをする。
しかし、この方法には問題があります。
大規模なソフトウェアをテストする場合は、
かなり多くのテストケースが生じるので、表を使用することは困難です。
自分も、テストケースを作成する時、
結構、ケースが多かったので、大変でした。
ちゃんと、確認するべきのケースをテストしたり、効率的にテストする方法を探す必要があります。
State transition diagram
システムの状態が変化することによるテストケース設計も可能です。
現在の条件や、以前の状態に応じて、他の応答を示すことができます。
この場合には、状態遷移図を使用してシステムを表現することができます。
上にある絵みたいに、State transition diagramを作成した後、
流れに合わせて、テストケースを作成します。
テストは、リリースする前に開発したProgramがちゃんと動くのか、確認する重要な作業です。
みんな、テスト頑張りましょう!