Pruebas de software

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

Las pruebas de software (en inglés software testing) son las investigaciones empíricas y técnicas cuyo objetivo es proporcionar información objetiva e independiente sobre la calidad del producto a la parte interesada o stakeholder. Son una actividad más en el proceso de control de calidad.

Las pruebas son básicamente un conjunto de actividades dentro del desarrollo de software. Dependiendo del tipo de pruebas, estas actividades podrán ser implementadas en cualquier momento de dicho proceso de desarrollo.

Índice

Historia [editar]

La separación del proceso de "debugging" del "Testing", fue una idea introducida por Glenford J. Myers in 1979.[1] Myers enfocaba las pruebas como algo destructivo ("una prueba exitosa es aquella que descubre un Bug"[1] [2] aquí se refleja claramente el deseo de la comunidad de ingenieros de software de separar las actividades fundamentales del desarrollo, debugging y verificación).

Dave Gelperin y William C. Hetzel en 1988 clasificaron la evolución de las fases y objetivos de las pruebas en las siguientes etapas[3] :

  • antes -1956 - Orientadas a la depuración[4]
  • 1957–1978 - Orientadas a la demostración[5]
  • 1979–1982 - Orientadas a la destrucción[6]
  • 1983–1987 - Orientadas a la evaluación[7]
  • 1988–2000 - Orientadas a la prevención[8]

Objetivos [editar]

El objetivo de las pruebas es presentar información sobre la calidad del producto a las personas responsables de este.

Teniendo esta afirmación en mente, la información que puede ser requerida es de lo más variada. Esto hace que el proceso de testing sea completamente dependiente del contexto[9] en el que se desarrolla.

A pesar de lo que muchos promueven, no existen las "mejores prácticas" como tal. Toda práctica puede ser ideal para una situación pero completamente inútil o incluso perjudicial en otra.

Por esto, las actividades, técnicas, documentación, enfoques y demás elementos que condicionarán las pruebas a realizar, deben ser seleccionadas y utilizadas de la manera más eficiente según contexto del proyecto.

Pruebas estáticas [editar]

Son el tipo de pruebas que se realizan sin ejecutar el código de la aplicación.

Pruebas dinámicas [editar]

Todas aquellas pruebas que para su ejecución requieren la ejecución de la aplicación.

Tipos de pruebas por su ejecución [editar]

Enfoques de pruebas o approaches [editar]

Niveles de pruebas [editar]

Pruebas funcionales [editar]

Pruebas no funcionales [editar]

Véase también [editar]

Referencias [editar]

  1. a b The Art of Software Testing - Myers 1979
  2. Dr. Dobb's journal of software tools for the professional programmer - Dr. Dobb 1987
  3. Gelperin, D.; B. Hetzel (1988). «The Growth of Software Testing». CACM 31 (6). ISSN 0001-0782. 
  4. until 1956 it was the debugging oriented period, when testing was often associated to debugging: there was no clear difference between testing and debugging. Gelperin, D.; B. Hetzel (1988). «The Growth of Software Testing». CACM 31 (6). ISSN 0001-0782. 
  5. From 1957–1978 there was the demonstration oriented period where debugging and testing was distinguished now - in this period it was shown, that software satisfies the requirements. Gelperin, D.; B. Hetzel (1988). «The Growth of Software Testing». CACM 31 (6). ISSN 0001-0782. 
  6. The time between 1979–1982 is announced as the destruction oriented period, where the goal was to find errors. Gelperin, D.; B. Hetzel (1988). «The Growth of Software Testing». CACM 31 (6). ISSN 0001-0782. 
  7. 1983–1987 is classified as the evaluation oriented period: intention here is that during the software lifecycle a product evaluation is provided and measuring quality. Gelperin, D.; B. Hetzel (1988). «The Growth of Software Testing». CACM 31 (6). ISSN 0001-0782. 
  8. From 1988 on it was seen as prevention oriented period where tests were to demonstrate that software satisfies its specification, to detect faults and to prevent faults. Gelperin, D.; B. Hetzel (1988). «The Growth of Software Testing». CACM 31 (6). ISSN 0001-0782. 
  9. http://context-driven-testing.com/

Enlaces externos [editar]