他の人が Stack Overflow でいくつかの種類のテストについて言及しているのを見てきました。
私が覚えているのは、単体テストと統合テストです。特に単体テストについてはよく言及されています。単体テストとは正確には何ですか?統合テストとは何ですか? 他に知っておくべき重要なテスト手法はありますか?
プログラミングは私の職業ではありませんが、いつかはなりたいと思っています。制作に関することなども大歓迎です。
他の人が Stack Overflow でいくつかの種類のテストについて言及しているのを見てきました。
私が覚えているのは、単体テストと統合テストです。特に単体テストについてはよく言及されています。単体テストとは正確には何ですか?統合テストとは何ですか? 他に知っておくべき重要なテスト手法はありますか?
プログラミングは私の職業ではありませんが、いつかはなりたいと思っています。制作に関することなども大歓迎です。
私の頭の上から:
コードの他の重要なテストに注意する必要がありますか?
これらは、ソフトウェア ライフサイクルのさまざまなフェーズに応じたさまざまな種類のテストの一部です。
さらにあります:
さらに、ソフトウェアのテストは、ソフトウェアの作成とほぼ同じくらい幅広いテーマです。
単体テストの主な目的は、アプリケーション内のテスト可能なソフトウェアの最小部分を取り出し、それをコードの残りの部分から分離し、期待どおりに動作するかどうかを判断することです。各ユニットは、モジュールに統合してモジュール間のインターフェースをテストする前に個別にテストされます。単体テストは、その使用中に大部分の欠陥が特定されるという点で、その価値を証明しています。
統合テストは、単体テストの論理的な拡張です。最も単純な形式では、すでにテスト済みの 2 つのユニットがコンポーネントに結合され、それらの間のインターフェースがテストされます。この意味でのコンポーネントは、複数のユニットの統合された集合体を指します。現実的なシナリオでは、多くのユニットがコンポーネントに結合され、それらはさらにプログラムのさらに大きな部分に集約されます。アイデアは、ピースの組み合わせをテストし、最終的にプロセスを拡張して、他のグループのモジュールでモジュールをテストすることです。最終的に、プロセスを構成するすべてのモジュールが一緒にテストされます。さらに、プログラムが複数のプロセスで構成されている場合は、一度にすべてをテストするのではなく、ペアでテストする必要があります。
詳細については、サイトを確認してください。Microsoft 以外の情報源からの情報もたくさんあります。
もう 1 つの重要な手法は回帰テストです。この手法では、一連のテスト (回帰スイートと呼ばれる) を維持します。これらは通常、毎晩、およびすべてのチェックインの前に実行されます。バグを修正するたびに、1 つ以上のテストをスイートに追加します。目的は、既に修正された古いバグを再導入するのを防ぐことです。(この問題は驚くほど一般的です!)
プロジェクトが大きくなる前に、早い段階で回帰スイートの蓄積を開始してください。そうしないと、後悔することになります。私は確かに持っています!
単体テストとは、アプリケーションの独立した部分をテストするために (願わくば) 小さなコード ブロックを作成するという単純な考え方です。
たとえば、電卓アプリケーションがあり、加算関数が機能することを確認する必要があるとします。これを行うには、加算関数を直接呼び出す別のアプリケーションを作成します。次に、テスト関数が結果を評価して、期待どおりかどうかを確認します。
基本的に、既知の入力で関数を呼び出し、出力が期待どおりであることを確認します。
「テストの種類」に関する Google での最初の 2 つの検索結果は包括的に見えます
私が最も関連性があると思うもの。ここ を参照してください。
これは私が書いたエントリでした: Different Types of Automated Tests .