ソフトウェアテスト-ソフトウェアテストの基礎


1、ソフトウェアテストの概念


1)1983年、IEEEはソフトウェアエンジニアリング標準用語を提出し、ソフトウェアテストを以下のように定義した。

        , 。

2)G.J.Myersは次のように考えています。

       (1) 
       (2) 
       (3) 

3)まとめ:G.J.Myersが定義したソフトウェアテスト範囲は狭く、総合的に我々が定義したソフトウェアテストは以下の通りである。

       (1) , , 
       (2) 
       (3) , 
       (4) 

2、ソフトウェアテストの目的


1)証明:ソフトウェアが動作可能であることを示す

       (1) 
       (2) 
       (3) 

2)検出:エラー発見のため

       (1) 、 
       (2) 
       (3) 、 

3)予防:管理ソフトウェア品質

       (1) 
       (2) 
       (3) 
       (4) , 

3、ソフトウェア開発ライフサイクル


ソフトウェア開発のライフサイクルには、計画(Planning)、需要分析(Requirement Analysis)、設計(Design)、プログラムコード(Coding)、テスト(Testing)、実行とメンテナンス(Run and Maintenance)の6つのフェーズがあります.各フェーズの作業内容は次のとおりです.

1)ソフトウェア計画段階

       (1)  
       (2) 、 、  
       (3) , 
       (4) 、 、 
       (5) 

2)需要分析段階

        , , , , SRS(Sofeware Requirement Specification)

3)ソフトウェア設計段階

        , 。
       (1) (High Level Design): , 、 
       (2) (Low Level Design): , 

4)符号化段階:ソフトウェア設計をコンピュータが許容できるプログラムに変換する


5)試験段階

       (1) (Unit Testing), LLD , 。
       (2) (Integration Testing), HLD , , 。
       (3) (System Testing), SRS , 、 。

6)運転とメンテナンス

        , , , 、 、 、 。

4、ソフトウェア研究開発組織構造


人員、プロセス、ツール:適切な人員が適切なツールを利用して適切なプロセスを経てこそ、高品質のソフトウェアを開発することができる.
       (1) : 、 、 、 
       (2) : 、 。
       (3) : 、CMO( )。

5、ソフトウェア開発モデルとその特徴


ソフトウェア開発モデルは滝モデル,スパイラルモデル,RUPモデルの3種類がある.

1)滝模型(Waterfall Model)

	 : , 。
       (1) 
       (2) ( )
       (3) 

2)スパイラルモデル(Spiral Model)

       (1) 
       (2) 
       (3) 
       (4) , 
       (5) 

3)RUPモデル(Rational Unified Process)統一ソフトウェア開発プロセス

       (1) : 、 ,
       (2) : 、 、 、 , 
       (3) 、 

4)IPDプロセス(Integrated Product Development)製品開発


6、ソフトウェアの欠陥


1)ソフトウェア欠陥の類型及び発生原因

      (1) : ( , )
      (2) : ( , )
      (3) : , 

2)ソフトウェア欠陥の原因

      (1) , 
      (2) 
      (3) 
      (4) 
      (5) 
      (6) 
      (7) 
      (8) ( )

7、ソフトウェア欠陥タイプ


漏れ、エラー、追加の実装(冗長)

1)漏れ:規定された或いは予想された製品は製品に体現されている(規格説明を全面的に実現していないかもしれないし、需要分析段階で需要が漏れているかもしれない)。


2)エラー:仕様説明が正しく実現されていない(設計エラー、符号化エラー)


3)追加の実装(冗長):仕様説明に規定されていない需要が製品に組み込まれ、実装される。


8、ソフトウェアテストでよく使われる名詞と意味


欠陥、故障、失効

1)欠陥(Defect):ソフトウェアに存在する偏差は、活性化され、Bugに相当する静的形態でソフトウェア内部に存在する。


2)故障(Fault):欠陥がアクティブ化された後、ソフトウェアの実行中に発生した状態は、予期せぬ事態を引き起こす可能性があり、処理を加えなければ、失効を生じる可能性があり、動的な動作である。


3)失効(Failure):ソフトウェアの実行時に発生した外部異常行為の結果、表現はユーザーの需要と一致せず、機能能力が終了し、ユーザーは必要な応用を完成できない。