1

私はほぼ 2 年間、レガシー Python Web アプリケーションを開発および強化するという「運」を持っています。私が行ったと考える主な貢献は、単体テスト、nosestest、pychecker、および CI サーバーの使用の導入です。はい、そうです、単一の単体テストを持たないプロジェクトがまだあります (公平を期すために、いくつかの doctest がありますが、壊れています)。

それにもかかわらず、文字通りカバー範囲は、作成できる単体テストの数によって制限されるため、進歩は遅いです。

時々、恥ずかしい間違いが今でも発生し、管理レポートには見栄えがしません。(たとえば、pychecker でさえ、特定の「欠落した属性」の状況をキャッチできず、プログラムは実行時に爆発するだけです)

QAを改善するために私ができる追加のことについて誰か提案があるかどうか知りたいだけです. このアプリケーションは WebWare 0.8.1 を使用していますが、私は実験的にこれを cherrypy に移植したので、WSGI を利用して統合テストを実施できる可能性があります。

混合言語の開発および/または追加のテスターの雇用も、私が考えているオプションです。

機能する限り、ワイルドすぎるものはありません。

4

5 に答える 5

2

フェザーの素晴らしい本は、私があなたの状況で誰にでも常にお勧めする最初のリソースです(最初の4回ほどに直面する前に手元にあったらいいのにと思います!-)-Python固有ではありませんが、非常に便利な汎用の本がたくさんありますアドバイスの。

私が満足しているもう1つの手法は、ファジングテストです。さまざまなバグや脆弱性をキャッチするという点で、労力が少なく、大きな利益が得られます。見てみな!

最後になりましたが、もう1人のエンジニアを雇うための人員と予算がある場合は、そうしてください。ただし、彼または彼女が「テスト中のソフトウェアエンジニア」であることを確認してください。手動でキーボードやマウスを叩く、暖かい体ではありません。テスト」-同じ手動テストシーケンスを(運が良ければ)延々と繰り返すのではなく、あらゆる種類の自動テストアプローチを作成して統合するのは難しい人です!!!

混合言語開発者がQAの観点からあなたを買うとあなたが思うものがわかりません。WSGI OTOH、今後の統合テストインフラストラクチャで活用するための優れたボトルネック/フックを提供します。これは、そのために適しています(そして、その他のさまざまなものにも適しています;-)。

于 2009-07-10T05:44:14.893 に答える
1

自動テストは非常に興味深いアプローチのようです。Webアプリを開発している場合は、WebDriverhttp://code.google.com/p/webdriver/に興味があるかもしれません

于 2009-07-10T08:10:53.537 に答える
1

これは Web アプリなので、ブラウザー ベースのテストがあなたにとって意味があるかどうか疑問に思っています。もしそうなら、テストツールのオープンソーススイートであるSeleniumをチェックしてください。ここにあなたにとって興味深いかもしれないいくつかの項目があります:

  • 主要なプラットフォーム (linux、win32、macos) でブラウザー インスタンスを自動的に開始および停止します。
  • Web ページでのユーザー アクション (クリック、入力) をエミュレートすることによるテスト、Javascript ベース
  • 行動結果にアサーションを使用します (新しい Web ページがロードされ、テキストが含まれているなど)
  • Firefox でインタラクティブなテストを記録できます
  • 簡単な通信 API を使用し、調整サーバー (Selenium RC) に対して実行する Python テスト スクリプトによって駆動できます。
  • 同じマシンまたは複数のマシンで複数のブラウザを実行できます

習得には時間がかかりますが、特に Selenium RC サーバー アーキテクチャは、自動化されたブラウザー テストの実施に非常に役立ちます。

于 2009-07-10T08:14:03.580 に答える
0

Twillを見てください。これは、特に自動テスト用に Python で記述されたヘッドレス Web ブラウザーです。アクションを記録および再生でき、WSGI スタックに直接フックすることもできます。

于 2009-07-10T08:16:00.347 に答える
0

テストほど役立つものはほとんどありません。

この2つの引用は非常に重要です。

  • 「どれだけ多くの単体テストを書く余裕があるか」

  • 「恥ずかしいミスは今でもたまにある」

エラーが発生した場合は、十分なテストを作成していません。それでも間違いがある場合は、さらに単体テストを作成する余裕がありますそれはとても簡単です。

恥ずべき間違いはどれも、十分な単体テストを作成していないことの直接的な結果です。

恥ずかしい間違いを説明する各管理レポートには、その間違いが二度と起こらないようにするために必要なテストも説明する必要があります。

単体テストは、さらなる問題の永続的な防止です。

于 2009-07-10T10:09:11.910 に答える