Pregunta

Tengo esta gran idea básicamente emplear algún ataque de fuerza bruta para prueba / verifique que mi aplicación web no se desplome.

No me refiero a la unidad de pruebas, y cosas por el COI, esto es algo completamente distinto.

Lo que estoy haciendo, y lo que yo estoy pidiendo ayuda con es crear una herramienta inteligente de búsqueda exhaustiva, que exploran partes del estado del programa.

Lo que tengo es una página web con cosas que puedo hacer, clic es una cosa, la introducción de texto es otro, algunos insumos como botones de radio y listas desplegables están limitados a ciertos valores. cosas bastante básico. Lo que termino con un conjunto finito de eventos y valores y lo que quiero es un modelo de progresión de estado. Tal vez esto es FSM optimización de una manera, pero el objetivo es ir sistemáticamente a través de permutaciones arbitrarios de eventos y valores y ver qué pasa.

Cuando se encuentra un problema que quiero probar y provocar que el error con el menor esfuerzo posible para poder presentar un caso de prueba clara.

Esto se refiere a métodos de verificación formal y yo estoy pidiendo ayuda o conocimiento de las personas con experiencia.

¿Fue útil?

Solución

Lo que se quiere hacer sonidos un poco como de comprobación de modelo , por un lado, , y la generación de casos de prueba automatizado en el otro lado (en la última categoría visita Concolic pruebas , una técnica para evitar la pérdida de tiempo con rutas de ejecución no factibles).

Modelo comprobación sería el método preferido si se asume su aplicación web es correcta y quiere demostrar que es. Pero en el caso de una advertencia, es posible que tenga que trabajar para comprender si el problema es real o no. generación de casos de prueba se orienta hacia bug-hallazgo: no se demuestra que la aplicación es correcta, pero si se encuentra un problema, le da un vector de entrada para producirlo por lo que no hay necesidad de preguntarse si el problema es real.

No estoy al tanto de cualquier herramientas existentes para aplicaciones web, pero eso no significa que no existan.

Otros consejos

Parece que usted quiere una fuzzer. melocotón es una de estas herramientas.

Búsqueda exhaustiva puede ser una tarea no trivial de recursos limitados (memoria, espacio), pero con muchas técnicas que el problema puede ser reducido, al igual que la abstracción de código (por ejemplo: la sustitución de las clases de controladores de base de datos con los talones), una experiencia se presenta en este papel:. Comprobación Extracto de las aplicaciones web mediante Java PathFinder (Vinh Cuong Tran, Yoshinori Tanabe, Masami Hagiya, Universidad de Tokio)

Si se mira a un tipo de verificación formal del FSM como modelos, Java PathFinder tiene una extensión para verificar gráficos de estado UML escritos en Java + anotación (que depende de la Javapathfinder VM):

http://babelfish.arc.nasa.gov/ trac / JPF / wiki / proyectos / JPF-statechart

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top