788 Shares 6076 views

– los programas de pruebas proceso de detección de errores en el producto de software

En el desarrollo de software, una parte importante del proceso de producción se basa en las pruebas de software. ¿Qué es y cómo es dicha actividad se discutirá en este artículo.

Lo que se llama una prueba?

Esto se refiere al proceso por el que ejecuta el software para detectar la ubicación de un funcionamiento incorrecto del código. Para mejores resultados, construido deliberadamente difícil conjunto de datos de entrada. El principal objetivo de la inspección es crear la mejor oportunidad para el fracaso de software. Aunque a veces probar el programa desarrollado se puede simplificar a un control rutinario de la capacidad de trabajo y llevar a cabo las funciones. Esto ahorra tiempo, sino que a menudo se acompaña de la falta de fiabilidad del software, insatisfacción de los usuarios, y así sucesivamente.

efectividad

¿Qué tan bien y rápidamente son errores, un impacto significativo en el costo y la duración de desarrollo de software de calidad requerido. Así, a pesar del hecho de que se los somete un sueldo varias veces más pequeño que los desarrolladores, el costo de sus servicios suele ser de hasta 30 – 40% del costo de todo el proyecto. Esto se debe a la cantidad de personal, ya que la búsqueda por el error – esto es un proceso inusual y bastante difícil. Pero incluso si el software se pasa un respetable número de pruebas, no hay garantía de 100% que el error no ocurrirá. Simplemente no saben cuando se producen. Para animar a los probadores para elegir los tipos de pruebas que son más propensos a encontrar la avería, se utilizan diferentes herramientas de motivación: tanto moral como material.

Aproximación al trabajo

Lo óptimo es cuando para poner en práctica diversos mecanismos para garantizar que los errores en el software no ha sido desde el principio. Para ello, se debe tener cuidado del diseño de la arquitectura adecuada, términos de referencia claros, y es importante no hacer ajustes en la comunicación, cuando el trabajo en el proyecto ya ha comenzado. En este caso, el probador a la tarea de encontrar e identificar un pequeño número de errores que permanecen en el resultado final. Esto ahorrará tiempo y dinero.

¿Cuál es la prueba?

Este es un aspecto importante de las actividades de inspección, que es necesaria para la detección exitosa de defectos del código. Son necesarios con el fin de controlar la correcta aplicación. ¿Qué se incluye en la prueba? Se compone de datos y sus valores iniciales que debe obtenerse a la resultante (o intermedio). Con el fin de identificar con éxito los problemas e inconsistencias, las pruebas deben ser después se desarrolló el algoritmo, pero no iniciar la programación. Es conveniente utilizar varios métodos para la estimación de los datos requeridos. En este caso, el aumento de la probabilidad de detectar un error porque se puede examinar el código desde una perspectiva diferente. pruebas complejas deben proporcionar la verificación de los efectos externos de los productos de software acabados, así como sus algoritmos de trabajo. De particular interés y proporcionar casos degenerados marginales. Por lo tanto, en la práctica de errores puede menudo revelan que el ciclo funciona a una o más veces menos de lo previsto. También es importante el equipo de pruebas, a través del cual se puede verificar que el resultado deseado en diferentes máquinas. Esto es necesario con el fin de asegurarse de que el software funcionará en todos los ordenadores. Además, la prueba de equipo, en el que se llevará a cabo el desarrollo, es importante en la creación de desarrollo multi-plataforma.

Artes de solución de problemas

Los programas a menudo tienen como objetivo trabajar con grandes conjuntos de datos. ¿Es necesario crear por completo? No. Generalizado adquirido la práctica de la "miniaturización" del programa. En este caso hay una reducción razonable de volumen de datos en comparación con la que se utilizará. Veamos un ejemplo: hay un programa, lo que crea una matriz de tamaño 50×50. En otras palabras – debe introducir manualmente los valores de 2500. Es ciertamente posible, pero llevará un tiempo muy largo. Sin embargo, con el fin de probar la funcionalidad, el software recibe una matriz cuya dimensión es de 5×5. Para ello, es necesario introducir más de 25 valores. Si, en este caso, una operación normal, sin errores, significa que todo está en orden. Aunque hay dificultades que se encuentran en el hecho de que se produce con la situación de la miniaturización, lo que resulta en cambio se convierte implícito y desaparecer temporalmente. También es muy raro, pero todavía sucede es que hay nuevos errores.

objetivos perseguidos

Las pruebas no es una tarea fácil debido al hecho de que este proceso no es susceptible a la formalización en su totalidad. Los programas grandes casi nunca tienen la referencia exacta necesaria. Por lo tanto, como una línea guía con una serie de datos indirectos, los cuales, sin embargo, no pueden reflejar plenamente las características y funciones de desarrollo de software que depurando. Por otra parte, deben ser seleccionados de manera que el resultado correcto calcula antes cómo se pondrá a prueba el producto de software. Si no se avanza, es tentador considerar todo esto, y si el resultado de la máquina se pone en el rango esperado, se tomó una decisión equivocada, que todo está correcto.

Compruebe bajo diferentes condiciones

Por regla general, las pruebas del programa se produce en volúmenes que son necesarios para la funcionalidad mínima de ensayo en un grado limitado. Las actividades llevadas a cabo con el cambio de los parámetros, así como sus condiciones de trabajo. El proceso de prueba se puede dividir en tres etapas:

  • Compruebe en condiciones normales. En este caso se prueba la funcionalidad básica del software desarrollado. El resultado debe corresponder a la esperada.
  • Compruebe en condiciones extremas. En estos casos, como sinónimo de los datos de límites, que pueden afectar negativamente al rendimiento del software creado. A modo de ejemplo, trabajamos con un extremadamente grandes o pequeños números o incluso la ausencia completa de la información recibida.
  • Comprobación en situaciones excepcionales. Esto implica el uso de los datos que están más allá del tratamiento. En tales situaciones, es muy malo cuando el software los percibe como útil para el cálculo y da un resultado plausible. Se debe tener cuidado de que en estos casos hay un rechazo de cualquier dato que no puede ser procesada correctamente. También es necesario proporcionar para informar al usuario sobre él

Tipos de pruebas:

Crear software sin error es muy difícil. Esto requiere una cantidad considerable de tiempo. Para obtener un buen producto se utiliza a menudo dos tipos de pruebas: "alfa" y "beta". ¿Qué son? Cuando la gente habla acerca de las pruebas alfa, que significa que la revisión se lleve a cabo a sí mismo en el estado de desarrollo "condiciones de laboratorio". Esta es la última etapa de la prueba antes de que el programa se transfiere a los usuarios finales. Por lo tanto, los desarrolladores están tratando de dar la vuelta al máximo. Para facilitar la operación, los datos se pueden registrar para crear una cronología de los problemas y sus soluciones. Bajo la prueba beta para comprender el suministro de software a un número limitado de usuarios, para que puedan aprovechar el programa e identificar los errores que has perdido. Una característica especial en este caso es el hecho de que a menudo el software no se utiliza para los fines previstos. A causa de este fracaso se identificarán donde no había nada antes visto. Esto es bastante normal y la preocupación acerca de que no es necesario.

finalización de la prueba

Si los pasos anteriores se han completado con éxito, sigue siendo para llevar a cabo las pruebas de aceptación. Que en este caso se convierte en un mero trámite. Durante esta prueba viene la confirmación de que no hay problemas adicionales han sido encontrados y el software puede ser lanzado en el mercado. El más importante será el resultado final, cuanto más estrechamente se comprobará. Se debe tener cuidado para asegurarse de que todos los pasos se han completado con éxito. Aquí está el proceso de prueba en su conjunto. Ahora vamos a profundizar en los detalles técnicos y hablar de una herramienta tan útil, como los programas de prueba. Lo que son y cuando se utiliza?

prueba asistido por ordenador

Anteriormente se pensaba que el análisis dinámico de software desarrollado – que es demasiado pesado enfoque que utiliza efectivamente para detectar defectos. Sin embargo, debido a la creciente complejidad y el volumen de los programas aparecido punto de vista opuesto. Las pruebas automatizadas se utiliza cuando las prioridades más importantes son la eficiencia y la seguridad. Y deben estar bajo ninguna entrada. A modo de ejemplo, los programas de los que es apropiado para estas pruebas, se incluyen los siguientes: protocolos de red, servidor web, caja de arena. Seguimos buscando en algunas muestras, que pueden ser utilizados para tales actividades. Si usted está interesado en programas de pruebas libres, la calidad es difícil de encontrar entre ellos. Pero no están rotas versiones "piratas" de los proyectos bien establecidos, por lo que se puede hacer referencia a sus servicios.

avalancha

Esta herramienta ayuda a detectar defectos son programas en el modo de análisis dinámico probados. Recoge los datos y analiza el comportamiento del objeto pista diseñada. El probador se le da un conjunto de entradas que causan error o omiten el conjunto existente de limitaciones. Gracias a una buena prueba del algoritmo desarrollado por un gran número de situaciones posibles. El programa recibe un conjunto diferente de datos de entrada, que permiten simular un gran número de situaciones y crear condiciones en las que la más probable es la ocurrencia de un fallo. Una ventaja importante del programa es el uso de la métrica heurístico. Si hay un problema, entonces es muy probable que el error de la aplicación. Pero este programa tiene limitaciones como una sola toma de entrada de verificación marcada o archivo. Cuando se lleva a cabo una operación como programas de pruebas contendrá información detallada acerca de los problemas con el puntero nulo, bucles infinitos, direcciones incorrectas o mal funcionamiento debido al uso de las bibliotecas. Por supuesto, esto no es una lista completa de errores detectados y sus únicos ejemplos comunes. corrección de deficiencias, por desgracia, tienen los desarrolladores – medios automáticos no son adecuados para estos fines.

KLEE

Es un buen programa para probar la memoria. Se puede interceptar aproximadamente 50 llamadas al sistema y un gran número de procesos virtuales así ejecutadas en paralelo o por separado. Pero, en general, el programa no está buscando algunos lugares sospechosos, y procesa la máxima cantidad posible de código y análisis utiliza rutas de datos. Debido a esto, el programa de prueba depende del tamaño del objeto. Al comprobar la apuesta se coloca en los procesos simbólicos. Son una de las posibles formas de realizar tareas en un programa que se prueba. Gracias al funcionamiento en paralelo es posible analizar un gran número de variantes de la obra de la aplicación de prueba. Para cada trayectoria de conjuntos de datos de entrada se almacenan después de su prueba, que comenzó con el cheque. Cabe señalar que los programas de pruebas utilizando KLEE ayuda a identificar un gran número de variaciones, que no debe ser. Puede encontrar problemas incluso en las aplicaciones que se desarrollan durante décadas.