ソフトウェアテスト手法をどこで、どのように学ぶことができますか?
-
21-09-2019 - |
質問
自分自身をテストするように設計された「堅牢な」ソフトウェアを構築する方法を学びたいと思います。言い換えれば、ソフトウェアに自動テストを実装するには(Java、GroovyまたはC ++を使用)。
それで、私はこれ(本やウェブサイト)とこれに必要なツールとライブラリをどこで学ぶべきかを知りたいですか?
解決
- 初心者向けの一般的なTDD:ケントベック:例ごとにテスト駆動型開発開発
- 一般的な単位テスト参照:Gerard Meszaros:Xunitテストパターン:リファクタリングテストコード
- グリーンフィールドのTDDプロジェクト:スティーブフリーマン、ナットプライス:テストに導かれたオブジェクト指向ソフトウェアの成長
- ブラウンフィールドプロジェクトのTDD:Micheal Feathers:レガシーコードで効果的に協力する
- テストの問題についてはQ&A: http://www.stackoverflow.com
- ソフトウェアリスト (下へスクロール)
他のヒント
前述のテスト駆動型開発(TDD)手法に加えて、 契約による設計, 、基本的に、生産コードにアサーションを追加して検証する別の手法 実行時に コンポーネント間の契約条項(入力、出力、不変)が尊重されること。これらのアサーションは、ソフトウェアが配信されたときに削除または保持することができます。
TDDが「それ自体をテストするように設計されたソフトウェア」につながるのではなく、いくつかのソフトウェアが生産コードとともに栽培されているユニットテストスイート、別のソフトウェアをテストするソフトウェアにつながることを明確にするために、私の答えを増やしたいと思います。 。
開始するのに適した場所です http://www.codeproject.com/kb/cs/autp1.aspx
Javaの自動テストハーネスであるJunitは、実際に物事を開始したツールです。 Junitサイト 開始するのに最適な場所です。テストツールへの多くの記事とリンクをまとめます。
私は「それ自体をテストする」部分について知らないが、私の最初の考えはテスト駆動型開発について読むことだろう( http://en.wikipedia.org/wiki/test-driven_development )そして、Junitをチェックしてください。
Xunitテストフレームワークを見てください(cppunit C ++の場合、 ジュニット Javaのために)そして素晴らしい本をチェックしてください Xunitテストパターン:リファクタリングテストコード.
そして、あなたが本当にそれに入りたいなら、チェックしてください テスト駆動型開発. 。良い紹介はボブおじさんです TDDの3つの法則 そしてその ボウリングゲームカタ (参照も参照 ボウリングゲームのエピソード)。このテーマに関する素晴らしい本はそうです テスト駆動型開発:例によって.
私は見つけました Roy Osheroveによるユニットテストの芸術 単体テスト、整数テスト、TDDなどの基本を理解するのに非常に役立ちます。 .NET言語に合わせて少し調整されていますが、自動テストの背後にあるアイデアに関する非常に良い情報も提供します。