17

この質問の精神で、Django Webアプリ用の便利で「完全な」テストスイート(テストスイートを「完全」にすることはできますか?)を作成するためのヒントがあるかどうかを知りたいと思います。

私の状況:プロトタイプをノックアウトし、現在、回帰テストの追加に取り組んでいます。私は個人的にほとんどのテストにdjango-webtestを使用し、 Djangoテストクライアントを使用したURLテストも行っています。

IIは、私のテストスイートにまったく満足していません。私はテストのプロからはほど遠いので、そのために改善しようとしています。ヒント---私の状況に当てはまるかどうかにかかわらず---大歓迎です。

4

2 に答える 2

14

KarenM.TraceyによるDjango1.1のテストとデバッグを読むことをお勧めします。最初の5つの章では、Djangoでのテストについて説明します。具体的には、他のテストツールの統合について説明している第5章を参照してください。以下は、第5章の内容の抜粋です。

この章では、次のことを行います。

  • Djangoがテスト関数を追加するために提供するフックを学びました
  • 特にコードカバレッジレポートを追加する場合に、これらのフックを使用する方法の例を見ました
  • twillまた、テストツールの使用をDjangoテストケースに統合するときに、これらのフックを使用する必要がなかった例についても説明しました。

KarenTraceyが彼女の本の第5章で説明しているツールのいくつかへのリンクは次のとおりです。

レタス

レタスもチェックしてみてください。ウェブサイトから:

レタスは、キュウリをベースにした非常にシンプルなBDDツールです。

Lettuceのドキュメントには、LettuceとDjangoの統合に関するセクションもあります。

于 2010-12-16T22:53:45.457 に答える
3

テストは、(少なくとも)4つの質問に対する答えを提供します。

  1. 私の実装は正しいですか?アプリは、文書化された、または少なくともそれがどのように動作するかについての精神的なイメージと一致していますか?

  2. 私の最新の変更は何かを壊しましたか?

  3. 私のアプリは安全ですか?罪のないユーザーと悪意のある人々の両方から。

  4. 私のアプリのパフォーマンスは十分ですか?

#1の場合、「機能」ごとに少なくとも1つのテストが必要であり、主要な機能についてはおそらく多くのテストが必要です。あなたが開発者とテスト開発者の両方である場合、ここで省略の誤りを犯すのは非常に簡単です。

#2では、コードと一緒にテストスイートを作成する(そしてそれを忠実に実行する)という規律から始めることが重要です。

#3の場合、通常のプログラム指示操作の外部でアクセスされるURLが、アクセス許可に関して適切に動作することを確認してください。おそらく、あるユーザーが変更したり、別のユーザーの情報を変更したりすることは望ましくありませんが、.. / user / 505と入力してそこにあるすべてのものにアクセスできる場合は、おそらく問題です。ここでテストすべきことは他にもたくさんあると思いますので、他の人がここでチャイムを鳴らしてください。

トラフィック量が非常に多いアプリのパフォーマンスのテストと堅牢性のスケーリングは、私がよく知っていることではありません。

Django自体のテストケースを見ると、テストする必要のあるものの粒度がわかります。Djangoトランクテスト

Djangoのドキュメントには、テストに関する優れた記事があります。ドキュメントでテストを検索してください。

于 2010-12-16T21:58:05.770 に答える