web-dev-qa-db-ja.com

テストプロセスの作成に必要な手順は何ですか。

私は課題の一部としてこの質問をされてきました。

質問は少しあいまいで、インターネットを検索した後、この質問に関連する特定の一連の手順を見つけることができません。私が見つけることができる最高のものは次のとおりです:

  1. テストケースを設計する

  2. テストデータを準備する

  3. テストデータでプログラムを実行する

  4. 結果をテストデータと比較する

テストプロセスを作成するために実行できるこれらの有効な手順はありますか?それとも質問を間違って解釈していますか?

3
Sean

すでに述べたステップに加えて、以下を追加できます。

  • 特にテストする必要があるものを決定します。
  • テストに使用するツールを決定します。
  • テストの責任者を決定します。
  • テスト結果が開発プロセス全体の一部としてどのように利用されるかを決定します。
1
Bernard

現代のソフトウェア開発環境では、ユニットテストの記述は優れたテスト計画の一部であると言えます。単体テストは、欠陥に対する最初の防御線です。

これは、ユーザーとの実際のやり取りがなく、変更を要求する人がテストする(またはテストできる)可能性が低いソフトウェアで作業する場合に特に当てはまります。

最後の2つの箇条書きは、ユーザー受け入れテストを表しています。これは問題ありませんが、合理的に適切に記述された単体テストと適切なコードカバレッジにより、UATは、変更によって要件が正しく取得され、使用可能であるかどうかに、より集中する必要があります。

0
Daniel Mann

適切なテストには、多層的なアプローチが必要です。テストプロセスでは、これらの層を考慮する必要があります。

これを見るには、少なくともいくつかの方法があります。 1つは testing triangle と呼ばれ、多数の単体テストが下部にあり、いくつかの手動テストがピークにある構造を表しています。それらの2つの極端の間には、統合テストと受け入れテストがあります。

テストの取り組みに集中する方法を検討する別のアプローチは、 アジャイルテストの四分円 を使用することです。このアプローチでは、テストの内容(ビジネス向けかテクノロジー向けか(Y軸)、製品を批評したり、プログラミングチームをサポートしたり(X軸))に基づいてテストを整理します。

(注:テストを見るこれらの2つの方法は相互に排他的ではありません-これらは問題を調べる2つの方法にすぎません)

したがって、最初のステップは、テスト方法を決定することです。手動テストに焦点を当てますか?ユニットテスト?ユーザー受け入れテストを自動化できますか?ほとんどのプログラミングチームのように、リソースが限られているため、各タイプのテストにどの程度の労力を費やすかを決定する必要があります。

これらの種類のテストにはそれぞれ独自の計画が必要になりますが、正式な書面による計画は必ずしも必要ではありません。たとえば、単体テストの計画は、開発者が記述するコードの単体テストを記述し、ビルドごとに実行するという単純なものになります。

0
Bryan Oakley