1

私は最近、プリンター会社の QA/ファームウェア開発者として採用されました。私の仕事の多くは、プリンター自体に配置する小さなウィジェット/テスト アプリを作成して、すべてが正しく機能することをテストすることです。これをキャリアエクスチェンジやプログラマーなどに移す前に....私は実際にここでソースコードについて話している...

しかし、私は CS の学士号を取得して大学を卒業したばかりなので、プロの世界、特に QA にはかなり慣れていません。

とにかく、良いテストケースの結果を出すための本当に良い「方法」を理解するのに苦労しています。

たとえば、キーパッドから数字を入力する場合 (0 ~ 9) .....テストするには、許容範囲 (1 ~ 100 など) をテストしますが、その範囲内でいくつテストする必要があるかを自問します (これらのいくつかは手動で押す必要があるため、自動化できないことを念頭に置いてください)

次に、明らかに範囲外をテストします(ただし、何回ですか?)

たとえば、* $ % のような属さない ASCII 文字や文字を入力します。有界/無界のケースに適切なテストケースを与える方法について少し混乱していますか?

何か案は?

4

3 に答える 3

1

入力ファミリを探します。

負、非負、0、非正、正、0 桁、1 桁、2 桁、3 桁...

これらは入力ファミリの例です。

何かをテスト ケースの新しいファミリに分割するコード内のものを探します。

類似しているが異なる操作のバグ レポートを探してください。それらは、ファミリに分割する方法の手がかりを与える可能性があります。

于 2011-02-16T23:32:58.163 に答える
1

テスト戦略に関する情報については、 Google Testing Blogを参照することをお勧めします。James Whettaker も、テストに関する本を何冊か書いています。私は本を​​自分で読んだことはありませんが、いつか読んでみたいと思っています。

また、あなたが働いている他の開発者、テスター、および QA 担当者と話をしてください。彼らの古い戦争の話、彼らが見つけた、修正した、または聞いたお気に入りのバグを尋ねてください。多くのバグは一般的なカテゴリに分類され、これらのエラーを認識して予測する方法を学ぶことは、主に経験の問題です。

于 2011-02-17T00:16:03.867 に答える
1

それが役に立った場合、あなたは今、本当に難しい問題にぶつかっています - ほぼ無限の数の中から適切なテストケースを選ぶのは簡単だとか些細なことだと言う人は、無知であるか、非常に高価なツールを売り込もうとしているだけです!

別の回答が示唆するように、入力をファミリ (別名、等価パーティション) にグループ化すると役立つ場合があります。テスト設計について読むことをお勧めします。Lee Copeland の「A Practitioner's Guide to Software Test Design」という本が好きですが、Tobbe Ryber の「Essential Test Design」という本も役に立つかもしれません。ここから無料の PDF ダウンロードとして入手できます。 ://www.ryber.se/?p=213 - まず第 10 章を見てください。

手がかりを得るためにバグ レポートを調べたり、さらなるアイデアを得るためにコードを調べたりするという Glowcoder の提案は、どちらもフォローアップする価値があります。また、「目に見えない」境界が存在する可能性があることにも注意してください。つまり、コードや要件を見ただけでは明らかではない、認識していない制限です。たとえば、特定の値を下回る数値は問題なく機能します。その後、明らかに完全に任意の値で、突然失敗し始めます。例としてこれを見てみましょう: 最も奇妙な言語機能(そして、私は実際にその機能に遭遇しました)。

これは、テスト データを可能な限り (妥当な範囲内で) 変化させて、奇数の高い値を散りばめる価値がある理由の 1 つです。(これは、まったく同じテスト ケースを何度も実行することに対する大きな議論でもあります。テスト ケースが自動化されている場合、コストは低くなり、変化の指標として機能します。しかし、手動で値を入力する必要がある場合は、同様に、それらを少し切り替えて、毎回検索スペースをもう少しカバーします)。

境界テストに関するビデオと、その他のリソースへのポインタを次に示します: http://www.testingreflections.com/node/view/4292

于 2011-02-17T00:18:08.737 に答える