Sunteți pe pagina 1din 54

ISTQB

Capítulos 1 y 2
ISTQB

 El Comité internacional de calificación de pruebas de


sotware (ISTQB: International Software Testing
Qualification Board) es una organización sin ánimo de
lucro, creada en el año 2002 por empresas,
instituciones, organizaciones y personas
especializadas en el campo de las pruebas y la
industria del software.
Niveles de Certificación
Foundation Level

 Fundamentos de Pruebas (ISO/IEC: 9126, IEEE:


610,1028,829)
 Pruebas a través del Ciclo de Vida de Software (ISO:
9000, 9126, IEEE: 610)
 Técnicas Estáticas (IEEE 1028)
 Técnicas de Diseño de Pruebas (IEEE 829)
 Gestión de Pruebas (IEEE 730,IEEE 983,IEEE 829)
 Herramientas de Pruebas
Objetivos de Aprendizaje

 K1: Recordar
 K2: Entender
 K3: Aplicar
 K4: Analizar
Examen de Certificación

40 Preguntas en Total

50% K1 (20 preguntas)


30% K2 (12 preguntas)
20% K3 (8 preguntas)

 Valor de las preguntas


- Cada pregunta vale un punto
- No descuentan puntos por respuestas incorrectas

 Nota mínima para pasar


65% (26 preguntas)
¿Por qué son necesarias las pruebas?

Los fallos de software pueden causar importantes daños y perdidas


monetarias.
Error - Defecto - Falla

Una persona
comete un
error...

Falla es un evento; defecto es un


estado del software, causado por
… que crea un
un error
defecto en el
software...

… que puede
causar una
falla en la
operación
Papel del proceso de prueba en el
desarrollo, mantenimiento y operaciones

 Mejora de la calidad de un producto de software:


ayuda a suministrar al software los atributos
deseados.
 Reducción del riesgo de detectar errores: Pruebas
adecuadas reducirán el riesgo de encontrar errores
durante la fase de operaciones del software
 Satisfacer compromisos: Las pruebas pueden ser
requisito del cliente, por normas legales o estándares
de la industria.
Costo de los defectos

 El costo de eliminar defectos se incrementa con el


tiempo de permanencia del defecto en el sistema.

 La detección de defectos en etapas tempranas


permite la corrección de los mismos a costes
reducidos.
Pruebas y Calidad

 Definición: Software (según IEEE 610)


Programas de ordenador, procedimientos y posiblemente documentación
y datos pertenecientes a la operación de un sistema basado en un
ordenador.
 Definición: Calidad software ( según Iso/IED 9126)
La totalidad de la funcionalidad y prestaciones de un producto de software
que contribuyen con su capacidad de satisfacer necesidades explicitas o
implícitas.
 Definición: Calidad ( según IEE Std 610)
Grado en el cual un componente , sistema o proceso satisface requisitos
especificados y/o necesidades y expectativas delusuario/cliente.
Pruebas y Calidad

 De acuerdo a la norma ISO/IEC 9126 la calidad


software consiste en:
 Funcionalidad Atributos funcionales de calidad
 Fiabilidad
 Usabilidad
 Eficiencia Atributos No - funcionales de
 Mantenibilidad calidad

 Portabilidad
Atributos Funcionales

 Funcionalidad significa:
 Corrección: La funcionalidad satisface los atributos/capacidades
requeridos.
 Completitud: La funcionalidad satisface todos los requisitos
funcionales.

 Funcionalidad incluye (según ISO/IEC 9126):


 Adecuación (suitability)
 Exactitud (accuracy)
 Interoperabilidad (interoperability)
 Seguridad (security)
 Cumplimiento de funcionalidad (functionality compliance)
Atributos No Funcionales

 Fiabilidad
 Usabilidad
 Eficiencia
 Mantenibilidad
 Portabilidad
Objetivos de las pruebas

 Detección de defectos ( Pruebas de desarrollo y de


aceptación)
 Generación de confianza respecto del nivel de
Calidad.
 Aportación de información para la toma de
decisiones.
 Prevención de defectos.
¿Cuántas pruebas son suficientes?

 Criterios de salida : Métricas para reflejar de forma


adecuada el nivel de calidad alcanzado.
 Pruebas basadas en riesgos: Los niveles de riesgo
determinan el grado en el cual se ha probado.
 Pruebas basadas en plazo y presupuestos:
Disponibilidad de recursos.
Probar significa más que ejecutar
pruebas

 La ejecución de pruebas es solo una parte de las pruebas.

 El proceso de pruebas incluye:


• Planificación y control
• Selección de condiciones de pruebas
• Diseño y ejecución de casos de pruebas
• Comprobación de resultados
• Generación de informes respecto del proceso de prueba y el sistema
sujeto a prueba
• Finalización y completar actividades de cierre.

La revisión de documentos código fuente y la realización de análisis


estático también ayudan a prevenir la aparición de defectos en el
código.
Pruebas dinámicas y estáticas

 Las pruebas dinámicas significan la ejecución del


software. Muestran fallos que han sido causados por
defectos, la depuración detecta, analiza y elimina la
causa del fallo.
 Las pruebas estáticas significan la revisión de la
documentación.
Siete principios del proceso de
pruebas

 Las pruebas revelan la presencia de bugs, no la


ausencia de ellos
 Las pruebas exhaustivas son imposibles
 Pruebas tempranas
 Agrupamiento de defectos
 Paradoja del pesticida
 Las pruebas dependen del contexto
 La falacia de la ausencia de errores
Proceso de pruebas

 Planificación de pruebas
 Análisis y Diseño de pruebas
 Implementación y Ejecución de pruebas
 Evaluación de criterios de salida
 Actividades de cierre de pruebas
Psicología del proceso de pruebas

 Las personas cometen errores, toda implementación


tiene defectos.
 Ceguera a los errores
 Desarrollador y probador significan el encuentro de
dos mundos
 Las pruebas independientes aumentan la calidad del
proceso de pruebas.
Puntos Capitulo 1

 Causas de fallos
 Proceso de pruebas y calidad de software
 Riesgo
 Objetivos de las pruebas
 Siete principios
 Psicología de pruebas
PREGUNTAS
Una Falla es:
a) Resultado de un error.
b) Desviación de un resultado esperado
c) Un paso incorrecto en un programa
d) Una acción humana que produce un resultado incorrecto.

Cual de los siguientes no debería ser un objetivo del testing?


a) Encontrar fallas en el software
b) Determinar si el software esta listo para release
c) Para demostrar que el software no funciona
d) Para probar que el software es correcto.

Cual de las siguientes opciones caracteriza el costo de los fallos?


a) Son mas baratos de detectar en etapas tempranas y mas caros en etapas tardías.
b) Son baratos de encontrar durante testing pero caros de arreglar.
c) Son baratos de detectar en etapas tempranas pero caros de solucionar
d) Aunque son mas caros de detectar en etapas tempranas son mas baratos de
solucionar.
PREGUNTAS

Lo que se asume de testing:


a) Es que existe un software sobre el que se compararan los resultados
b) El tester puede determinar de manera rutinaria cual es la correcta salida del
test.
c) Es que el tester conoce en detalle el software testeado
d) Los test cases son revisados por testers expertos.

Cual de las siguientes normalmente no es parte de la planificación?


a) Funcionalidades a ser testeadas
b) Reporte de incidentes
c) Riesgos
d) Agenda
Respuestas

Una Falla es:


b) Desviación de un resultado esperado

Cual de los siguientes no debería ser un objetivo del testing?


d) Para probar que el software es correcto.

Cual de las siguientes opciones caracteriza el costo de los fallos?


a) Son mas baratos de detectar en etapas tempranas y mas caros en etapas tardías.

Lo que se asume de testing:


b) El tester puede determinar de manera rutinaria cual es la correcta salida del test.

Cual de las siguientes normalmente no es parte de la planificación?


b) Reporte de incidentes
Modelos de desarrollo

 Es el modelo de desarrollo de
software más utilizado, donde el
desarrollo y el testing son dos
ramas que apuntan a los mismos
niveles, ya que para cada nivel de
desarrollo existe su
correspondiente nivel de Testing.
Verificación vs validación

 Verificación: comprobación de la conformidad con los


requisitos establecidos( Iso 9000)

 Validación: Comprobación de la ideonidad del uso


esperado (Iso 9000)
Modelos de desarrollo

 Los modelos de desarrollo software son utilizados para el


desarrollo software incluyendo las actividades del proceso
de prueba.
 El modelo más conocido es el modelo en V el cual describe
los niveles de desarrollo y niveles de prueba como dos
ramas relacionadas.
 Los modelos iterativos mas importantes son RUP; XP; y
SCRUM.
 Las actividades de pruebas están recomendadas en todos
los niveles de desarrollo.
Niveles de pruebas

 Pruebas de Componentes
 Pruebas de integración
 Pruebas de Sistema
 Pruebas de Aceptación
Pruebas de componente

 Un componente es la unidad más pequeña especificada de un


sistema
 Prueba de un módulo, de clase, de unidad y de desarrollador son
utilizados como sinónimos.
 Los controladores ( drivers) simulan datos de entrada de un
componente y las funciones adyacentes son reemplazadas por
stubs.
 Las pruebas de componente podrán comprobar características
funcionales y no funcionales de un sistema.
 Alcance:
 Solo se prueban componentes individuales
 Cada componente es probado de forma independiente
Pruebas de integración

 Integración significa construir grupos de componentes.


 Las pruebas de integración comprueban la interacción entre componentes
respecto de la especificación de interfaces.
 La integración ocurre de forma ascendente (bottom-up), descendente (top-
down) o en forma de Big Bang.
 Cualquier estrategia de integración distinta a las anteriores es integración
ad-hoc.
 Alcance:
 Se prueban grupos de componentes
 Se puede implementar a nivel subsistemas si se tiene un grupo de los
mismos
 Comprueban la interacción entre componentes respecto de la
especificación de interfaces.
Pruebas de sistemas

 Las pruebas de sistemas se desarrollan utilizado casos de


pruebas funcionales y no funcionales.
 Las pruebas de sistemas funcionales confirman que los
requisitos, para un uso específico previsto, has sido satisfechos
(validación).
 Las pruebas de sistemas no funcionales verifican los atributos de
calidad no funcionales.
 Con frecuencia los atributos de calidad no funcionales son una
parte implícita de los requisitos, esto hace difícil validarlos.
 La calidad de las características de los datos es muy importante.
Pruebas de aceptación

 Son las pruebas de sistema por parte del cliente.


 Es una actividad de carácter contractual, se verificara
entonces que el software satisface los requisitos del
sistema.
 Las pruebas alpha y beta son pruebas ejecutadas por
clientes reales o potenciales, en las dependencias del
desarrollador (alpha) como en las dependencias del cliente
(beta).
 Alcance:
 Se verificará que el software satisface los requisitos del
cliente
Tipos de pruebas

 Pruebas funcionales: probar la función


 Pruebas no funcionales: probar las características del
producto
 Pruebas estructurales: probar la
estructura/arquitectura del software
 Pruebas asociadas al cambio: probar después de
cambios (Repetición de pruebas y pruebas de
regresión)
Tipos de pruebas

 En niveles de pruebas distintos se utilizan tipos de pruebas distintos.


 Los tipos de pruebas son: funcionales, no funcionales, estructurales y
relacionadas a cambios.
 Las pruebas funcionales comprueban el comportamiento entrada/salida de
un objeto de prueba.
 Las pruebas no funcionales comprueban las características de un producto.
 Las pruebas no funcionales incluyen, pero no están limitadas a, pruebas de
carga, pruebas de estrés, pruebas de rendimiento, pruebas de robustez.
 Las pruebas estructurales habituales son pruebas que comprueban el flujo
de control de datos en el objeto de pruebas, midiendo el grado de
cobertura.
 Pruebas importantes después de un cambio: repetición de pruebas(re-test)
y pruebas de regresión (regression test)
Pruebas de mantenimiento

 Cualquier nueva versión del producto, cada nueva


actualización y cada cambio del software requiere
pruebas adicionales.
 El alcance de las pruebas depende del impacto del
cambio.
Pruebas de mantenimiento

 Las pruebas de mantenimiento aseguran que:


 Las nuevas funciones son implementadas de forma
correcta ( nuevos casos de pruebas)
 Los errores han sido corregidos de forma exitosa (
casos de pruebas antiguos)
 La funcionalidad , que ya ha sido verificada, no ha sido
afectada (pruebas de regresión)
Preguntas

El Test de Integración es:


a) Test de componentes individuales recientemente desarrollados.
b) Test de interacción entre módulos o subsistemas.
c) Solo utiliza componentes que forman parte del sistema productivo.
d) Testea interfaces a otros sistemas.

Alpha testing es:


a) Post-release testing ejecutado por el cliente en las dependencias del
desarrollador
b) El primer testing que es ejecutado
c) Pre-release testing ejecutado por el cliente en las dependencias del
desarrollador.
d) Pre-release testing ejecutado por el cliente en sus oficinas.
Preguntas

Cual de las siguientes es una forma de test funcional?


a) Análisis de valores Limites
b) Test de Usabilidad
c) Test de Performance
d) Test de Carga

Cual de los siguientes es el mejor recurso para definir resultados esperados en un


test de aceptación.
a) Actual results
b) Program specification
c) User requirements
d) System specification
Respuestas

Test de Integración
b) Test de interacción entre módulos o subsistemas.

Alpha testing es:


c) Pre-release testing ejecutado por el cliente en las dependencias del desarrollador.

Cual de las siguientes es una forma de test funcional?


a) Análisis de valores Limites

Cual de los siguientes es el mejor recurso para definir resultados esperados en un


test de
aceptación.
c) User requirements
Examen
Examen
 1.- Se han realizado suficientes pruebas cuando:
a) se agote el tiempo
b) se ha logrado el nivel de confianza requerido
c) no se encuentran mas fallas
d) los usuarios no encuentran ninguna falla grave
1.-B
2.- ¿Cual de las siguientes afirmaciones es falsa?
2.-B
a) En un sistema dos fallas diferentes pueden tener diferentes gravedades
b) Un sistema es necesariamente mas confiable después de la depuración para la eliminación de una falla 3.- D
c) Un fallo no necesita afectar la confiabilidad del sistema 4.-A
d) Errores no detectados pueden conducir a fallos y eventualmente a comportamiento incorrecto.

 3.- ¿Cual de las siguientes es una forma de pruebas funcionales?


a) Análisis de valor limite
b) Pruebas de usabilidad
c) Pruebas de rendimiento
d) Pruebas de carga

 4.- Es la diferencia entre re-testing y pruebas de regresión


a) re-testing se esta ejecutando una prueba una vez mas, pruebas de regresión busca efectos secundarios inesperados.
b) re-testing busca efectos secundarios inesperados; pruebas de regresión es repetir pruebas
c) re-testing se realiza después de que las fallas son fijas; pruebas de regresión se realizan antes
d) re-testing utiliza diferentes ambientes, pruebas de regresión utiliza el mismo entorno
e) re-testing es realizado por los desarrolladores, pruebas de regresión se realizan por evaluadores independientes
Examen
 5.- ¿Cual es la razón principal para probar el software antes de liberarlo?
a) para mostrar que el sistema funcionara después del lanzamiento
b) para decidir cuando el software es de calidad suficiente para liberar
c) para encontrar tantos errores como sea posible antes del lanzamiento
d) dar información para una decisión de riesgo basada sobre la versión. 5.-B
 6.- ¿Cual de las siguientes es un tipo de prueba funcional? 6.-d
a) Mantenibilidad
b) Usabilidad
7.- D
c) Eficiencia 8.-A
d) Adecuación

 7.- Al informar sobre errores a los desarrolladores los testers deben ser:
a) lo mas cortes, constructivo y útil posible
b) firme insistiendo en que un error no es una "característica" esperada
c) diplomática, sensible a la forma en que pueden reaccionar a las criticas
d) Todo lo anterior

 8.-
Examen
 9.-

9.-C
10.-b
11.- a

 10.-

 11.-
Examen
 12.-

12.-d
13.-d
14.- e
 13.-

 14.-
Examen
 15.-

15.- D
16.- B
 16.- 17.-D

 17.-
Examen
 18.-

18.- A
19.-C
 19.-
20.- A

 20.-

S-ar putea să vă placă și