テスターはソースコードを見る必要がありますか?


8

テスターがブラックボックステストに加えてホワイトボックステストを行う必要はどのくらいありますか?開発者として、私はQA志向の人が私のコードを調べて弱点を探すことに価値があると考えていますが、技術者以外のテスターが十分かつ体系的である場合、彼らはアプリケーションをうまくカバーできるようです。

ホワイトボックステストでは、アプリケーションのみをユーザーの観点から見た場合、明白ではない重要なテストケースが明らかになる可能性がありますが、ブラックボックステストのみにかかる時間は少なく、作業を実行できる人の数が大幅に増加します。 。また、テスターに​​到達する前に、開発者が重要な量のホワイトボックステストを実行する必要がありますか?


7
コードレビューはテストされていません。
ジョブ

ある種のソフトウェアについては、ソースコードとそのアプリケーションの見かけの機能との間に小さなつながりがあります。他の種類のソフトウェアでは、切断が非常に大きくなる可能性があります。
rwong

回答:


15

ホワイトボックステストとブラックボックステストは2つの異なるスキルです。一方のスキルを持つ人がもう一方のスキルを持っているとは限りません。

QAが行うことの多くはブラックボックステストです。システムが「アドバタイズされたとおりに」機能することを確認します。この点に関して、優れた仕事をするためにシステムがどのように機能するかを知る必要はありません。実際、コードについての知識があると、不注意な開発者が独自のテストを行っているのと同じ罠にそれらを導く可能性があります。開発者がシステムが機能するはずであると考える方法について、彼らが先入観を持っていないほうがはるかに良いです。

これは、ホワイトボックステストをすべきではないということではありません。これは、(部分的に)開発者のユニットテストです。ユニットテストの適切なスイートは、有効な入力、無効な入力、エッジケース入力をテストすることです。ただし、QAがこれを行う必要が常にあるとは思いません。それ以外の理由がない限り、本当に開発者の責任です。

ただし、SnOfusが彼のコメントで指摘しているように、優れたホワイトボックステストは非常に有用です。


これは、すでに良い答えですが、サプリメントに、私はこのGTACビデオ鑑賞をお勧めします:youtube.com/watch?v=cqwXUTjcabs
アルビン

1
これはQAのかなり狭い視点のようであり、私は本当にそれに同意することはできません。QAの役割は、単に「テストを作成し、合格しなかった。開発者の問題であり、私の手はきれい」ではありません。バグとその原因を特定することは、QAの責任の重要な側面です。最後に、QAは、開発者のコ​​ードが常に機能することを確認するためのものです。そのためには、開発者が持っているよりも、それがどのように機能するかについてさらに親密な知識が必要になる場合があります。
Steven Evers、

おそらく、その不一致は「システムがどのように機能するかを知る必要がない」にあります。@ChrisFが意味することは、ソースコードを見なくてもブラックボックステストを実行できるということですが、@ SnOrfusはこれを「システムの要件を十分に理解する必要がない」と解釈しています。
rwong

@rwong:いいえ、それは意味がありません。
Steven Evers

1
個人の開発者の責任ではないと思います-開発チームの責任です。

4

私のチームでは、テスターのコードレビューで頑張っています。テスターは、アプリケーションを見るのと同じ方法でコードを見る傾向があります。彼らは、「このコードがどのように機能しないのか」と自問し、コードレビュー中にプログラマが見つけられない問題を見つけることがよくあります。

より長い答えのために、私はこの論文を書きました


テスターのコードレビューのために+1して、素晴らしい論文のためにもう一度+1してもらいたい!
Ethel Evans、

3

絶対に

@ChrisFへの返答で言ったように、QAは、製品コードが常に機能することを確認するためのものです。網羅的ではないということは、どのプラットフォームが期待されているか、デプロイされたマシンの状態がどのようなものか、パフォーマンス要件はどのようなものか、すべてのラインが確実に成功するかを知ることです。

IME、優れたQAチームは、開発チームよりも多くのコードを作成、読み取り、レビューします。

機能チームと(主要な)バグ修正チームに、API、ワークフロー、セキュリティ、および機能/修正の他のすべての側面の設計に取り組んでいるQA開発者がいない場合、本当に強みを逃しています。 QA部門が製品の開発中に製品にもたらすことができること。


1

まったく必要ありません。QAを重視する人にコードを試してもらうよりも、開発者にコードを試してもらうことをお勧めします。さらに、コードを開発する際に単体テストを作成している場合、QA志向の人にコードを実行させることは、QAの時間を最大限に活用することにはなりません。

QA担当者は、コードがどのように記述されたかに焦点を当てるべきではありませんが、コードが何をするかに焦点を当てるべきです。

QA担当者は機能テストに焦点を当てず、それらのテストを実行するための要件を活用する必要があります。結局のところ、単体テストとブラックボックステストを行うQA機能テスターは、全員の時間を最大限に活用することになります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.