2017-01-21 6 views
-6

こんにちは、私はインタビューの初心者です。そして、私は常に実生活でユニットテストを使用します(IDEで作成)。オンラインインタビューがあり、コラボレーションでコードを書くことがあると聞きました。そして、私はalgrithmを書いた後、あなたの答えをテストするためにいくつかのテストケースを書いてください。テストケースを書く方法を教えてもらえますか?このようなインタビューをしているのは初めてのことですが、私はC#を使っています。ありがとうございますオンラインインタビュー中にテストケースを書き込む方法

+0

ただ、Googleの「アレンジ法、アサート」、ここにあなたが書き込みを意味しますか「のテストケースを書く」ことでこの練習https://msdn.microsoft.com/en-us/library/hh694602.aspx –

+0

を行いますテスターが従うマニュアルテストステップを記述した文書?あるいは、自動ユニットテストを含むコードを書くことを意味しますか? NUnitで? –

答えて

0

ここでは、インタビューの際に役立ついくつかの基本事項を示します。

  1. code coverageを取得したいと考えています。つまり、テストでは、すべてのロジックブランチ(if/then)が少なくとも1回実行されるような方法でコードを実行する必要があります。コードカバレッジを測定するツールがあり、一般的に80〜90%を目指します。特定のパーセンテージをターゲットに設定することは、時には偽物とみなされることに注意してください。

  2. various approaches to coming up with testsがあります。 TDDBDDは人気のあるものの2つですが、RDTなどもあります。テストはuser storiesに従って定義する必要があります。基本フロー(ハッピーパスとも呼ばれます)だけでなく、代替フローもテストする必要があります。

0

** 1)単純なケース。これらの例は、あなたのソリューションが理にかなっていることをしっかりとチェックしている例のようです。単純な例をいくつか選んで、紙や頭でかなり迅速に解くことができます。あなたがそれを行うことができない場合、あなたは素早くあなたのために答えを生成するために強引な力のプログラムを書くことができます。

2)エッジケース。これらはしばしば問題に基づく境界ケースです。実際には問題の構造に依存しますが、プログラムが正常に動作するかどうかをテストするための一般的な点がいくつかあります。 整数オーバーフロー 非常に特殊なケース(アルゴリズムは大規模な入力に対しては機能しますが、したがって特殊なケースを異なる方法で処理する必要があります) 非常に小さな入力 非常に大きな入力 セルフループ、切断されたグラフ、頂点間の複数のエッジ 特殊条件が存在する可能性があることを特定したら、その状態を示す可能性があり、コードが正しく処理しているかどうかを確認することができます。

3)大きなケース。多くの場合、ランダムに大きなテストケースを生成するだけで十分です。ただし、問題の構造によっては、アルゴリズムの最悪の場合のパフォーマンスを実際に引き出すケースを慎重に選択する必要があります。**

関連する問題