Pruebas de Sw
-
Upload
jjgalactico -
Category
Documents
-
view
216 -
download
2
description
Transcript of Pruebas de Sw
-
Las pruebas en el desarrollo de software
Introduccin
Actualmente el proceso de pruebas es ms que simplemente sentarse y empezar a probar el
software desarrollado en base a la experiencia del programador. En la actualidad hablamos
de un "Proceso de Pruebas" bsico el cual permite la gestin de las pruebas desde su
concepcin hasta su ejecucin.
En ste pequeo artculo analizaremos las fases principales definidas para las pruebas.
Contenido
Proceso de pruebas
Planeamiento y control
Anlisis y diseo
Implementacin y ejecucin
Evaluacin de resultados y reportes
Cierre
Proceso de pruebas
Actualmente, las pruebas deben ser manejadas de manera paralela al desarrollo, pero debe
estar muy relacionada a las actividades que se realicen.
La ISTBQ (International Software Testing Qualifications Board) es una entidad que trata la
estandarizacin del proceso de pruebas, adems de encargarse de la certificacin de
Profesionales en Pruebas.
El modelo de proceso propuesto abarca las siguientes fases:
-
Proceso de pruebas
Planeamiento y control
Anlisis y diseo
Implementacin y ejecucin
Evaluacin de resultados y reportes
Cierre
Planeamiento y control
La actividad de planeamiento y control define los objetivos, el tiempo y los recursos
necesarios para el anlisis, diseo, ejecucin y evaluacin de las pruebas.
Tambin se debe definir las formas en como se va a controlar la correcta ejecucin y el
cumplimiento de las dems actividades del proceso, es recomendable el uso de estndares.
Uno de los puntos a tratar en la planificacin es la identificacin del propsito de las
pruebas, es decir , Qu se quiere lograr?. Algunos de los propsitos ms comunes son:
Pruebas de Aceptacin y Calificacin: estas pruebas son hechas para evaluar que
el software cumpla con los criterios de aceptacin propuestos por el cliente.
Usualmente el cliente, o su representante, realiza un chequeo del sistema para
determinar si cumple con los criterios establecidos.
Pruebas de Instalacin: una vez terminada la revisin de aceptacin, el software se
prueba en un ambiente que emula al de produccin. La finalidad es comprobar que
el sistema funcionar correctamente.
Pruebas Alfa/Beta: antes de que un software sea liberado al mercado, se suele
entregar a un grupo pequeo de usuarios, que representan a los usuarios finales. La
finalidad es que se reporten errores antes de la liberacin del software en el
mercado.
Pruebas de Regresin: consiste en repetir las pruebas seleccionadas y realizadas
previamente antes de una modificacin. El objetivo principal es determinar que los
componentes funcionan correctamente despus de los cambios realizados.
Pruebas de Rendimiento: las pruebas de rendimiento verifican que el software
cumpla con los requerimientos de rendimientos establecidos y evala su
rendimiento.
Entre otros.
Anlisis y diseo
Una vez definido el/los objetivos, stos, deben ser analizados y revisados para la definicin
de los casos de pruebas.
Los objetivos guan las siguientes actividades:
Identificar y refinar las condiciones de pruebas por cada objetivo de prueba.
-
Crear casos de prueba para validar que las condiciones de pruebas identificadas se
cumplan.
Definir y usar un estndar para la documentacin.
La seleccin de la documentacin y de la forma como se definirn los casos de prueba
depender mucho de los expertos. Pero tambin es recomendable el uso de estndares, por
ejemplo el estndarSoftware Test Documentation IEEE 829(IEEE, 2008).
Adicionalmente, se debe definir lo que se va a probar, esto puede incluir desde
componentes , mdulos hasta el comportamiento completo del sistema:
Pruebas de Unidad: verifica la funcionalidad de un componente de manera aislada.
Puede tratarse de sub-programas, componentes menos complejos o funciones
especficas.
Pruebas de Integracin: se trata de verificar la correcta iteracin de los
componentes que conforman el sistema. Dependen mucho de la arquitectura del
sistema y las interfaces de comunicacin entre componentes.
Pruebas del Sistema: consiste en la prueba de las funcionalidad del sistema, en
trminos de rendimiento, seguridad , hardware, sistema operativo, etc.
Implementacin y ejecucin
En stas faces se ve la creacin de los ambientes para las pruebas, as como la ejecucin de
los casos de prueba seleccionados.
Los ambientes deben ser los ms parecidos posibles al ambiente dnde se ejecutar el
aplicativo en produccin. Esto incluye desde hardware, hasta el software con el cual
convivir .
La implementacin o preparacin puede incluir tareas como:
Preparacin del ambiente de pruebas: el tipo de ambiente y su despliegue depender
mucho del propsito de la prueba as como el objeto a probar. La preparacin
incluye la implantacin, configuracin del ambiente en trminos de servidores.
Implantacin de las herramientas de prueba: en casos donde las pruebas sean
automatizadas, se pude requerir un despliegue adicional de las herramientas a ser
usadas.
Configuracin y despliegue de los componentes a ser sometidos a prueba.
Para la fase de ejecucin, podemos encontrar las siguientes actividades:
Organizar tiempo y recursos.
Ejecucin de las pruebas a travs de recursos humanos, como herramientas.
Registro de los resultados de las pruebas, esto incluye los errores, resultados
satisfactorios, etc.
Reporte del resultados de las pruebas realizadas.
-
Es recomendable el uso de mtricas en la presentacin del reporte de resultados, stas
mtricas deben ser acordadas antes de la ejecucin de las pruebas.
Evaluacin de resultados y reportes
En sta fase se revisan los resultados de las pruebas, las revisiones incluyen:
Pruebas intentadas vs satisfactorias: ayudar a tener una visin de la calidad del
sistema hasta el momento. La mayora de ejecuciones descubrir defectos en el
sistema, conforme el sistema sea ms maduro, los defectos encontrados sern menos
Descubrir defectos del sistema en base a los defectos individuales: consiste en la
revisin de los defectos encontrados a partir de las pruebas para determinar qu
partes del sistema pueden verse afectados.
Descubrir defectos del sistema en base al historial de defectos: una revisin
histrica de los defectos ayuda a verificar la ocurrencia de los mismos a lo largo del
proceso de desarrollo. Es recomendable su uso en pruebas de regresin.
Descubrir defectos en base a grupo de defectos: la idea es la identificacin de los
componentes a travs de una etiqueta, esto se debe hacer en coordinacin con el
equipo de desarrollo. stas marcas pueden ayudar a identificar defectos entre
componentes relacionados.
Cierre
La fase de cierre se da cuando el software es entregado, u otras causas. Dentro de las
actividades del cierre tenemos:
Determinar que entregables se han entregado y verificar si todos los defectos
detectados han sido resueltos.
Archivar y finalizar los casos de pruebas automatizados, configuraciones de
entornos de prueba, etc.
Evaluar el proceso de pruebas en general, detectar lecciones aprendidas.
Referencias
Black, R. and Mitchell, J. L. (2011). Advanced Software Testing - Vol. 3: Guide to the
ISTQB Advanced Certification as an Advanced Technical Test Analyst. RockyNook, 1
edition edition.
Bourque, P. and Fairley, R. (2014). Guide to the Software Engineering Body of
Knowledge.
Gerald D. Everett, Raymond McLeod, Jr (2007). Software testing: testing across the entire
software development life cycle. [Piscataway, NJ] : IEEE Press ; c2007.
Henry, J.-J. P. (2008). The Testing Network: An Integral Approach to Test Activities in
Large Software Projects. Springer, 2008 edition edition.
IEEE (2008). IEEE Standard for Software and System Test Documentation.
-
IEEE, ISO, and IEC (2010). Systems and software engineering Vocabulary. ISO/IEC/IEEE 24765:2010(E), pages 1418. Koirala, S. and Sheikh, S. (2008). Software Testing: Interview Questions. Jones & Bartlett
Learning, 1 edition edition.
Myers, G. J., Sandler, C., Badgett, T., and Thomas, T. M. (2012). The Art of Software
Testing, Third Edition. Wiley, 3 edition edition.
Tian, J. (2005). Software Quality Engineering: Testing, Quality Assurance, and
Quantifiable Improvement. Wiley-IEEE Computer Society Press, 1 edition edition.