PublicidadLa automatización de pruebas es la automatización de las actividades de prueba, tanto de software como de hardware. En el desarrollo de software, es particularmente importante conocer un estado fijo y definido del software, como por ejemplo: ¿Es la nueva versión actual del software mejor que la versión anterior? Pruebas automáticas, que prueban efectos no deseados en otras funciones después de que se ha realizado un cambio. aplicados, se denominan pruebas de regresión. Hacen que el software sea medible en términos de su calidad y muestran de forma directa y reconocible los posibles efectos secundarios de los cambios realizados. Sirven como retroalimentación directa para los desarrolladores y evaluadores, que tal vez no puedan ver el sistema de software general a la vez, así como para detectar efectos secundarios y errores consiguientes. Por lo tanto, la automatización de pruebas proporciona una métrica, la cantidad de casos de prueba exitosos por prueba. correr. Esto puede responder a las siguientes preguntas: ¿Cuándo el software cumple plenamente un nuevo requisito? ¿Cuándo se corrige un error? ¿Cuándo finaliza el trabajo del desarrollador? ¿Quién es responsable de qué y cuándo? ¿Cuál es la calidad de una nueva versión del software? ¿La calidad de la nueva versión del software es mejor que la versión anterior? ¿Un error solucionado o un nuevo requisito tiene un impacto en el software existente (cambio en el comportamiento del software)? ¿Se garantiza que la operación en vivo con el nuevo software sea exitosa y ¿seguro? ¿Qué contiene realmente el software en términos de nuevas funciones y correcciones de errores? ¿Es esto comprensible? ¿Aún es posible cumplir con la fecha de entrega del software si no es posible evaluar la calidad actual del software? A la pregunta de ejemplo: «¿Cuándo se soluciona un error?» la respuesta en este caso es: exactamente cuando todos los casos de prueba existentes y también los casos de prueba escritos para el error en sí se hayan completado con éxito. La retroalimentación solo se proporciona mediante pruebas constantes, y esto solo es posible y factible mediante la automatización. Otro beneficio de las pruebas La automatización es la aceleración del proceso de desarrollo. Mientras que en proyectos de software sin automatización la producción, la instalación y las pruebas se llevan a cabo manualmente uno tras otro, en proyectos totalmente automatizados (es decir, si la producción y la instalación se pueden automatizar además de las pruebas), estos tres pasos se pueden iniciar automáticamente uno tras otro. el otro, por ejemplo, durante una carrera nocturna. Dependiendo del alcance del proyecto, es posible que pueda iniciar este proceso por la noche y tener el resultado de la prueba disponible a la mañana siguiente. Actividades que se pueden automatizar Creación de casos de prueba Dependiendo del formato utilizado para describir un caso de prueba, la creación de casos de prueba se puede automatizar transformando descripciones de lenguaje de nivel superior (especificaciones de prueba) a este formato. Se utilizan lenguajes de diferentes niveles de abstracción para la especificación de pruebas: notaciones simples tipo tabla para datos de prueba y llamadas a funciones, lenguajes de programación (por ejemplo, Tcl, Perl, Python), lenguajes imperativos, enfoques orientados a objetos y formalismos declarativos y lógicos. así como enfoques basados ​​en modelos. El objetivo es lograr una traducción amplia y, en la medida de lo posible, totalmente automática de artefactos en un nivel de lenguaje técnico alejado de la máquina a artefactos en un nivel de lenguaje técnico relacionado con la máquina. Otro enfoque consiste en generar dinámicamente la creación de casos de prueba basados ​​en los objetos comerciales que se declararán. Si una especificación de prueba aún no está disponible en forma ejecutable, sino en un lenguaje no ejecutable (por ejemplo, UML, hoja de cálculo de Excel o similar), es posible traducirla automáticamente a casos de prueba ejecutables con las herramientas adecuadas. Creación y Secuencias de comandos de pruebaDado que el número de posibles valores de entrada y secuencias de un programa suele ser muy grande, los datos de entrada y las secuencias deben seleccionarse a partir de las especificaciones de prueba de acuerdo con la cobertura de prueba que se debe lograr al generar casos de prueba. El modelo de datos del software a menudo se puede utilizar para la creación de datos de prueba, y los modelos de comportamiento del software se utilizan para secuencias de comandos de prueba en pruebas basadas en modelos. En el mercado comercial también se encuentran disponibles soluciones sin scripts. Ejecución de pruebas Hoy en día, las pruebas se llevan a cabo en gran medida utilizando herramientas de prueba totalmente automatizadas. Dependiendo del sistema de destino, se utilizan herramientas de prueba unitaria, sistemas de prueba para interfaces gráficas de usuario, sistemas de prueba de carga, bancos de pruebas de hardware en el bucle u otras herramientas. Evaluación de la prueba Para la evaluación de la prueba, el resultado de la prueba obtenido debe compararse con el valor esperado. En el caso más sencillo, sólo es necesario realizar una comparación tabular; sin embargo, si el comportamiento objetivo está definido por restricciones lógicas o contiene cálculos extremadamente complejos, puede ocurrir el llamado problema de Oracle. Si se comparan dos versiones de software o dos ciclos de prueba y, por tanto, dos resultados de prueba con el resultado objetivo, se pueden calcular declaraciones de tendencias y estadísticas de calidad. Documentación de prueba En el caso de la documentación de prueba, a partir de los resultados de prueba recibidos se genera un informe de prueba comprensible y comprensible. . Para este propósito se pueden utilizar generadores de documentos y herramientas de plantillas. Administración de pruebas La tarea de la administración de pruebas es la administración y el control de versiones de los conjuntos de pruebas, así como la provisión de un entorno de usuario adecuado. Además de las herramientas estándar (por ejemplo, CVS, Eclipse), existen varias herramientas especiales que se adaptan específicamente a las necesidades de las pruebas de software.

Source link