2012-03-15 6 views
3

私はいくつかのコマンドラインオプションと入力ファイルを取り、出力ファイルを生成する完全に非対話的なPythonプログラムを持っています。単純なケースを選択し、入力ファイルと期待出力ファイルを手書きで作成し、入力ファイルでプログラムを実行し、出力ファイルを期待ファイルと比較することで、簡単にテストできます。出力ファイルを参照ファイルと比較して完全なプログラムをテストする:それは何を呼び出すのですか?パッケージがありますか?

1)このタイプのテストの名前は何ですか?

2)このタイプのテストを行うPythonパッケージはありますか? 最も基本的な形式で手でセットアップすることは難しくありません。私はすでにそれを行いました。しかし、日付とその他の情報が含まれている出力ファイルのようなケースに遭遇しましたが、これは実行間で正当に変更される可能性があります。参照ファイルのどのセクションを違うものにする必要があるのか​​を指定し、私は "ホイールを再発明する"領域に入っているかもしれないことに気付きました。 (私が最後にこのことが起こった前にunittest機能の良い部分を書き直しました...)

答えて

1

私はsystem testingのフォームを指していると思います。

パッケージが正当に変更できる部分がわからない場合は、私の提案は、出力が常に同じであることを確認できるように、変更の結果となるコードのセクションを模擬して、そのためにMockのようなツールを使用することです。 2つのファイルを比較するのはかなり簡単です。それぞれを文字列にダンプして文字列を比較するだけです。

+0

正規表現のシーケンスとして検証ファイルを構成し、この場合、各行が予想される正規表現と一致することを検証するのが簡単かもしれませんが。 –

+0

はい、パッケージは出力のどの部分が正当に変更できるのかわかりませんが、参照出力ファイルのいくつかのセクションにマーカを入れて、それらのセクションの違いを無視するようにする構文を持つことができます私が書いていることを考えていたのですが、なぜそれが難しいのか、悪い考えがあるのか​​分かりません。 – weronika

+0

私は私の執筆時にあなたのコメントが表示されませんでした。はい、いい考えです。この種の正規表現ベースのファイル比較を行うための既存のツールがあるかどうか知っていますか? (自分で書くのは難しくありませんが、私は既存のものを再開発するのを避けようとしています) – weronika

0

機能テスト。それが目的ならば、回帰テスト。すべてのコードパスをカバーするようにデータを構造化する場合は、コードカバレッジを使用します。

+0

何人かのグーグルの後、機能テストとシステムテストの違いはまだ分かりませんが、私がやっていることは両方ともおそらく新しいことです。 – weronika

+1

誰が明示的に質問された正当な答えを下降させますか?いずれにしても、テストの種類の名前は、製品ワークフローのどこで実際に何をするのと同じように使用されます。 –

+0

私のダウンワードではなく、私もそれに驚きました。 – weronika

関連する問題