「テスト駆動型開発チーム」のメンバーとは対照的に、プロジェクトで「QAエンジニア」として働く方法は?

StackOverflow https://stackoverflow.com/questions/3577009

質問

間違った場所でこの質問をしている場合は、心からお詫び申し上げます。 (おそらく、キャリアアドバイスとQAに固有のミニスタックのオーバーフローの1つ)私は最近、プロジェクトのユニットテストフレームワークについて学び、実装するのにかなりの時間を費やしました。

ユニットテストフレームワークが導入される前に、私たちの方法は、コード、手動でテスト、コミット、物事が壊れたり、ストリームを上げたりしないことを期待することでした。非常に反応的なシステム。

今、私たちは皆、物事をテストする必要があり、自動化されたテストが効率的かつ良好であることを理解しています。ただし、現在、役割は「テストを行う」と「自動テストの書き込み」であるようです。

手動テストを行うことは可能ですが、圧倒的に感じられます(常にバグがあるので)。

リクエストの第2部を達成するのが難しいです。コードがテスト可能になるように設計されていない場合、自動テストを作成することは困難です。

私はQAの責任を持っています - しかし - 私はテスト駆動型開発でのみリソースを見つけることができます。

他の開発者がまだテスト可能なコードを作成することに懸念を持って書いていないQAの役割でより効果的になるためにどのような方法を使用できますか?

役に立ちましたか?

解決

開発者をユニットテストでスピードアップすることがあなたの主な関心事だと思います!そうすれば、誰もが勝者です。

その時点まで、あなたは実質的にレガシーコードを使用しているので、マイケルフェザーの本 レガシーコードで効果的に作業します どうやら、そのようなコードのテストに関する多くの有用なアドバイスが含まれているようです。

おそらくこれをすでに知っているだけでなく、行動駆動型開発(BDD)もチェックしてください。これには、自動統合テストの作成に関する多くのことが含まれています。

他のヒント

名前の問題 テスト駆動型開発ユニットテスト, 、彼らがソフトウェアのテストについてであることを意味するということです。彼らです いいえ. 。 TDDとユニットテストは約です 設計 そして、彼らは本質的に開発者の責任です。

QAアナリストの役割は、TDDを練習するチームにとってまだ最も重要であり、それは 長く、長い 良心的なQAとして仕事を辞めた前の時間!

を見てみましょう 受け入れテスト駆動型開発 また、自動化された受け入れテストを作成することにより、おそらくなどのツールを使用することにより、要件段階でさらに関与することを検討してください。 フィットネス.

もちろん、マニュアル、探索的テストにはまだその場所があります。しかし、あなたはあなたの基本的な人権の違反として回帰テストを繰り返すことを検討する必要があります!

開発者は、少なくとも単体テストを作成する必要があると思います(おそらくTDDを使用しています)。これは、チェックインするコードが潜在的に機能していることを保証するための最小限の基準です。

ソフトウェアがクライアントの要件を満たしていることを確認するために、より高いレベルのテストを提供する人としてのQAの役割を理解しているため、個々のクラスだけでなくモジュールまたはアプリケーション全体をテストすることはありません。開発者がユニットテストを提供していない場合でも、エンドツーエンドのテストを自動化できるはずです(これには通常、テスト環境のセットアップなどを自動化するなど) - あなたの作業はよりイライラするでしょう:)

私の経験では、人々はテストを書くことについて一晩振り返ることはありません。彼らを納得させることはプロセスです。プログラマーは最終的にはしぶしぶ試してみますが、それは彼らが支持者であり、定期的な開業医になる数週間または数ヶ月前です。それはあなたがあきらめて、それが困難な戦いであることを認識し、上からのサポートを必要とすることを認識する必要があるという意味ではありません。

あなたは自分でテストを書くことに飛び込むことができます:

バグの約半分が以前のバグの「回帰」であることを考えると、あなたの状況では、新しい重要なバグの回帰テストの作成に焦点を当てます。これにより、通常のQA作業において大幅に役立ちますが、将来のバグにとっても優れたセーフティネットになります。

開発者にすぐにテストを書くように説得することができなくても、すぐに価値を見ることができる貴重なテストがあります。この作業は、ユニットテストを書く開発者のアイデアを販売するのに役立つ可能性があります。

私は数年前に同様の役割で働いていたので、あなたのトラブルを理解することができます。ユニットテストで開発者をスピードアップするために、メンタリングとペアプログラミングセッションをお勧めします。ひどく設計されたクラスの最初のユニットテストを書くことは、本当の痛みになる可能性があります。あなたの2人がいるなら、それはより簡単で楽しいです - 言うまでもなく、最初のリファクタリングで愚かな間違いを犯す可能性を下げることは言うまでもなく。

@Grantがすでに述べたように、Feathersの本は、このための非常に貴重なリソースです。結果がゆっくりと表示され始める前に、最初の数ヶ月を忍耐し、忍耐してください。

強力な管理サポートも必要です - これがなければ、試みる意味はありません。経営陣は、建築単位テストが 投資, 、あなたの時間とエネルギーの重要な部分を使用します , 、そしてそれは将来の年にのみ返済されます。彼らが相変わらず同じ締め切りのプレッシャーを維持することを主張する場合、あなたは必然的に失敗するでしょう。開発者は、新しいスキルや考え方を学び、実践することはできません。

(コインの反対側はもちろん、投資が利益をもたらすかどうかを考える必要があるということです。レガシーコードの単位テストの構築は、経営陣が製品が長年にわたって維持され、使用されることを予見した場合にのみ価値があります。来て。)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top