プログラマごとにチームが持つべきテスターの数は、具体的な推奨事項はありますか?私は、昔ながらの開発アプローチ(アジャイルなものはない)やより大きなプロジェクトに関する意見にもっと興味があります。ソースは大歓迎です。
ソフトウェア推定 スティーブマコネル(ch。21.1、p。237-238)から:
- 一般的なビジネスシステム(内部イントラネット、管理情報システムなど)-3:1から20:1(多くの場合、テストの専門家はまったくいない)
- 一般的な商用システム(パブリックインターネット、シュリンクラップなど)-1:1から5:1
- 科学および工学プロジェクト-5:1から20:1(多くの場合、テストの専門家はいません)
- 一般的なシステムプロジェクト-1:1から5:1
- セーフティクリティカルシステム-5:1から1:2
- Microsoft Windows 2000-1:2
- NASAスペースシャトルの飛行制御ソフトウェア-1:10
ここのデータは、私の会社と私が過去10年間に協力してきた組織の観察に基づいています。
データからわかるように、比率は特定の種類のソフトウェア内でも大幅に異なります。これは適切です。特定の会社または特定のプロジェクトに最適な比率は、プロジェクトの開発スタイル、テストされるソフトウェアの複雑さ、新しいコードに対するレガシーコードの比率、スキルテスターは、開発者のスキル、テストの自動化の度合い、および他の多くの要因と比較されます。
一部のプロジェクトはより自動化されたテストに適しているため、プロジェクトの性質に大きく依存すると思います。たとえば、ホステッドアカウンティングパッケージは、多数の環境に対応する必要はなく、実行する必要のあるテストのタイプは、ビジネス側が提供するシナリオを含む複雑なスクリプトです。
一方、Androidアプリを開発している場合は、自動化が容易ではないさまざまな一般的な電話で物理的にテストすることをお勧めします。
テスターの比率が適切だと感じた2つの場所で働いています。私の現在の会社にはテスターがいません。すべてが自動テスト、JUnit、RSpec、Selenium、またはCapybaraです。これは私たちのプロセスと文化に役立ちます。
以前の会社には、コードを書くエンジニア4人あたり約1人のテスターがいました。これは、スケジュールがうまく機能し、サイクルのどの部分にあるかに応じて一部のテストがプロジェクト間で変動し、コードを安定させながら2〜3人のコーダーに1人になるためです。
QAの一部はインドでも行われましたが、これもニースでした。一日の終わりに作業を終了し、翌日に来ると、QAから新しいフィードバックがあります。