stringtranslate.com

Prueba de cordura

Un control de cordura o prueba de cordura es una prueba básica para evaluar rápidamente si una afirmación o el resultado de un cálculo puede ser cierto. Es una simple comprobación para ver si el material producido es racional (que el creador del material estaba pensando racionalmente, aplicando la cordura ). El objetivo de una prueba de cordura es descartar ciertas clases de resultados obviamente falsos, no detectar todos los errores posibles. Para realizar la prueba se puede comprobar una regla general o un cálculo aproximado . La ventaja de realizar una prueba de cordura inicial es la de evaluar rápidamente la función básica.

En aritmética, por ejemplo, al multiplicar por 9, usar la regla de divisibilidad de 9 para verificar que la suma de los dígitos del resultado es divisible por 9 es una prueba de cordura; no detectará todos los errores de multiplicación, pero es una prueba rápida y sencilla. Método para descubrir muchos errores posibles.

En informática , una prueba de cordura es un repaso muy breve de la funcionalidad de un programa , sistema, cálculo u otro análisis de computadora, para garantizar que parte del sistema o metodología funcione más o menos como se espera. Esto suele ocurrir antes de una ronda de pruebas más exhaustiva.

Uso en diferentes campos.

Matemático

Una prueba de cordura puede referirse a varios órdenes de magnitud y otros dispositivos simples de regla general aplicados para verificar cálculos matemáticos . Por ejemplo:

Físico

Desarrollo de software

En el desarrollo de software, una prueba de cordura (una forma de prueba de software que ofrece "pruebas rápidas, amplias y superficiales" [1] ) evalúa el resultado de un subconjunto de funcionalidades de la aplicación para determinar si es posible y razonable continuar con pruebas adicionales. de toda la aplicación. [2] Las pruebas de cordura a veces pueden usarse indistintamente con las pruebas de humo [3] en la medida en que ambos términos denotan pruebas que determinan si es posible y razonable continuar con las pruebas. Por otro lado, a veces se hace una distinción entre que una prueba de humo es una prueba no exhaustiva que determina si las funciones más cruciales de un programa funcionan antes de continuar con pruebas adicionales, mientras que una prueba de cordura se refiere a si una funcionalidad específica, como un error en particular, La solución funciona como se esperaba sin probar la funcionalidad más amplia del software. [ cita necesaria ] En otras palabras, una prueba de cordura determina si el resultado previsto de un cambio de código funciona correctamente, mientras que una prueba de humo garantiza que no se haya roto nada más importante en el proceso. Las pruebas de cordura y las pruebas de humo evitan perder tiempo y esfuerzo al determinar rápidamente si una aplicación tiene demasiados fallos para merecer pruebas de control de calidad más rigurosas , pero necesita más depuración por parte del desarrollador .

Los grupos de pruebas de cordura a menudo se agrupan para pruebas unitarias automatizadas de funciones, bibliotecas o aplicaciones antes de fusionar el código de desarrollo en una rama de control de versión troncal o de prueba , [4] para la construcción automatizada , [5] o para la integración continua y la implementación continua. . [6]

Otro uso común de la prueba de cordura es para indicar comprobaciones que se realizan dentro del código del programa, generalmente en argumentos de funciones o retornos de las mismas, para ver si se puede suponer que las respuestas son correctas. Cuanto más complicada sea la rutina, más importante será comprobar su respuesta. El caso trivial es verificar si el valor de retorno de una función indica éxito o fracaso y, por lo tanto, detener el procesamiento posterior en caso de falla. En realidad, este valor de retorno suele ser en sí mismo el resultado de una verificación de cordura. Por ejemplo, si la función intentó abrir, escribir y cerrar un archivo, se puede utilizar una verificación de cordura para garantizar que no falló en ninguna de estas acciones, lo cual es una verificación de cordura que los programadores a menudo ignoran. [7]

Este tipo de comprobaciones de cordura se pueden utilizar durante el desarrollo con fines de depuración y también para ayudar a solucionar errores de tiempo de ejecución del software . Por ejemplo, en una aplicación de administración de cuentas bancarias, una verificación de cordura fallará si un retiro solicita más dinero que el saldo total de la cuenta en lugar de permitir que la cuenta se vuelva negativa (lo cual no sería sensato). Otra prueba de cordura podría ser que los depósitos o las compras correspondan a patrones establecidos por datos históricos; por ejemplo, las transacciones de compras grandes o los retiros en cajeros automáticos en lugares extranjeros nunca antes visitados por el titular de la tarjeta pueden marcarse para su confirmación. [ cita necesaria ]

También se realizan comprobaciones de cordura tras la instalación de un código de software de producción estable en un nuevo entorno informático para garantizar que se cumplan todas las dependencias , como un sistema operativo compatible y bibliotecas de enlaces . Cuando un entorno informático ha pasado todas las comprobaciones de seguridad, se le considera un entorno sano para que el programa de instalación proceda con expectativas razonables de éxito.

Un "¡Hola mundo!" El programa se utiliza a menudo como prueba de cordura para un entorno de desarrollo de manera similar. En lugar de un script complicado que ejecuta un conjunto de pruebas unitarias, si este programa simple no se compila o ejecuta, demuestra que el entorno de soporte probablemente tenga un problema de configuración que impedirá que se compile o ejecute cualquier código. Pero si se ejecuta "Hola mundo", cualquier problema experimentado con otros programas probablemente pueda atribuirse a errores en el código de esa aplicación y no al entorno.

La Association for Computing Machinery , [8] y proyectos de software como Android , [9] MediaWiki [10] y Twitter , [11] desaconsejan el uso de la frase control de cordura en favor de otros términos como prueba de confianza , control de coherencia o simplemente pruebe , como parte de un intento más amplio de evitar el lenguaje capacitista y aumentar la inclusión .

Ver también

Referencias

  1. ^ Fecko, Mariusz A.; Lott, Christopher M. (octubre de 2002). "Lecciones aprendidas de la automatización de pruebas para un sistema de soporte de operaciones" (PDF) . Software: práctica y experiencia . 32 (15): 1485-1506. doi :10.1002/spe.491. S2CID  16820529. Archivado desde el original (PDF) el 17 de julio de 2003.
  2. ^ Sammi, Rabia; Masud, Iram; Jabeen, Shunaila (2011). Zain, Jasni Mohamad; Wan Mohd, Wan Maseri bt; El-Qawasmeh, Eyas (eds.). "Un marco para garantizar la calidad del proceso de control de cordura". Ingeniería de Software y Sistemas Computacionales . Comunicaciones en Informática y Ciencias de la Información. 181 . Berlín, Heidelberg: Springer: 143-150. doi :10.1007/978-3-642-22203-0_13. ISBN 978-3-642-22203-0.
  3. ^ Glosario ISTQB® para el esquema de calificación de pruebas de software de la Junta Internacional de Calificación de Pruebas de Software®, Glosario ISTQB Junta Internacional de Calificación de Pruebas de Software
  4. ^ Jorgensen, Niels (2001). "Poniéndolo todo en el baúl: desarrollo incremental de software en el proyecto de código abierto FreeBSD" (PDF) . Revista de sistemas de información . 11 (4): 321. doi :10.1046/J.1365-2575.2001.00113.X.
  5. ^ Hassan, AE y Zhang, K. 2006. Uso de árboles de decisión para predecir el resultado de certificación de una construcción. En Actas de la 21ª Conferencia internacional IEEE/ACM sobre Ingeniería de Software Automatizada (18 al 22 de septiembre de 2006). Ingeniería de software automatizada. Sociedad de Computación IEEE, Washington, DC, 189–198.
  6. ^ Jasidim, Hadas; Almog, Dani; Sohacheski, Dov Benyomin; Gillenson, Mark Lee; Poston, Robin S.; Marcos, Shlomo (2018). "La prueba unitaria: frente a la CICD: ¿son definiciones difíciles de alcanzar?" (PDF) . Revista de Gestión de Tecnologías de la Información . 29 (2): 40–54.
  7. ^ Darwin, Ian F. (enero de 1991). Comprobación de programas C con pelusa (1ª ed., con revisiones menores. ed.). Newton, Massachusetts: O'Reilly & Associates. pag. 19.ISBN 0-937175-30-7. Consultado el 7 de octubre de 2014 . Un hábito de programación común es ignorar el valor de retorno de fprintf(stderr, ...
  8. ^ "Las palabras importan". 2020-11-20 . Consultado el 29 de junio de 2023 .
  9. ^ "Codificar con respeto". Proyecto de código abierto de Android . 2022-11-16 . Consultado el 23 de enero de 2023 .
  10. ^ "Idioma inclusivo/en-gb - MediaWiki". www.mediawiki.org . Consultado el 23 de enero de 2023 .
  11. ^ "Ingeniería de Twitter". Gorjeo . Consultado el 23 de enero de 2023 .