Académique Documents
Professionnel Documents
Culture Documents
0 - Introduccin
El presente curso se ha desarrollado de acuerdo con el ltimo Programa de Estudio (2010) de ISTQB
Certified Tester Foundation Level (CTFL)
Consta de siete captulos:
- Captulo 0
- Captulo I
- Captulo II
- Captulo III
- Captulo IV
- Captulo V
- Captulo VI
Introduccin
Fundamentos de Pruebas
Pruebas a travs del Ciclo de Vida del Software
Tcnicas Estticas
Tcnicas de Diseo de Pruebas
Gestin de Pruebas
Herramientas de Pruebas
www.luismercadal.com.ar | info@luismercadal.com.ar
Foundation Level
Advanced Level
Expert Level
www.lmercadal.blogspot.com.ar/2012/12/niveles-de-certificacion-del-istqb.html
www.lmercadal.blogspot.com.ar/2013/07/estructura-de-los-examenes-del-istqb.html
www.luismercadal.com.ar | info@luismercadal.com.ar
ISTQB Certified Tester Foundation Level + ISTQB-BCS Certified Tester Foundation Level
ISTQB - International Software Testing Qualifications Board
BCS - The Chartered Institute for IT
La BCS (British Computer Society) es una organizacin profesional y una sociedad cientfica que
representa a quienes trabajan en las Tecnologas de la Informacin y las Comunicaciones en el Reino
Unido e internacionalmente. Fue establecida en 1957, y en 2009 se renombr como BCS - The
Chartered Institute for IT.
En octubre de 2011, el ISEB (Information Systems Examination Board) se renombr como BCS
Professional Certification, y entonces el logo de BCS Professional Certification substituy al logo de
ISEB en toda la correspondencia y los certificados de la BCS.
www.lmercadal.blogspot.com.ar/2012/11/istqb-y-bcs-una-doble-certificacion.html
www.luismercadal.com.ar | info@luismercadal.com.ar
Contenido
Captulo I - Fundamentos de pruebas
Software
Estn escritos usando lenguajes especficos que las computadoras pueden leer y
ejecutar
Datos
Datos necesarios para manejar y probar los programas y las estructuras requeridas
para mantener y manipular estos datos
Documentos
Los documentos tambin son requeridos por las personas encargadas de mantener el
software
www.luismercadal.com.ar | info@luismercadal.com.ar
Cada vez ms, la calidad del software se ha convertido en un factor determinante del xito de
sistemas tcnicos o comerciales
Las pruebas y revisiones aseguran la mejora de la calidad del software as como de la calidad del
proceso de desarrollo en s
Un defecto ha sido introducido por una persona en el cdigo, en los datos, en los parmetros de
configuracin, en un documento
Cdigos complejos, plazos de entrega ajustados, distracciones, demandas excesivas, estrs
Condiciones Ambientales
Cambios en las condiciones ambientales pueden producir un mal funcionamiento del hardware
donde se est ejecuta el software
Radiacin, magnetismo, polucin, fluctuaciones en el suministro de energa elctrica
www.luismercadal.com.ar | info@luismercadal.com.ar
Error (equivocacin)
Accin humana que produce un resultado incorrecto.
El costo de eliminar defectos se incrementa con el tiempo de permanencia del defecto en el sistema
www.luismercadal.com.ar | info@luismercadal.com.ar
Pruebas y Calidad
Desde el principio de la ingeniera de software, se observ que la calidad est compuesta por una
composicin de muchas caractersticas.
El estndar ISO/IEC 9126-1 propone las siguientes 6 caractersticas de calidad interna y externa:
Funcionalidad
Fiabilidad
Usabilidad
Eficiencia
Mantenibilidad
Portabilidad
ISO/IEC 9126-1
ISO/IEC 25010:2011 - Systems and Software Engineering -- Systems and software Quality
Requirements and Evaluation (SQuaRE) -- System and Software Quality Models
www.luismercadal.com.ar | info@luismercadal.com.ar
Subcaractersticas de Funcionalidad
Adecuacin - atributos que determinan si el conjunto de funciones son apropiadas para las tareas
especificadas
Exactitud - atributos que determinan que los efectos sean los correctos o los esperados
Interoperabilidad - atributos que miden la habilidad de interactuar con sistemas especificados
Seguridad (seguridad de acceso) - atributos que miden la habilidad para prevenir accesos no
autorizados, ya sea accidentales o deliberados, a programas y/ o a datos
Cumplimiento (conformidad, adherencia a normas) - atributos que hacen que el software adhiera a
estndares relacionados con la aplicacin, y convenciones o regulaciones legales
www.luismercadal.com.ar | info@luismercadal.com.ar
Usabilidad
Conjunto de atributos que se relacionan con el esfuerzo necesario para usar, y en la evaluacin
individual de tal uso, por parte de un conjunto especificado o implcito de usuarios.
Subcaractersticas de Usabilidad
Comprensin (entendimiento, capacidad de ser entendido, fcil comprensin) - atributos que
miden el esfuerzo del usuario en reconocer el concepto lgico del software y su aplicabilidad
Aprendizaje (capacidad para ser aprendido, fcil aprendizaje) - atributos que miden el esfuerzo del
usuario en aprender la aplicacin (control, operacin, entrada, salida)
Operabilidad (operatividad, capacidad para ser operado) - atributos que miden el esfuerzo del
usuario en operar y controlar el sistema
Atractividad (software atractivo, capacidad de atraccin)
Cumplimiento (conformidad, adherencia a normas) - atributos que hacen que el software adhiera a
estndares relacionados con la aplicacin, y convenciones o regulaciones legales
Eficiencia
Conjunto de atributos que se relacionan con el nivel de rendimiento del software y la cantidad de
recursos usados, bajo las condiciones establecidas.
Subcaractersticas de Eficiencia
Comportamiento Temporal (en tiempo, comportamiento frente al tiempo, comportamiento de
tiempos) - atributos que miden la respuesta y tiempos de procesamiento de las funciones
Utilizacin de Recursos (en recursos, uso de recursos) - atributos que miden la cantidad de recursos
usados y la duracin de tal uso en la ejecucin de las funciones
Cumplimiento (conformidad, adherencia a normas) - atributos que hacen que el software adhiera a
estndares relacionados con la aplicacin, y convenciones o regulaciones legales
www.luismercadal.com.ar | info@luismercadal.com.ar
10
Atributos de la Calidad
Se realizarn distintos tipos de prueba con el objeto de medir distintos tipos de atributo.
www.luismercadal.com.ar | info@luismercadal.com.ar
11
Planificar y Controlar
Seleccionar las condiciones de las pruebas
Disear y ejecutar casos de prueba
Comprobar los resultados
Evaluar los criterios de salida
Elaborar informes sobre el proceso de pruebas y sobre el sistema probado
Finalizar o completar actividades de cierre
www.luismercadal.com.ar | info@luismercadal.com.ar
12
Las pruebas se realizan para confirmar que un software funciona como se esperaba y que cumple
con los requerimientos establecidos.
La informacin generada permite a los interesados tomar decisiones con base en informacin
concreta acerca del software.
Prevenir defectos
Disear pruebas, encontrar defectos temprano en un ciclo de vida del proyecto y realizar
revisiones de documentos previenen que aparezcan defectos en el software.
Pruebas y Depuracin
Probar y repetir la prueba (re-test) son actividades propias del proceso de pruebas
Las pruebas muestran las fallas
La repeticin de pruebas (pruebas de confirmacin) verifica que el defecto ha sido corregido
Depuracin (debugging) es el proceso de encontrar, analizar y eliminar las causas de las fallas en
el software
www.luismercadal.com.ar | info@luismercadal.com.ar
13
Principio 1
El proceso de pruebas demuestra la presencia de defectos
Las desviaciones identificadas a lo largo del proceso de pruebas demuestran la presencia de una
falla
Las pruebas reducen la probabilidad de la presencia de defectos que permanezcan sin ser
detectados. La ausencia de fallas no demuestran la correccin del software
Principio 2
No es posible realizar pruebas exhaustivas
Pruebas exhaustivas
Enfoque de pruebas donde el conjunto de pruebas abarca todas las combinaciones posibles de
valores de entrada y precondiciones.
Prueba de muestra
La prueba incluye solamente a un subconjunto de todas las combinaciones posibles de
valores de entrada y precondiciones
www.luismercadal.com.ar | info@luismercadal.com.ar
14
Principio 3
Pruebas tempranas
Se obtiene una mxima rentabilidad cuando los defectos son corregidos antes de la
implementacin
Los defectos detectados en la fase de concepcin son corregidos con menor esfuerzo y
costo
Las actividades de pruebas pueden ser preparadas antes de que el desarrollo se haya completado
Las actividades de pruebas (incluidas las revisiones) deben ser ejecutadas en paralelo a la
especificacin y diseo del software
Principio 4
Agrupamiento de defectos
Principio 5
Paradoja del pesticida
Las pruebas deben ser revisadas / modificadas regularmente para los distintos mdulos de cdigo
Es necesario repetir una prueba tras una modificacin del cdigo (correccin de defectos, nueva
funcionalidad)
www.luismercadal.com.ar | info@luismercadal.com.ar
15
Principio 6
Las pruebas dependen del contexto
El controlador del motor de un camin requiere pruebas diferentes respecto de aquellas para una
aplicacin de comercio electrnico
Principio 7
La falacia de la ausencia de errores
En la mayora de los casos, el proceso de pruebas no detectar todos los defectos del sistema
(Principio 2 - No es posible realizar pruebas exhaustivas), pero los defectos ms importantes
deberan ser detectados
La funcionalidad del software puede no satisfacer las necesidades y expectativas de los usuarios
No se puede introducir la calidad a travs de las pruebas, ella tiene que construirse desde el
principio.
www.luismercadal.com.ar | info@luismercadal.com.ar
16
Dependiendo del enfoque seleccionado el proceso de pruebas tendr lugar en diferentes puntos del
proceso de desarrollo
Cada fase del proceso de pruebas tiene lugar de forma concurrente con las fases del proceso de
desarrollo software
www.luismercadal.com.ar | info@luismercadal.com.ar
17
Control de Pruebas
Compara el progreso actual con lo planificado
Informa estado y desviaciones respecto a lo planificado
Si fuera necesario, inicia acciones necesarias para ajustarse a la misin y objetivos del proyecto
De cara al control de pruebas, estas acciones deben ser monitorizadas a lo largo del proyecto
La planificacin de pruebas tiene en cuenta la realimentacin de las actividades de monitorizacin y
control.
Se basa en las siguientes tareas fundamentales:
Toma de decisiones
Planificacin de Pruebas
Identifica la misin de la prueba, definiendo los objetivos de la prueba y la especificacin de las
actividades de cara a cumplir los objetivos y completar la misin.
Tiene en cuenta la realimentacin de las actividades de monitorizacin y control.
Se basa en las siguientes tareas fundamentales:
www.luismercadal.com.ar | info@luismercadal.com.ar
18
Crear una trazabilidad bidireccional entre la base de pruebas y los casos de prueba
Verificar y actualizar una trazabilidad bidireccional entre la base de pruebas y los casos de
prueba
Reportar discrepancias en forma de incidencias y analizarlas con vistas a establecer sus causas
Repetir las actividades de prueba como resultado de una medida adoptada para cada incidencia
www.luismercadal.com.ar | info@luismercadal.com.ar
19
Evaluar la ejecucin de la prueba con respecto a objetivos definidos (por ejemplo, criterios de
salida) en la planificacin de la prueba
Evaluar si son necesarias ms pruebas o si los criterios de salida deben ser modificados
Elaborar un informe resumen de las pruebas para enviar a las partes interesadas
Cerrar los informes de defectos o elevar informes de cambios para defectos que se mantienen
abiertos
Finalizar y archivar los productos de soporte de prueba (testware) para su posterior uso
Roles y Responsabilidades
Desarrollador
Implementa requisitos
Desarrolla estructuras
Disea y programa el software
Su xito consiste en la creacin de un producto software
Probador (Tester)
www.luismercadal.com.ar | info@luismercadal.com.ar
20
Percepcin
La actividad del desarrollador es constructiva! La actividad del probador es destructiva!
Error!
Las pruebas tambin constituyen una actividad constructiva,
su propsito es la eliminacin de defectos en un producto software!
Curioso, perceptivo, atento a los detalles - no todo error se manifiestan de forma evidente
Tanto cuestiones tcnicas como prcticas, relativas al uso del sistema, deben ser entendidas
y comunicadas
Para establecer una relacin de trabajo con los desarrolladores a corto plazo
Experiencia
www.luismercadal.com.ar | info@luismercadal.com.ar
21
Pruebas Independientes
Pruebas de desarrollador
Equipos de desarrollado
Un desarrollador que busca y encuentra un defecto no ser el mejor amigo del autor
del objeto de prueba analizado
Equipos de pruebas
www.luismercadal.com.ar | info@luismercadal.com.ar
22
-La curva de aprendizaje implica altos costes, por lo tanto, se deberan involucrar a
expertos independientes en etapas tempranas del proyecto
- Los expertos externos cuentan con un alto nivel de conocimiento (know how) del
proceso de pruebas
- Las personas no deberan ser criticadas, los defectos deben ser descritos en trminos
objetivos
- La descripcin de los defectos debera ayudar al desarrollador a encontrar el error
- Los objetivos comunes siempre deben ser la cuestin principal
www.luismercadal.com.ar | info@luismercadal.com.ar
23
Cdigo de Conducta
Los individuos involucrados en el proceso de pruebas software tienen acceso a informacin muy
privilegiada y crtica. El cdigo de tica es necesario para asegurar que la informacin es utilizada de
forma apropiada.
Pblico
Los probadores de software certificados actuarn en coherencia con el inters pblico.
Cliente y Empleador
Los probadores de software certificados actuarn en el mejor de los intereses de su cliente y empleador,
en coherencia con el inters pblico.
Producto
Los probadores de software certificados garantizarn que los productos entregables que proporcionan
(por lo que respecta a los productos y sistemas que prueban) se ajustan a los ms altos estndares
profesionales.
Criterio
Los probadores de software certificados mantendrn la integridad y la independencia en su criterio/
juicio profesional.
Gestin
Los jefes y lderes de pruebas de software certificados suscribirn y fomentarn un enfoque tico en la
gestin de las pruebas de software.
Profesin
Los probadores de software certificados aumentarn la integridad y la reputacin de la profesin en
coherencia con el inters pblico.
Compaeros
Los probadores de software certificados sern equitativos y apoyarn a sus compaeros fomentando la
cooperacin con los desarrolladores de software.
Nivel Individual
Los probadores de software certificados participarn en un aprendizaje a lo largo de toda la vida por lo
que respecta a la prctica de su profesin y fomentarn la adopcin de un enfoque tico en la prctica
de su profesin.
www.luismercadal.com.ar | info@luismercadal.com.ar
24