問題タブ [testing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - JUnitとTestNG
仕事では、現在もJUnit3を使用してテストを実行しています。新しいテストを作成するためにJUnit4への切り替えを検討していますが、しばらくの間TestNGに注目しています。JUnit 4またはTestNGのいずれかで、どのような経験がありますか。また、非常に多くのテストでどちらがうまく機能するように思われますか?機能テストは幅広い側面をカバーしており、結果を得るにはさまざまな方法で作成する必要があるため、テストの作成に柔軟性を持たせることも重要です。
古いテストはうまく機能するため、書き直されることはありません。新しいテストで私が見たいのは、テストの記述方法の柔軟性、自然なアサーション、グループ化、および簡単に分散されたテストの実行です。
unit-testing - ジュニアプログラマーにテストを書かせるにはどうすればよいですか?
単に十分なテストを書かないジュニアプログラマーがいます。
私は2時間ごとに彼をしつこくしなければなりません、「あなたはテストを書きましたか?」
私たちは試しました:
- デザインがシンプルになることを示す
- それを示すことは欠陥を防ぎます
- 悪いプログラマーだけがそうしないと言ってそれをエゴにする
- 今週末、2人のチームメンバーが仕事に来なければなりませんでした。彼のコードにはNULL参照があり、彼はそれをテストしなかったからです。
私の仕事には最高品質の安定したコードが必要であり、通常は誰もが「それを取得」し、テストをプッシュする必要はありません。私たちは彼にテストを書かせることができることを知っていますが、有用なテストはあなたがそれに興味を持っているときに書かれたものであることを私たちは皆知っています。
もっと動機を知っていますか?
java - テスト配布
私の仕事では、約3,000の個別のテストケースで構成されるテストのグループを実行しています。以前は、このテストスイート全体を1台のマシンで実行していましたが、テスト実行全体を完了するのに約24〜72時間かかりました。テストをグループ化して約3台の別々のマシンに分散する独自のシステムを作成しました。テストは優先順位が付けられ、コアテストが最初に実行されてより迅速な結果が得られ、追加のテストが使用可能なマシンがある場合に実行されます。
誰かがテストを複数のマシンに分散して、完全な実行の合計テスト時間を短縮するための良い方法と、それを達成するために使用されたツールを見つけたのではないかと思います。私はいくつかの調査を行い、TestNGはこの方向に進んでいるように見えますが、まだかなり開発中であるようです。
テストを書き直す予定はありませんが、新しいテストを追加したり、新しい製品やアドオンをテストしたりするときに、非常に多くのテストを処理しているという事実に対処できるようにしたいと思います。一方、3.x
非常に基本的な方法でもJunitテストを配布するのに役立つツールを見つけることができれば、それを行うために独自のツールを維持する必要がないので、それは役に立ちます。
c# - WebFormsとMVCの両方を実行できる最高のモックフレームワーク?
私はTDDワークフローに取り組んでおり、MVCとasp.netWebフォームアプリを組み合わせています。
MVCにはMOQをお勧めします。
WebフォームにRhinoを使用しました。
両方に1つのフレームワークモックを作成するためのベストプラクティスはありますか?
testing - Windows アプリケーションに送信されるマウスとキーボードのイベントを自動化するためのツール
Windows フォーム アプリケーションのクリック操作を自動化するのに役立つツールは何ですか? これも役に立ちますか?私の会社のテスターがこれをかなりやっているのを見て、それは時間の無駄のように思えます。
unit-testing - 単体テスト用のテストケースをキャプチャする際の厳密さ
疑似言語で定義された単純な関数があるとしましょう。
ソートされていない数値のリストと、昇順または降順のソート順を指定するブール値を渡します。その見返りに、ソートされた数値のリストを取得します。
私の経験では、境界条件を捉えるのが得意な人もいます。問題は、「テストケースのキャプチャが「完了」したことをどのようにして知るか」です。
今すぐケースのリストを開始できます。賢い人の中には、間違いなく、これまでのどのケースでもカバーされていない「もう1つの」ケースを考える人もいます。
testing - 実行可能要件を使用している人はいますか?
それらに関する私の限られた経験では、実行可能な要件(つまり、すべての要件を壊れた自動テストとして指定すること)は、驚くほど成功することが証明されています。私は、特定のユースケース/ユーザーストーリーのすべての機能を実行する高レベルの自動テストの作成に重点を置いた1つのプロジェクトに取り組んできました。この練習を始めてから、開発がどれほど簡単になったのか、本当に驚きました。テストを作成した後、機能の実装が非常に簡単になり、システムに大きなアーキテクチャの変更を加えることができました。世界に自信を持って、すべてが昨日と同じように機能しました。
私たちが遭遇した最大の問題は、これらのタイプのテストを管理するためのツールがあまり良くないということでした。Fitnesseをかなり使用した結果、Fitフレームワークが嫌いになりました。
1)他の誰かがこのタイプのテスト駆動要件定義を使用して開発した経験があるかどうか、および2)これを容易にするためにすべてのツールを使用したかどうかを知りたいです。
unit-testing - 開発者テスト vs. QA チーム テスト - 適切な作業区分とは?
より多くの開発者テストを提唱しようとしているときに、「それは QA の仕事ではないのか?」という議論を見つけました。多く使われています。私の考えでは、QA チームにすべてのテストの責任を与えることは意味がありませんが、同時にスポルスキーや他の人々は、時速 30 ドルのテスターができることを時速 100 ドルの開発者に任せるべきではないと言っています。 . 専任の QA チームを擁する企業の他のメンバーはどのような経験をしていますか? 仕事の分担はどこに描くべきですか?
明確化: QA は検証および検証チームとしての意味でした。開発者は検証 (顧客中心のテスト) を行うべきではありませんが、検証 (機能テスト) の分割ポイントはどこにありますか?
testing - ソフトウェア製品の品質を測る方法
私は製品 X を持っており、これをクライアント C に毎月提供しています。これには、バグ修正、機能強化、新しい開発などが含まれます。) 毎月、製品の品質を「保証」するように求められます。
このために、以下のようなテストから得られた多くの統計を使用します。
- 再オープン率 (再オープンされたバグの数/テストされた修正されたバグの数)
- 新しいバグ率 (リグレッションを含む新しいバグ、テスト中に見つかったバグの数/テストされた修正されたバグの数)
- 新しい機能強化ごとに、新しいバグ率 (この機能強化で見つかったバグの数/工数)
など、さまざまなフィギュア。
説明しない理由により、毎回すべてをテストすることは不可能です。
だから、私の質問は:
ソフトウェアに残っているバグの数と種類を見積もるにはどうすればよいですか? 製品が優れていることを確認するために、どのようなテスト戦略に従う必要がありますか?
これが少し未解決の問題であることは承知していますが、単純な解決策がないことも知っています。
ありがとう。
svn - Getting the subversion repository number into code
I'd like to implement a way of recording the version of a project within code, so that it can be used when testing and to help track bugs. It seems the best version number to use would just be the current revision number from Subversion. Is there an easy way to hook this number into a (C++ in my case) header file or something, which I can then get at in code? I guess this is a post commit hook or something?
Does anyone have any experience of implementing this (with code to share, please?), or can suggest a better alternative? Thanks.