問題タブ [exploratory]
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 - バグの再現に役立つユーザー アクションを記録するツールはありますか?
テスト エンジニアとして、探索的テストを行うことがよくあります。バグに遭遇したとき、どの手順が問題を引き起こしたのかがすぐにわかるとは限りません。したがって、明らかに、問題を再現するために必要な手順を見つける必要があります。状況によっては、これにはかなりの時間がかかる場合があります。
本当に役立つのは、マウスとキーボードのアクションを追跡し、場合によってはクリックされたコンポーネントのプロパティも保存するログ ツールです (AUT は Java で記述されています)。
適切なツールを見つけることができませんでしたが、検索方法が間違っている可能性があります。
誰かが私を正しい方向に向けることができますか?
testing - テストケースを発見するためのさまざまな方法とは
全て、
私は開発者ですが、テストのプロセスと方法について詳しく知りたいです。これにより、テスト チームに製品を提供する前に単体テストを使用してテストできるケースが改善されるため、より堅実なコードを作成するのに役立つと思います。私は最近、ソフトウェア プロジェクトに対するテスト駆動開発と探索的テストのアプローチに注目し始めました。
これで、自分が書いたコードのテスト ケースを簡単に見つけることができます。しかし、私がテスト対象の機能の開発者ではない場合に、テスト ケースを発見する方法を知りたいと思っています。たとえば、さまざまな Web サイトで見られる基本的なユーザー登録フォームがあるとします。それをテストする人がフォームの開発者ではないと仮定すると、フォームの入力フィールドをテストするにはどうすればよいですか?あなたの戦略は何ですか? テストケースをどのように発見しますか? この種のテストは、探索的テスト アプローチの恩恵を受けると思いますが、ここでは間違っているかもしれません。
これについてのご意見をお待ちしております。
ありがとう、バイト
unit-testing - 短期/長期シナリオでの単体テストと探索的テスト
単体テストまたは探索的テストという製品に、より多くの価値をもたらすものは何だと思いますか?
どちらのテストも一般的な目的が異なることを理解していますが、どのテストを優先しますか。つまり、最初に何をし、次に何をしますか、ユニットまたは探索的ですか。
また、短期的にはどちらがより多くの利益を支払いますか?そして長期的には?
最後に、2つのうちの1つだけの時間がある場合、あなたの答えは変わりますか?
events - Magentoで適切なイベントを見つける方法は?
フックするのに便利なイベントを探すとき、ちょっとした探索的プログラミングを行うことがあります...
/li>Mage::dispatchEvent
次の追加行で変更します。すぐには追いつけないことがわかっている開始点をマークします。
/li>後でキャッチしたくないエンドポイントをマークします。
/li>ログを見て、サイトをステップスルーします (例: 注文の送信、調査中のもの)
/li>
これにより、退屈なデータと渡されるオブジェクトの名前でいっぱいの画面が表示されます。以外にSTART
、STOP
私は通常、それをgrepするのに十分なほど具体的なものを探していません。可能なブートストラップポイントを特定するには、経験に頼る必要があります。たとえば、注文を行うとき、どこかに「見積もり」があることがよくあります。または、「支払い」オブジェクトを介して注文への参照を取得することも、その逆も可能です。
次に、マーカーを削除することを覚えておく必要があります (どのような種類のバージョン管理を使用する場合でも、それほど難しくありません)。
イベントを見つけるためにどのような方法を使用しますか? コアコードを変更せずにそれを行うことはできますか?
eclipse - TestNG Eclipse プラグインでレポートする複数のフォルダー
TestNG Eclipse プラグインを使用してテスト ケースを実行しています。testng.xml を構成して、HTML レポートへの出力として別のフォルダーを指定するにはどうすればよいですか? この非常によく似た質問 (http://stackoverflow.com/questions/5401746/generating-testng-reports/) に対する Cedric の回答を見たことがありますが、TestNG Eclipse プラグインでは同じものを取得できませんでした。を試してみましたが、ドキュメントで見た同様のものが他にもありましたが、何も機能しませんでした。
質問を少し拡張すると、テストを繰り返し実行して、いつでも最新の n 個 (たとえば 20 個) のレポートを選択できるようにしたいのですが、それは可能ですか? 多くの探索的テストを行うために TestNG を使用することがあります。一部の失敗はまれであり、繰り返すのが難しいため (最初のアプローチでは、そのように予測されない場合があります)、「エクスプローラー」がテストを再実行して、その不定の失敗を失うことがあります。
プライマリまたは少し拡張された質問への回答に事前に感謝します、よろしく、ヘンリケ
scala - オブジェクト/タイプ/その他を調査する方法。Scala REPLから?
私はしばらくの間 Scala を使用しており、これを使用して 10,000 行以上のプログラムを作成しましたが、内部の仕組みのいくつかにまだ混乱しています。Java、C、Lisp に精通した後、私は Python から Scala に移行しましたが、それでもなかなか進まず、大きな問題は、オブジェクト/型の内部の仕組みを調査しようとするときによく見つけたイライラする困難です。 /クラス/など。Python と比較して Scala REPL を使用します。Python では、任意のオブジェクトfoo
(型、グローバル変数内のオブジェクト、組み込み関数など) を調査して、そのfoo
評価結果を確認したり、type(foo)
その型を表示しdir(foo)
たり、呼び出すことができるメソッドを示したりすることができます。help(foo)
組み込みのドキュメントを取得します。次のようなこともできますhelp("re")
re
関連付けられたオブジェクトがなくても、指定されたパッケージ (正規表現オブジェクトとメソッドを保持する) に関するドキュメントを見つけることができます。
Scala では、オンラインでドキュメントを試し読みしたり、ソース コードをライブラリで調べたりすることができますが、どこにあるのか、あるいはそれが何であるかさえわからない場合、これは非常に困難な場合があります (多くの場合、大量の型階層を考えると、噛むべき大きな塊です) -- さまざまな場所に物が浮かんでいます (パッケージscala
、Predef
、さまざまな暗黙の変換、そのような記号::
は Google にはほとんど不可能です)。REPL は直接探索する方法であるべきですが、実際には、物事ははるかに不可解です。どこかへの参照を見たfoo
が、それが何であるかはわかりません。「REPL を使用して Scala のことを体系的に調査するためのガイド」のようなものは明らかに存在しませんが、次のようなものがあります。
foo
が値 (おそらく、変数に格納されているものに加えて、コンパニオン オブジェクトやその他の Scala を含む) の場合は、直接object
評価できますfoo
。これにより、結果の型と値がわかります。結果が役立つ場合もあれば、そうでない場合もあります。foo
が値の場合、使用してその型を取得できます:type foo
。(必ずしも啓発的ではありません。) 関数呼び出しでこれを使用すると、関数を呼び出さずに戻り値の型を取得します。foo
が値の場合、そのクラスを取得するために使用できますfoo.getClass
。(多くの場合、前のものよりも啓発的ですが、オブジェクトのクラスはその型とどう違うのでしょうか?)- classの場合、結果が何を意味するかは明らかではありません
foo
が、 を使用できます。classOf[foo]
- 理論的には、 を使用
:javap foo
してクラスを逆アセンブルできます。これは最も有用なはずですが、私にとっては完全かつ一様に失敗します。 - エラーメッセージから物事をつなぎ合わせる必要がある場合があります。
を使用した失敗の例:javap
:
わかりやすいエラー メッセージの例:
では、簡単な例を試してみましょう。
十分に単純です...
では、それほど明白ではない実際のケースをいくつか試してみましょう。
これは何を意味するのでしょうか?クラスが であるのに、なぜ型はPredef
単に $ は、コンパニオン オブジェクトを Java に押し込む方法だと思いますが、Google の Scala ドキュメントでは、これはどうすれば REPL から推測できますか? そして、どうすればその内容を調べることができますか?type
scala.Predef$
Predef
object Predef extends LowPriorityImplicits
OK、別の紛らわしいことを試してみましょう:
OK、これは私をどうしようもなく混乱させ、最終的にはソースコードを読んでこのすべてを理解する必要がありました.
だから、私の質問は次のとおりです。
- REPL を使用して Scala のオブジェクト、クラス、メソッドなどを理解する、または少なくとも REPL からできる限り最善の方法でそれらを調査するために、真の Scala の専門家が推奨する最良の方法は何ですか?
:javap
組み込みのものを REPL から操作するにはどうすればよいですか? (デフォルトで動作するはずではありませんか?)
啓発をありがとう。