質問

基本的にブルート フォース攻撃を使用して、Web アプリケーションがクラッシュしないことをテスト/検証するという壮大なアイデアがあります。

単体テストや IoC の話はやめてください。これはまったく別の話です。

私がやっていること、そして助けを求めていることは、プログラムの状態の一部を探索するインテリジェントな徹底的な検索を作成することです。

私が持っているのは、できることが記載された Web ページです。クリックすることとテキスト入力は別のことで、ラジオ ボタンやドロップダウン リストなどの一部の入力は特定の値に制限されています。かなり基本的なこと。最終的にはイベントと値の有限セットが得られ、モデル化したいのは状態の進行です。おそらくこれはある意味 FSM の最適化ですが、目的はイベントと値の任意の置換を体系的に実行し、何が起こるかを確認することです。

問題が見つかった場合は、できるだけ少ない労力でそのエラーを引き起こし、明確なテスト ケースを提示できるようにしたいと考えています。

これは正式な検証方法に関連するものであり、経験のある人々の助けや洞察を求めています。

役に立ちましたか?

解決

あなたは1手に、少しモデルチェックのような音を何をしたいのか、後者のカテゴリの一方自動テストケース生成は( Concolic試験をチェック実現不可能な実行パスとの時間を無駄にしないようにする技術)。

あなたのWebアプリケーションが正しいと仮定し、それがあることを証明したい場合は、

モデルチェックは好ましい方法になります。しかし、警告の場合には、あなたは問題が本物であるかどうかを理解するために働かなければならないことがあります。テストケースの生成は、バグの発見に向けて配向されている:それはあなたがアプリ正しいですが、それが問題を見つけた場合、問題が本当であるならば、あなたは不思議に必要はありませんので、それはあなたにそれを生成するために、入力ベクトルを与えることを証明していません。

私は、Webアプリケーションのための任意の既存のツールを認識していないですが、それは、彼らが存在しないことを意味するものではありません。

他のヒント

あなたがfuzzerをしたいように

これが鳴ります。 ピーチのそのようなツールです。

リソース (メモリ、スペース) が限られている場合、徹底的な検索は簡単な作業ではありませんが、コードを抽象化するなど、多くのテクニックを使えば問題を軽減できます (例:データベース ドライバー クラスをスタブに置き換えるなど)、その経験がこのペーパーで紹介されています。Java PathFinder を使用した Web アプリケーションの抽象モデル チェック (Vinh Cuong Tran、田辺良典、萩谷正美、東京大学)。

FSM のようなモデルの一種の正式な検証に注目する場合、Java PathFinder には、Java + アノテーションで記述された UML 状態図を検証するための拡張機能があります (Javapathfinder VM に依存します)。

http://babelfish.arc.nasa.gov/trac/jpf/wiki/projects/jpf-statechart

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top