0% encontró este documento útil (0 votos)
136 vistas51 páginas

Resumen QA

Este documento presenta información sobre sistemas de software, incluyendo las definiciones de datos, información, base de datos, metadatos y ciclo de vida de desarrollo de software. También cubre temas como requerimientos de software, programación orientada a objetos, casos de uso y observación.

Cargado por

Alejandro Leyton
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
136 vistas51 páginas

Resumen QA

Este documento presenta información sobre sistemas de software, incluyendo las definiciones de datos, información, base de datos, metadatos y ciclo de vida de desarrollo de software. También cubre temas como requerimientos de software, programación orientada a objetos, casos de uso y observación.

Cargado por

Alejandro Leyton
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Módulo 1

TEST 1.1 – Introducción a los sistemas de software

Los Datos son:


- Hechos, eventos, transacciones, etc., que han sido registrados.

La Información es :
- Un conjunto de datos procesados y ordenados para su comprensión, que aportan nuevos
conocimientos a una persona o sistema sobre algún tema, acción e impacto, materia o evento
determinado. Estos conocimientos van a contribuir a la toma de decisiones frente a los problemas
y/o situaciones que se presentan en la vida cotidiana.

Los datos que han sido procesados, tienen relación y han sido comunicados de tal manera que
pueden ser entendidos e interpretados por el receptor .

La información es parte fundamental y esencial de toda organización. Es es la encargada de darle


un nivel alto de competitividad y grandes posibilidades de desarrollo.

Características de la información:
1. Relevante → va a generar y aumentar el conocimiento dentro de la empresa
2. Exacta → debe de ser lo suficientemente exacta teniendo muy en cuenta cual es el propósito
buscado.
3. Completa → debe estar disponible e informar acerca de los puntos clave del problema
4. Confiable → debe ser de una fuente creible.
5. Comunicada a la persona Correcta
6. Puntual → debe ser oportuna, sin retrasos.
7. Detallada → nivel de abstracción necesario para el rol
8. Comprensible

El activo más importante en las organizaciones hoy es...


- La Información sobre su negocio y clientes.

Propiedades de una base de datos


→ Representa algún aspecto del mundo real
→ La colección de datos es lógicamente coherente con un significado inherente
→ Su diseño y construcción tiene un propósito específico
→ Puede ser utilizada desde múltiples aplicaciones
→ Puede ser usada por diversos grupos de usuarios habilitados para consultar, modificar o dar de
baja.
→ Está sujeta a un conjunto de restricciones

Metadato
- Es la información que describe o proporciona el contexto para los datos, contenidos, procesos de
negocio, servicios, reglas de negocio y políticas de apoyo a los sistemas de información de una
organización.

- Los metadatos son datos que hablan acerca de los datos, en el sentido de que describen el
contenido de los archivos o la información que estos traen en su interior.

- Los metadatos ayudan a los administradores del repositorio y a los desarrolladores a encontrar
los datos que buscan muy fácilmente

Características de los metadatos:


◘ Son datos altamente estructurados que describen características de los datos, como el
contenido, calidad, información y otras circunstancias o atributos.
◘ Presentan diferenciaciones que dependerán, en última instancia, de las reglas incluidas en las
aplicaciones para determinar la estructura interna de los esquemas de datos.
◘ Pueden clasificarse en función de distintos criterios, como su contenido, variabilidad o función.
◘ Son precisos y en muchos casos cortos e integrados por palabras simples.
◘ Proporcionan puntos de acceso a la información del sitio web.
◘ Codifican la descripción del sitio web

Las funciones principales de un metadato son:


◘ Búsqueda
◘ Recuperación
◘ Transferencia
◘ Evaluación
◘ Archivo y conservación
◘ Interoperabilidad

Principales estilos de registración de un metadato:


- Esquema breve
- Forma de tabla o base de datos

Definición de Transacción:
- Es un conjunto de datos que no requiere el cambio en la base de datos, entonces sería
innecesario empaquetar esto como una transacción técnica de base de datos.

¿Cómo podemos describir al software?


- Está compuesto por un conjunto de aplicaciones y programas diseñados para cumplir distintas
funciones dentro de un sistema. Y está formado por la información del usuario y los datos
procesados.

Diferencias entre Datos e Información:


→ Los datos pueden ser números, palabras o variables, en cambio, la información son estos datos
procesados para que tengan sentido en un contexto específico, generando un nuevo valor.

→ La información colabora en la toma de decisiones y el dato no transmite mensaje

→ Los datos describen situaciones y la información favorece la resolución de problemas

TEST 1.2 –SDLC (Software Development Life Cycle)

Definición de Ciclo de Vida de Desarrollo del Software:


- Contempla las fases necesarias para validar el desarrollo del software y así garantizar que este
cumpla los requisitos para la aplicación y verificación de los procedimientos de desarrollo,
asegurándose de que los métodos usados son apropiados.

¿Por qué debo aplicar un SDLC?


- Aumenta la visibilidad de la preparación del trabajo para todas las partes interesadas
relacionadas, lo que ayuda en el proceso de crecimiento.

En todos los problemas podemos identificar al menos tres aspectos:


- Los requerimientos del usuario o especificación
- el mundo en el debe resolverse el problema y,
- la solución.

Las fases del desarrollo del software son...


→ Investigación preliminar,
→ análisis,
→ diseño,
→ programación,
→ pruebas,
→ instalación,
→ uso,
→ mantenimiento

¿En qué debe enfocarse el equipo de proyecto?


- En el dominio de la solución, analizando las características del sistemas y las especificaciones
del sistema.

TEST 1.3 - Requerimientos de Software

Un ícono es…
- Un pictograma (símbolo sencillo que representa un objeto real o concepto sin necesidad de usar
lenguaje)

La Programación Orientada a Objetos es...


- Un paradigma de programación, es decir, un modelo o un estilo de programación que nos da
guías sobre cómo trabajar con él.

Un Objeto en POO es…


- Una entidad de la vida real, es decir, alguno de los objetos únicos que pertenecen al problema con
al que nos enfrentamos, y con el que podemos interactuar.

- Cada objeto, de igual modo que la entidad de la vida real a la que representa, tiene un estado
(atributo) y un comportamiento (funcionalidades o métodos).

- Los objetos están representados por un conjunto de propiedades, a los cuales denominamos
Atributos, por otra parte, al comportamiento que tendrán estos objetos se denomina métodos

Una Clase en POO es…


- Una construcción que permite crear tipos personalizados propios mediante la agrupación de
variables de otros tipos, métodos y eventos. Una clase es como un plano.
- Define los datos y el comportamiento de un tipo.
- Una Clase está íntimamente relacionado con un Objeto. Podemos definir una clase como una
plantilla (o modelo) a partir de la cual se crean los objetos.
Un Caso de uso es:

- Una secuencia de acciones que un sistema lleva a cabo dando una salida de trabajo para alguien
o algo fuera del sistema que interactúa con el sistema

Indique cual definición NO se relaciona con Historia de Usuario


- Métodos de percepción y de captación de información acerca del mundo que rodea al individuo

TEST 1.4 - Observación

La observación es:
- La capacidad del ser humano de mirar con atención y de distinguir un objeto, una persona o una
situación, a través del sentido de la vista

Los Tipos de observador son:


- Observador directo o indirecto

“La observación se puede usar para levantar requerimientos para un sistema de forma...”
- Activa y pasiva

Indique cual NO es una práctica para mejorar la observación:


- Gestual y verbal

Las 4 tareas automáticas que realizamos al observar una situación:


- Orientación – Posición – Identificación – Dirección

Cuales pasos de la resolución faltan en el siguiente listado: Identificar el problema - Describir el


problema - Soluciones opcionales - Plan de Acción
- Toma de decisiones y Analizar la causa

Indique qué definición es incorrecta:


- Divergencia: originalidad, flexibilidad y enfoque

El Mindmapping es:
- Una representación simplificada de la realidad, de las asociaciones instantáneas o simultáneas
que hacemos cuando pensamos en algo.

TEST 1.5 - Comunicación con Stakeholders y el equipo

Cuál de las siguientes afirmaciones es falsa:

El 57% de los proyectos exitosos lo hacen por fallas de comunicación.

¿Cuál de las siguientes habilidades NO SON SOFT?


Conocimientos en bases de datos y programación.

¿Cuál es la definición de un stakeholder en un proyecto?


Parte interesada, grupos u organizaciones que se están involucrando en el desarrollo del
proyecto.

¿Qué métodos de comunicación puede haber en un proyecto?


Comunicación interactiva, tipo push y pull

NO SON PRINCIPIOS BASICOS para que las reuniones sean eficientes:


Puede asistir cualquier persona del proyecto.

“La comunicación efectiva hace referencia a...”


La necesidad de que el emisor codifique adecuadamente el mensaje y utilice los mejores medios
para su envío.

TEST 1.5 - Entendimiento de un negocio, workflow y su información

Indique cuál ORACION ES FALSA de definición de Modelo de negocios:

Es el plan de negocios que se formaliza para poder llevar adelante las entradas y salidas

Indique cuales son los tres pilares básicos en un modelo de negocio:


- Creación de valor,
- clientes y
- Rentabilidad

Las principales áreas en un modelo de negocio son:


Infraestructura, oferta, clientes y ecuación de beneficios

Las principales cuestiones en un modelo de negocio son:


- ¿Qué hace la empresa y cómo gana dinero haciendo lo que hace?
- Cómo, qué, quién y para quién, y cuánto.

¿Qué es el modelo CANVAS?:


- Es un cuadro dividido en 9 etapas para elaborar y visualizar el modelo de negocios sin ninguna
dificultad.
- Es un mapeo general de la empresa.
- Es la base sobre la que se asienta el proyecto y construye valor para los usuarios.

Indique por cuál etapa debe iniciar el análisis/armado de un CANVAS: referencia a..
- Propuesta de valor

Indique cuál definición es INCORRECTA:


- Retroalimentación: entradas que modifican el funcionamiento futuro del sistema sin tener en
cuenta las salidas anteriores.
Indique a cuál definición se corresponde SaaS:
Es el modelo de negocios que ofrece al cliente el acceso a una plataforma a través de un cobro
mensual, la entrega es hecha online y todo el mantenimiento es responsabilidad de la empresa.

TEST 2.1 - Conceptos de calidad de Software

La calidad de software es...


- El grado de satisfacción que produce al cliente
- Que “el sistema se adecue al usuario”, y el cliente define la calidad del producto o servicio en base a
qué tan bien satisface sus necesidades.
- Cumplir con los requerimientos y que sean medibles

Responsables de asegurar la calidad en un proyecto:


- Todos los involucrados en el proceso de desarrollo del proyecto

Características especiales del software


- Es un producto lógico, mental, intangible, sin existencia física
- Su mantenimiento es mucho más complejo que el mantenimiento del hardware
- Es engañosamente fácil realizar cambios sobre un software (impacto)

¿De qué depende la calidad del software?


- Calidad del producto, proceso y de la Información

Las acciones básicas para lograr la Calidad del Software son...


→ Preventivas
→ Detectivas
→ Correctivas

Si un proceso se revisa y mejora de forma constante nos puede dar muchos beneficios, tales
como...
- Satisfacción del cliente y los empleados

Tipos de costos de la calidad:


- Costos de prevención
- Costo de corrección de fallas interna
- Costo de fallas externas

TEST 2.2 - ¿Qué es poner a prueba? -

Cuál es la forma en que se hacen las pruebas:


- Es la forma de asegurarse que lo que queremos que haga nuestro sistema, lo haga, y lo haga sin
errores.

Responda la respuesta correcta para evaluar el funcionamiento adecuado:


- Si cuando el software tiene que compartir información con otro sistema, continúa funcionando
correctamente
- Si el usuario tiene que introducir datos, el software actúa de forma correcta y los datos se almacenan
de forma segura en la base de datos.
Indique cual es la respuesta incorrecta o falsa:
- Los testers no suelen tener tiempo para probar todas las combinaciones posibles de las acciones que
pueden aplicarse con un software.
- Los testers mantienen un registro detallado las pruebas que realizan para ello pueden usar un sistema
para ir ejecutando y guardando los resultados y evidencia encontradas.
- Las actividades de testing existen después de ejecutar el código y las pruebas

Un error es...
- Desviación del comportamiento/incumplimiento de requerimientos.

Ley de Pareto:
- El 80% de los errores de un sistema es generado por un 20% del código del sistema, mientras que el
otro 80% genera tan solo un 20% de los errores.

Un Defecto es:
- Desperfecto en un componente que puede causar que el mismo falle en sus funciones.

Revisión:
- Evaluación de un producto o del estado de un proyecto para detectar discrepancias con los
resultados planificados y para recomendar mejoras

La depuración es:
- El Proceso de encontrar, analizar y eliminar las causas de los fallos en el software.

TEST 2.3 - ¿Por qué son necesarias las pruebas?

Los objetivos de testear son:


Encontrar y evitar los defectos y ganar confianza acerca del nivel de calidad y proporcionar información

Las causas de los defectos en el software son...


→ Fallas humanas,
→ Causas en condiciones ambientales negativas y
→ Defecto en el código

Un Atributo de calidad es:


Una propiedad medible de un sistema, que indica qué tan bien el sistema satisface las necesidades de
las partes interesadas

Las pruebas son necesarias para...


- Descubrir situaciones en las que el comportamiento del software es incorrecto, indeseable o no
se ajusta a su especificación.

“No encontrar (más) defectos es...”


- Un criterio apropiado para finalizar las actividades de pruebas.

Clasificación del origen de los errores:


- Requerimientos: No entender lo que pide negocio. O los representantes del negocio no saben lo
que deben pedir ni sus prioridades. O los requisitos se documentan mal y por ello el programador
hace algo que no es lo correcto.
- Diseño: Errores en el planteamiento del diseño de la aplicación que luego llevan a cambios
cuando son detectados.

Los costos de eliminar defectos...


- Se incrementan con el tiempo de permanencia del defecto en el sistema

Rol del Desarrollador en un proyecto:


- Programan los requerimientos solicitados, realizando pruebas básicas como de escritorio para
validar que el sistema hace lo que se pide y pruebas de integración con el resto del código para ver
que no rompa lo ya realizado

 Indique a que beneficio de hacer pruebas corresponde: “Las pruebas de software permiten
ofrecer una mejor experiencia de usuario”
Satisfacción del cliente

TEST 2.4 - Siete Principios de las pruebas

Los siete principios de las pruebas son...


1 → Las pruebas muestran la presencia de defectos, no su ausencia
2 → Las pruebas exhaustivas son imposibles
3 → Las pruebas tempranas ahorran tiempo y dinero (Early Testing)
4 → Agrupación de defectos
5 → Cuidado con la paradoja del pesticida o insecticida
6 → Las pruebas dependen del contexto
7 → La falacia de ausencia de errores

“Un tester diseña las pruebas que sistemáticamente saquen a la luz diferentes clases de errores,
haciéndolo con la menor cantidad de tiempo y de esfuerzo”

“El objetivo de las pruebas es encontrar cada vez más defectos ocultos utilizando diferentes técnicas y
métodos”

“Probar todas las combinaciones de entradas y precondiciones no es posible, excepto en casos


triviales”

“Normalmente probamos lo más riesgoso o aseguramos cierto porcentaje de calidad en el software”

Las pruebas exhaustivas son…


- El enfoque donde el conjunto de pruebas abarca todas las combinaciones de valores de entrada y
precondiciones.

Explosión de casos de prueba (test case explosión):


El incremento exponencial de esfuerzo y coste en el caso de pruebas exhaustivas.
Mientras más avanzado este el proyecto más caro sale arreglar los errores hallados

Los testers deben participar desde que se finalicen los requisitos

Los estados de un caso de prueba al finalizar:

→ Pasado,
→ Fallado,
→ Bloqueado,
→ N/A (No aplica)

El agrupamiento de defectos va cambiando con el tiempo, por lo cual hay que concentrarse en los
puntos calientes.

Es necesario cambiar las pruebas y los juegos de datos de prueba existentes para poder encontrar
nuevos defectos

TEST 2.5 - STLC (Software Testing Life Cycle)

El Ciclo de vida de pruebas de software es...


- Una serie de actividades o pasos específicos que realizamos para pruebas de software

Las Fases del STLC son…


→ Análisis de Requerimientos
→ Planeamiento de pruebas
→ Desarrollo de casos de prueba
→ Configuración del entorno de pruebas
→ Implementación
→ Cierre del ciclo de prueba

Los criterios de entrada son…


- Los criterios que indican los requerimientos que debemos cumplir antes de que puedan
comenzar las pruebas.

Los TDM o Gestores de testeo de datos son


- Modelo que asegura que las BDs de los ambientes de prueba contienen todo lo necesario para
hacer buenas pruebas, procurando velocidad, eficiencia y el despliegue continuo de software.

En la fase de Pruebas de la fase de requerimientos


- Se define qué se probará

factores afectan la identificación de las condiciones de pruebas:


- Complejidad del producto
- Riesgos de los proyectos
- Ciclo de vida del desarrollo del software involucrado

Una Matriz de Trazabilidad de Requerimientos (RTM):


→ Es un documento que mapea y rastrea los requerimientos del usuario con casos de prueba.
→ Es una tabla bidimensional que contiene la correspondencia de los requisitos funcionales del
producto y los casos de prueba preparados.
→ debe asignar cada requisito con el caso de prueba apropiado. Nos ayuda a verificar si hemos
cubierto todos los requisitos en nuestros casos de prueba o no.
→ Ayuda en la reelaboración o las próximas versiones sucesivas de un proyecto.
El cliente puede verificar fácilmente nuestro estado de cobertura y conocer nuestro proceso de
prueba

Un escenario de prueba es...


La representación de uno o más flujos de negocio o flujos críticos que se ejecutarán de forma
concurrente sobre la infraestructura objetivo por uno o más usuarios virtuales

Un Caso de prueba es...


- Un documento/plantilla cargada en un sistema de gestión de pruebas, que consiste en un
conjunto de variables y condiciones en las cuales la viabilidad de una aplicación de software debe
predeterminarse para verificar su funcionalidad

La Trazabilidad bidireccional…
- Garantiza que todos los requerimientos estén cubiertos por casos de prueba

Sobre que base se planifican las pruebas en STLC


Pruebas de estrategia de la empresa, requerimientos y análisis de riesgos

Define la fase de desarrollo de caso de pruebas


Implica la creación, verificación y reelaboración de casos de prueba una vez que el plan de prueba
está listo

La Fase de configuración del entorno de pruebas…


Decide las condiciones de software y hardware en las que se prueba un producto de trabajo

TEST 2.6 – Proceso de pruebas

Las Fases del proceso de pruebas son :


→ Planificación de pruebas y control.
→ Análisis y diseño de pruebas
→ Implementación y ejecución de pruebas
→ Evaluación del criterio de finalización de pruebas y generación de informes de pruebas
→ Actividades de cierre de pruebas

La fase de planificación de pruebas es…


→ La actividad de definir los objetivos de las pruebas y la especificación de las actividades de
prueba con vistas a cumplir los objetivos y la misión establecidos.
→ abarca la definición del enfoque, alcances y límites de las pruebas para todas las fases así
como la planificación de los recursos según el proyecto (tiempo, profesionales, entregas,
dispositivos, etc)

El control de pruebas es...


→ Una actividad constante de comparar el progreso real con al plan previsto, incluyendo la
existencia de desviaciones con respecto a lo planificado
→ Consiste en el control de las actividades que cubren todas las fases del proceso de pruebas, así
como el análisis de los reportes de resultados

El Plan de pruebas maestro (master test plan) es...


un documento en el que se describe el alcance, enfoque, recursos y calendario (schedule) de las
actividades de pruebas previstas.

“El plan de pruebas maestro puede…”


- Ser modificado en función de la información adquirida a partir del control de prueba

La Estrategia de prueba (test strategy) es…


→ Una descripción de alto nivel de los niveles de prueba a llevar a cabo y las pruebas asociadas a
ellos para una organización o programa
→ Se decide en función de la especificación de requisitos comerciales.
→ Es un documento vital que contiene todos los detalles del trabajo de prueba a realizar. Es un
documento de gestión completo.
→ Es un documento de alto nivel y, por lo general, lo prepara el director de prueba o el líder. Aquí
se deben mencionar el objetivo de la prueba, el enfoque de la prueba, el alcance de la prueba, los
criterios de entrada y salida, los tipos y niveles de prueba, los hitos, la dotación de personal, etc.

El Enfoque de prueba (test approach) es…


La implementación de la estrategia de prueba para un proyecto específico.

Los Criterios de salida (exit criteria) son…


Un conjunto de condiciones genéricas y específicas, acordadas con los involucrados, para evitar
que una tarea se considere concluida habiendo partes destacadas de la misma sin completar

El fase de Análisis y diseño de pruebas (especificación) es…


→ La actividad durante la cual los objetivos de las pruebas generales se transforman en
condiciones de prueba y casos de pruebas tangibles.
→ Incluye el diseño de casos de prueba, sus resultados esperados y su ordenamiento según la
estrategia de pruebas.

Diseñar pruebas/casos de prueba de alto nivel comprende...


→ Crear casos de prueba de lógicos/alto nivel (sin datos de prueba específicos)
→ Crear casos de prueba positivos o “camino feliz”
→ Crear casos de “prueba negativos”

Identificar y priorizar condiciones de prueba en base al:


→ Análisis de los elementos de prueba
→ Especificaciones de prueba
→ Comportamiento y estructura del software

Los Datos de prueba (test data) son...


Datos que existen en el sistema antes de que una prueba sea ejecutada, y que afectan o son
afectados por el componente o sistema sujeto a pruebas.
Los Datos de entrada (input data) son...
- Variables que son leídas por un componente (almacenadas tanto dentro como fuera del sistema)

La Cobertura de pruebas (test coverage) es...


El grado en el que un elemento especificado ha sido practicado por un juego de pruebas
(expresado como un porcentaje).

El Oráculo de prueba (test oracle) es…

→ Una fuente que permite determinar los resultados esperados de un software sujeto a pruebas:
comparativas (benchmarks) (también resultado de pruebas previas), manuales de usuario o
conocimiento especializado

→ Es lo que nos dice qué resultado debemos esperar ante determinadas entrada y condiciones de
ejecución

La fase de implementación y ejecución de pruebas es…


→ La actividad en la que se especifican los procedimientos o guías de prueba mediante la
combinación de los casos de prueba en un orden determinado y la inclusión de cualquier otra
información necesaria para la ejecución de las pruebas, se configura el entorno y se ejecutan las
pruebas.
→ La definición de datos de prueba, la ejecución de pruebas y la comparación de resultados

El Juego de pruebas / secuencia de pruebas (test suite / test sequence) es...


Conjunto de casos de prueba para un componente o sistema en prueba, donde la postcondición
de una prueba es utilizada como precondición de la siguiente.

La Especificación de procedimiento de pruebas es...


- Un documento que especifica la secuencia de acciones para la ejecución de una prueba.
También conocido como script de prueba o script de prueba manual (IEEE 829)

La Ejecución de pruebas (test execution) es...


- El proceso de practicar una prueba produciendo resultados reales.

El Registro de prueba (test log) es…


- El registro cronológico de los detalles relevantes respecto a la ejecución de pruebas.

La Repetición de pruebas (re-testing) es...


- Repetición de una prueba tras la corrección de un defecto con el objeto de confirmar que el
defecto/bug ha sido eliminado con éxito.

La fase de Evaluación de los criterios de salida e informes es...


→ La actividad que evalúa la ejecución de pruebas contra los objetivos definidos. Esta evaluación
debe hacerse para cada nivel de prueba.
→ es la evaluación del criterio de salida y el registro de los resultados de pruebas.

Informe de resumen de la prueba:


- Resume todas las actividades de prueba realizadas y los resultados de la prueba se compilan en
él. Toda la información de la prueba, como los miembros involucrados en la prueba, los objetivos,
el alcance, los detalles del cliente, el enfoque de prueba utilizado, los resultados de la prueba, el
informe de defectos, etc., deben mencionarse aquí. También se pueden mostrar métricas de los
resultados obtenidos, considerando fechas de alcance de este.

La fase de Actividades de cierre de pruebas (test closure) es...


La fase donde se recopilan los datos de aquellas actividades de pruebas finalizadas con el
objetivo de consolidar la experiencia, los productos de soporte de pruebas, los hechos y las cifras
o números.

Informe de cierre de la prueba:


→ Proporciona un análisis detallado de la ejecución de las pruebas.
→ Deben mencionarse los defectos encontrados y reparados.
→ La cobertura general de los requisitos se ve en este informe.
→ Generalmente lo prepara el líder del equipo o referente de Testing.
→ Todos los criterios de salida deben cumplirse en consecuencia.

“El análisis de impacto se utiliza para...”


- Determinar las áreas afectadas con el objeto de decidir la cantidad de pruebas de regresión.

La trazabilidad es…

→ el camino para desarrollar requisitos de sistemas desde las necesidades del negocio, puede ser
como un laberinto, por lo cual hay que marcar el camino a medida que se implementa la solución
para no perder el rastro.

→ es una actividad importante en el desarrollo de software ya que permite analizar el impacto de


cambios de requisitos originados por el cliente o el entorno del negocio, como así también estimar
el esfuerzo al realizar el mantenimiento.

→ es la capacidad de describir y de seguir la vida de un requisito, tanto en dirección hacia


adelante y hacia atrás, es decir, desde sus orígenes, a través de su desarrollo y especificación, a su
despliegue o puesta en producción y uso subsecuentes, y a través de períodos

Un Entregable es…

- Un producto de trabajo que proporciona una descripción y una definición del empaquetado de
otros productos de trabajo y puede entregarse a una parte interna o externa. Por lo tanto, un
entregable agrega otros productos de trabajo.

- Los productos, servicios y resultados que producimos en un proyecto

- Productos intermedios que generan las fases, pueden ser materiales e inmateriales.

Entregables de prueba importantes:


→ Estrategia de prueba
→ Plan de prueba y estimación
→ Escenario de prueba
→ Casos de prueba y datos de prueba
→ RTM
→ Informe de resumen de la prueba
→ Informe de cierre de prueba
→ Reporte de incidente

Reporte de incidente (bloqueante)


Al realizar la ejecución de la formación, si un usuario encuentra defectos, se debe generar un
informe de incidente (IR). Esto significa que hay uno o más bugs graves o bloqueantes y, por
tanto, se debe detener la ejecución. Ahora tenemos que presentar un informe de incidente
con evidencias de los errores para avisar al equipo de desarrollo de la situación. Este tipo de
errores bloqueantes pueden llegar a parar la entrega al cliente.

TEST 2.7 – Casos de Prueba

Un caso de prueba (test case) es…

→ Un conjunto de valores de entrada, precondiciones de ejecución, resultados esperados y


postcaso de prueba condiciones de ejecución, desarrollados con un objetivo particular o condición
de prueba, tal como ejercitar un camino de un programa particular o para verificar que se cumple
un requerimiento especifico (IEEE 610).
→ Es un proceso cíclico que permite verificar si un requerimiento o cambio en el sistema es correcto o
no.
→ Consiste en tres valores: acciones, datos y resultados esperados.

→ Debe ser Auto explicativo y fácil de entender

→ Deben ser finitos, cuantos menos y mejor diseñados, es mejor

→ buscan errores, queremos el menor número de casos de prueba que encuentre la cantidad
máxima de errores

→ Un conjunto de pasos y resultados esperados que se crean a partir de los requisitos del software
que se va a probar.

Fórmula de un caso de pruebas:

Entradas + Precondiciones = Salidas + Postcondiciones

Variantes de comprobación de cumplimiento de sistema:

VERIFICACION → Cómo lo hace


VALIDACION → Qué hace

Diferencia entre casos de prueba y scripts de prueba.

→ Un script de prueba es un programa corto destinado a probar ciertas funciones.

→ Un caso de prueba es un documento con pasos que deben completarse segun lo planeado con
anticipación.
Beneficios de las pruebas en el software

→ Asegura funcionalidad completa


→ Alerta temprana:
→ Reconstrucción de código

Buenas prácticas

→ Al menos dos casos de prueba para cada requerimiento.


→ Escribir casos de pruebas para entradas validas y esperadas - prueba positiva o happy
path (flujos básicos).
→ Mantener un repositorio estándar de casos de prueba reutilizables
→ Crear una lista de verificación
→ Definir la prioridad de las pruebas

La Lista de verificación ayuda a


- Completar la redacción de casos de prueba rápidamente para nuevas versiones de la aplicación

El Objeto de prueba es…

- el componente, subsistema o sistema a ser probado

¿Por qué cuesta mucho hacer un caso de prueba?


→ Cuesta esfuerzo para generarlo y evaluar los resultados
→ Tiempo para prepararlo y hacer seguimiento de los errores hallados

Los 3 problemas más comunes en casos de prueba:

→ Pasos compuestos
→ El comportamiento de la aplicación se toma como comportamiento esperado
→ Varias condiciones en un caso

Tipos de Mantenimiento en el desarrollo de un sistema:

→ Correctivo → Realiza cambios precisos para corregir errores del producto de software.

→ Evolutivo → Incorporaciones, modificaciones y eliminaciones necesarias en un producto de


software para cubrir la expansion o cambio en los requerimientos del usuario

→ Adaptativo → Modificaciones que afectan los entornos en los que el sistema opera.

→ Perfectivo → Acciones llevadas a cabo para mejorar la calidad interna de los sistemas en
cualquiera de sus aspectos

Información que debe contener un caso de prueba:

→ Identificador,
→ Conjunto de prueba,
→ Nombre de la funcionalidad,
→ Prioridad
→ Requisitos
→ Necesidades de ambientes,
→ Configuración,
→ Precondiciones,
→ Resultado esperado,
→ Valores de entrada
→ Dependencias

Las evidencias de una prueba son…


Resultados que se adjuntan con fotos o videos de los resultados, mostrando los pasos realizados

Conviene usar escenarios de prueba cuando…

- Las reglas de negocio son complejas, cuando el sistema cambia rápidamente y cuando no se
pueden reutilizar los casos de prueba.

La cobertura es…
- Una forma de indicar cuándo probamos suficiente, o para tomar ideas de qué otra cosa probar

Significado de BAOE:

- Básico, alternativo, opciones y excepciones

Pasos o longitud que debe tener idealmente un caso de prueba:


- Entre 8 y 16 pasos

Si un cambio se presentara en la lógica de programación del sistema, es posible realizar las


modificaciones necesarias sin grandes complicaciones...

- En este caso deben adaptarse o rehacerse los casos de prueba.

TEST 2.8 – Generación de Datos

Pasos básicos de diseño de pruebas:

1. Identificar Variables → Clases de equivalencia


→ Valor Límite
2. Seleccionar Valores Interesantes
3. Combinación de Valores → No ocultamiento de errores
→ Combinación por pares
4. Calcular Valores Esperados

Seleccionar Valores Interesantes es...


- Utilizar para cada variable distintos datos que sean interesantes desde el punto de vista del
testing.

Las Clases de equivalencia son:

- La clasificación de valores equivalentes para los que un objeto se espera que se comporte de
forma similar.
- Se pueden aplicar para ayudar en el análisis de las pruebas más significativas que deben llevarse
a cabo cuando hay demasiadas pruebas potenciales que se pueden ejecutar en el tiempo
disponible.

Las Estrategias prueba de partición de equivalencia son...

1. Partición de clase Reduce el número total de casos de prueba necesarios al particionar las
de equivalencia condiciones de entrada en un número finito de clases de equivalencia.
Las clases de equivalencia pueden ser:
- Válidas → con valores de entrada válidos
- No Válidas → representan los valores de entrada que son erróneos
2. Análisis de valor de Tomar los valores que se encuentran inmediatamente por encima o por
límite debajo del límite o los "bordes" de cada clase de equivalencia.
3. Valores especiales

Un Caso de prueba abstracto o de alto nivel es...


- Un caso de prueba sin valores concretos (nivel de implementación) para datos de entrada y
resultados esperados. Se utilizan operadores lógicos, las instancias de los valores reales no se
han definido aún y/o no están disponibles.

Un Caso de prueba especifica o de bajo nivel es...


- Un caso de prueba con valores específicos, que comunica las condiciones específicas que deben
validarse para habilitar una valoración de algunos aspectos concretos de los elementos del
destino de la prueba.

Los Atributos de los datos de Prueba son:


Profundidad → grado de variación de los datos de prueba
Ámbito → aplicabilidad de los datos de prueba al objetivo de la prueba
Extensión → Grado de variación de los valores de los datos de prueba
Arquitectura → estructura física de los datos de prueba

Los Datos de Prueba (test data) son...


- Los datos que existen antes de que una prueba sea ejecutada, y que afecta o es afectado por el
componente o sistema a probar.

Obtención de datos:
- Proceso de detectar los metadatos de los sistemas de origen que incluyen contenido, como
valores y frecuencias de datos, y la estructura como claves principales, claves externas y
dependencias funcionales.

Generación de datos:
- El proceso para generar datos de prueba realistas para el entorno de prueba sin utilizar los
datos de producción.

Enmascaramiento de datos:
- Proceso de sustitución de las columnas sensibles de los datos de origen con datos de prueba
realistas.

Test Data Manager (TDM):


- Interfaz de usuario basada en web que se utiliza para configurar y ejecutar subconjuntos de
datos, enmascaramiento de datos y operaciones de detección.

Administración de Datos de Prueba (TDM):


- Solución de informática que empaqueta operaciones de subconjuntos de datos, generación de
datos y enmascaramiento de datos con el fin de proteger datos confidenciales y crear sistemas
Lean ajenos a producción para prueba y desarrollo.

TEST 2.9 – Ambientes de prueba

Un ambiente es…
- El hardware y software donde se ejecuta una aplicación.

Pruebas en el ciclo de producción:


- Los ambientes de prueba son una parte de la fase de ensayos en el ciclo de producción.
Antes de la fase de ensayos viene la fase de desarrollo opcional, durante la cual programadores
individualmente hacen varios cambios en el código fuente. La fase de integración combina estos
cambios en el entorno de integración en preparación para el ambiente de prueba, donde se
prueban estos cambios. La producción representa el ciclo final.

Función de los ambientes:


- Pueden ser utilizados para actividades de pruebas de aceptación del usuario.

“Con un entorno inestable...”


- Un tester reporta falsos negativos o también positivos, reporta errores que al final no lo son

La homologación es…
- Realizar comparaciones periódicas de la configuración de ambientes

Middleware:
- Es software que se sitúa entre un sistema operativo y las aplicaciones que se ejecutan en él.
Funciona como una capa de traducción oculta para permitir la comunicación y la administración
de datos en aplicaciones distribuidas.

Interfaz:
- Conexión física o lógica en la cual se conectan el Hardware (es decir, todos los componentes
físicos del equipo) con el Software, que comprende las aplicaciones, programas y herramientas
que estén presentes.

Demonio:
- Programa no interactivo (es decir, que el usuario no puede controlar directamente) que se
encarga de procesos del sistema en un segundo plano. Por ejemplo: demonios de impresiones
masivas de impuestos.
- Un demonio se instala en producción sólo después que se instaló y probó en ambiente de
pruebas integrales.

FTP (File Transfer Protocol - Protocolo de Transferencia de Archivos)


- Es un servicio utilizado para el envío y obtención de archivos entre dos equipos remotos. Los
casos más comunes son transferencias entre el equipo local de un cliente y el servidor del
proveedor, aunque también se pueden establecer conexiones FTP entre dos servidores.

Patches (parches):
- Es una pieza de software (puede ser un programa o parte de él) que se puede descargar de forma
adicional en un paquete de programas, y que se instala en el original. Estos parches se usan para
hacer mejoras, actualizaciones, reparar errores o añadir una nueva funcionalidad.

Tipos de parches:
- Según criterios, pueden ser por tamaño o por propósitos (de traducción, seguridad, depuración y
actualización).

Plugin:
- Es aquella aplicación que en un programa añade una funcionalidad adicional o una nueva
característica al software. En nuestro idioma, por lo tanto, puede
nombrarse al plugin como un complemento, como por ejemplo en los navegadores web como
Mozilla Firefox o Chrome.

El A/B testing consiste en:


Comparar dos versiones de una misma página web o aplicación para comprobar cuál de las dos
versiones es más eficiente

“El testing en aplicaciones móviles es…”


- Más complicado que en la página web ya que no puedes mostrar dos versiones distintas una vez
que la aplicación ha sido instalada en el teléfono o tablet.

TEST 2.10 – Introducción a testeo manual y automatizado

Testing Manual:
- Los test cases son ejecutados por testers que tienen interacción directa con el software, en
muchos casos, utilizando herramientas adecuadas para cada propósito y cada tipo de testing
/estrategias establecidas en un Test Plan.

- El Tester se encarga de configurar un entorno en el que se llevará a cabo la ejecución de pruebas


haciendo un recorrido exhaustivo e interactivo con el software objetivo de las pruebas.

Prueba exploratoria:
- Es la prueba inicial de características nuevas. Dado que la funcionalidad involucrada es nueva y
no hay casos de prueba listos para usar, la automatización de este tipo de prueba es imposible, se
debe hacer siempre manualmente.
Pruebas de usabilidad y GUI visual:
- Probar interfaces de usuario y experiencias de usuario incluye una evaluación visual y requiere
observación humana.

Pruebas ad-hoc:
- Pruebas espontáneas que se realizan sin cumplir con los requisitos o la documentación y cuyo
objetivo es descubrir errores inesperados.

Pruebas de integración:
- Prueba la interacción entre dos o más elementos, que pueden ser clases, módulos, paquetes,
subsistemas, etc, incluso la interacción del sistema con el entorno de producción.

Pruebas unitarias:
- Consiste en aislar una parte del código y comprobar que funciona a la perfección. Son pequeños
tests que valoran el comportamiento de un objeto y la lógica.

Pruebas Repetitivas:
- Implican la ejecución de una sola tarea una y otra vez.

Pruebas de Rendimiento:
- Simulan la interacción de miles de usuarios simultáneos a la vez.

Ventajas del Testing Manual

↑ No requiere conocimiento en programación.


↑ Resultados desde una perspectiva humana (usuario final).
↑ Posibilidad de ejecución de pruebas exploratorias
↑ Comprensión y percepción directa del problema.
↑ Probar dispositivos móviles utilizando gestos.
↑ Recomendable para diseños GUI que cambian o actualizan de forma dinámica.
↑ Menor costo (no requiere herramientas y procesos de automatización).
↑ Se obtienen comentarios visuales rápidos y precisos
↑ Se puede probar manualmente sobre la marcha.

Desventajas del Testing manual:

↓ Menos confiable (un humano siempre es propenso a errores).


↓ No se puede registrar automáticamente, no es posible reutilizar la prueba manual ya ejecutada
(pero si el caso de prueba).
↓ Ciertas tareas son difíciles de realizar, lo que puede requerir un tiempo adicional de la fase de
prueba del software.
↓ Requiere más tiempo ejecutar mayor cantidad de casos de prueba que en automatización.

Testing Automatizado:
- Consiste en utilizar una o varias herramientas de software para hacer pruebas a otro Soft.
- No pueden realizarse solas sin realizar primero pruebas manuales
Propiedades que toda prueba automatizada debe cumplir:

◘ Concisa
◘ Auto-verificable
◘ Repetible
◘ Clara
◘ Específica
◘ Independiente
◘ Mantenible
◘ Rastreable

¿Cuándo implementar las Pruebas Automatizadas?


Las pruebas más relevantes para implementarla son:
* Pruebas de Regresión
* Pruebas de Carga
* Ejecución Repetitiva
* Pruebas de Rendimiento:

Las Pruebas de regresión (regresión tests) son...


- Pruebas a un programa previamente probado que ha sufrido modificaciones, para asegurarse
que no se han introducido defectos en áreas del software que no han sido modificadas como
resultado de los cambios realizados.

- Se utilizan para averiguar si una aplicación existente todavía funciona como se esperaba
después de haber sido actualizada o modificada

- Se llevan a cabo mediante la selección total o parcial de casos de prueba ejecutados


previamente.

Métodos principales de pruebas de regresión:


→ Volver a probar todos,
→ Selección de pruebas de regresión, lay finalmente
→ Priorización de los casos de prueba
→ Método híbrido

Criterios para la selección de casos de prueba de regresión:


1. Casos de prueba de prioridad alta
2. Probar solamente la funcionalidad estándar, saltarse casos o variaciones especiales
3. Probar solamente la configuración utilizada con mayor frecuencia
4. Probar solamente subsistemas / zonas seleccionadas del objeto de pruebas

Técnicas de regresión:

- Unitaria,
- Parcial
- Completa
La situación ideal según la Pirámide de Cohn es tener:

→ Muchas pruebas / verificaciones unitarias automatizadas durante el desarrollo.


→ Bastantes pruebas / verificaciones a nivel de API e integración de componentes y servicios
→ Menos test de interfaz gráfica/ verificaciones de GUI
→ Un nivel estable de pruebas automáticas, que vayan detectando los testers manuales y se
vayan automatizando paulatinamente.

Patrón cono de helado:


- Centrar el foco en muchas pruebas manuales y en automatizar pruebas de interfaz de usuario, y
nada de pruebas unitarias

Ventajas del Testing Automatizado

↑ Simplificación de tareas repetitivas


↑ Aumentar la Cobertura de las Pruebas
↑ Aumentan la velocidad de ejecución de las pruebas
↑ Encontrar defectos sutiles que son poco probables de encontrar
↑ Fiabilidad técnica en procesos y en operación de equipos.
↑ Reducción del tiempo empleado en procesar la información.
↑ No requiere de intervención humana,
↑ Minimiza los errores humanos al momento de la ejecución
↑ Facilita la integración de trabajo entre desarrolladores y testers.
↑ Puede ejecutarse una y otra vez luego de ser creado

Desventajas de las pruebas automatizadas:

↓ Es difícil obtener información sobre los aspectos visuales de la interfaz de usuario.


↓ Herramientas y mantenimiento costoso
↓ Tienen sus limitación (no son infalibles)
↓ La depuración del script o robot de prueba es otro problema importante.
↓ No siempre se cuenta con el tiempo y con el conocimiento para aplicarlas.

Framework de automatización:
- Se encarga de encapsular funciones genéricas y comunes del software que se requiera, a la vez
que estandariza la generación de código. Esto agiliza el alcance de requerimientos para así
disminuir el tiempo que se dedica a tareas de bajo nivel requeridas para el proyecto.

ROI (Return of Investment o Retorno de la inversión)


- Existe un alto ROI de la automatización de pruebas, es una buena inversión porque proporciona
Valor Comercial y Valor TI

El objetivo del DevOps (Developer Operations) es:


- Hacer más rápido el ciclo de vida del desarrollo de software y proporcionar una entrega continua
de alta calidad

La deuda técnica es…


- El costo y los intereses que se pagan por hacer mal las cosas. El sobre esfuerzo a pagar para
mantener un producto software mal hecho, y lo que conlleva, como el coste de la mala imagen
frente a los clientes, etc.

TEST 2.11 – Ejecución y fin de las pruebas

La implementación y ejecución de pruebas es:


- La actividad donde las condiciones son transformadas en casos de pruebas y componentes, y se
configura el entorno de pruebas.

Razones para modificar el software:


1 - Corrección de errores
2 - Extensión funcional.

Plan de pruebas: Establece la secuencia de las pruebas planificadas, quien debe realizarlas y"
cuando.

Test de confirmación:
- Pruebas que ejecutan aquellos casos de prueba que hubieran fallado la última vez que fueron
ejecutados con el objetivo de verificar el éxito de acciones correctivas, lo que el desarrollador
arreglo para que funcione según los requerimientos.

Criterios de entrada:
- Definen cuándo comenzar a probar, como al inicio de un nivel de prueba o cuando un conjunto de
prueba está listo para su ejecución.

Criterios de salida de las pruebas:


- Indican la finalización de una fase de pruebas, deben ser establecidos para cada nivel de
pruebas.

Tasa de detección de errores:


- Cae debido a un valor predeterminado, por ejemplo, las pruebas han sido suspendidas si se han
detectado menos de un error por hora.

Economía del proceso de pruebas:


- Un grado creciente de la calidad representa un coste más bajo del error, pero costes más altos
en prevención de errores. Es definido y redefinido en los planes de prueba y diseños de prueba

Enfoque de prueba / estrategia de prueba:


- Es la implementación de la estrategia de prueba para un proyecto específico.

Tipos de Enfoque de Prueba:


♦ Enfoque preventivo → Las pruebas son disenadas tan pronto como sea posible
♦ Enfoque reactivo → Primero el software / sistema, luego el diseño de pruebas
♦ Enfoque analítico (arranca con prioritario) → Se realiza un análisis previo a las pruebas
♦ Enfoque heurístico (arranca con lo más simple) → Las pruebas son mas reactivas
Condiciones para que exista falla en la ejecución de un código:
- Alcanzabilidad,
- Necesidad y
- Propagación.

¿Cómo saber cómo vamos en la ejecución de las pruebas?


- Por la Velocidad, que es cuánto trabajo se ha completado en un intervalo de tiempo.

Severidad:
- Grado de impacto que un defecto tiene en el desarrollo u operación de un componente del
sistema.
- Depende de las funcionalidades y de en qué medida afecta el defecto al sistema.

Tipos de Severidad:
- Critical
- Major/High
- Moderate/Medium
- Minor/Low
- Cosmetic/Look & Feel

Prioridad:
- Describe cuán importante es corregir el defecto.

- Es qué tan importante es para el negocio o cliente que se corrija el error

Tipos de Severidad:
- Inmediate
- High
- Medium
- Low

Defecto:
- Error encontrado después de subir la aplicación a producción.

Bug:
- Error encontrado antes de subir la aplicación a producción.

GUIA 2.12 – Testeo de usabilidad y testeo cruzado de browsers

Una Interfaz de Usuario (User Interface / UI) es:


- El medio a través del cual el usuario interactúa con un dispositivo tecnológico. Esto abarca todos
los puntos de contacto entre la persona y el equipo.

Relación entre interfaz de usuario y experiencia del usuario?


- La experiencia del usuario hace referencia a la manera en que una persona percibe y siente su
interacción con algún canal online, principalmente una página web o blog.

¿Qué es la Usabilidad?
- La facilidad de uso de una herramienta. Abarca tanto la experiencia del usuario como la sencillez
para lograr un objetivo por medio de un sistema o dispositivo, por lo que es aplicable tanto a
software como a hardware.

¿Qué toma en cuenta la Cuál es su importancia? Cuándo se considera la


Usabilidad? usabilidad?
- Rapidez y facilidad de hacer las - Una reducción de los costos de - Independientemente del
cosas producción. método de desarrollo del
- Aproximación al usuario - Reducción de los costos de sistema, idealmente debe de
- Conocimiento del contexto de uso mantenimiento y apoyo. considerarse a la usabilidad
- Satisfacer las necesidades del - Reducción de los costos de uso a lo largo de todo el
usuario - Mejora en la calidad del proyecto
- Los usuarios son los que producto Para así no tener que hacer
determina si el producto es fácil de cambios drásticos en etapas
usar futuras del sistema

Los 10 principios de la usabilidad:


1. Visibilidad del estado del sistema
2. Relación entre el sistema y el mundo real
3. Control y libertad del usuario
4. Estándares y consistencia
5. Prevención de errores
6. Reconocimiento en vez de recuerdo
7. Flexibilidad y eficiencia en el uso
8. Diseño minimalista y estético
9. Asistencia a los usuarios para reconocer, diagnosticar y corregir los errores.
10. Ayuda y documentación

Errores de usabilidad:
1.- Errores de coherencia y consistencia en el desarrollo y diseño de la web
2.- No contar con un diseño responsive
3.- Deficiente organización de la estructura y los contenidos de la web
4.- Textos e información poco legible o mal estructurada en la web
5.- Incorrecta gestión y control de enlaces internos
6.- Errores de formulario y contacto
7.- Falta de mecanismos de búsqueda interna o su ineficiencia
8.- Los usuarios, debido en gran medida a los dispositivos móviles, se han habituado a hacer clic
sobre el logotipo de la empresa para volver a la home.
9.- No ofrecer la posibilidad al usuario de poder navegar con la tecla "Tab"
10.- Velocidad lenta de carga

Pruebas de usabilidad:
- Son el método para evaluar la experiencia del usuario de un producto o sitio web
- Evalúan el grado en que el sistema puede ser utilizado por usuarios específicos con efectividad,
eficiencia y satisfacción en un contexto de uso específico.

Métricas de usabilidad:
1. Eficacia → facilidad que los usuarios tienen al visitar un sitio web
2. Eficiencia → nivel de esfuerzo que el usuario realiza para navegar por un sitio web.
3. Satisfacción → del usuario con respecto al sitio web

Pruebas cruzadas de browsers:


- Intentan garantizar que un sitio o aplicación web funcione correctamente en todos o la mayoría
de los browsers o navegadores.

¿Por qué son importantes las pruebas cruzadas?


- Los diferentes browsers presentan el contenido web con algunas diferencias, sobre todo de
estilo. Las pruebas cruzadas son muy recomendables cuando dentro de los requisitos del
proyecto se incluye la compatibilidad con más de un buscador.

Estrategias para la realización de las pruebas de browsers,


Considerar:
- Velocidad
- Privacidad
- Seguridad
- Uso de Recursos

TEST 2.13 - Psicología de las pruebas: factores psicológicos y mindset para testear

Roles:
Desarrollador o Programador Tester
- Implementa requisitos - Planifica las actividades de pruebas
- Desarrolla estructuras - Diseña y ejecuta casos de prueba
- Diseña y programa el software - Su preocupación es encontrar defectos
- Su éxito consiste en la creación de un producto - Encontrar errores producidos por un
- Percepción = su actividad es constructiva desarrollador es su éxito
Las pruebas también constituyen una actividad
constructiva, su propósito es la detección y
previsión de defectos en un sistema

Responsabilidades del Tester


- Comprender y profundizar los requerimientos del proyecto, analizando y conociendo el negocio
del cliente.
- Identificar las pruebas que se requiere llevar a cabo y los entregables requeridos.
- Analizar el ambiente en el cual se desarrollarán las pruebas.
- Estimar las tareas de testing a realizar.
- Contar con una base de datos de prueba para no “ensuciar” la base de datos del ambiente de
Preproducción del cliente.
- Dar soporte al cliente en el entendimiento del sistema cuando lo deba probar en Preproducción
- Realizar las demos del sistema ante el cliente, armando un guion para mostrar que
todo funcione, inclusive cargando datos de prueba
- Construir/ colaborar en el armado del plan de testing
- Coordinar e incluir el test en el proyecto y su documentación.
- Realizar I&D o Investigación y Desarrollo, del tipo de negocio, tipos de pruebas, de las
herramientas y arquitecturas
- Participar en la revisión de los requisitos del sistema.
- Participar en el armado del proceso de testing y su documentación, así como sus métricas
- Identificar el acercamiento más apropiado para implementar una prueba en particular
- Diseñar y revisar los casos de prueba (antes de ejecutarlos)
- Ejecutar las pruebas y sus juegos de datos.
- Registrar resultados y armar reportes de errores con evidencias de estos. También se debe
indicar cuando una prueba es ejecutada y no arroja error.
- Análisis y recuperación de errores de ejecución.
- Comunicar los resultados de las pruebas al equipo.
- Seguimiento y re-testeo de los errores reportados hasta su solución.

Aprender a lidiar con los defectos de forma constructiva:

- Aceptar y esperar errores / defectos.


- Los errores son naturales – hagamos un plan para ellos
- Centrarse en el problema a resolver.
- Aprender de los errores / defectos
- Es importante que colaboren: trabajar hacia una meta común, la calidad del producto o sistema.

Plan de pruebas:
- Traza la clase de pruebas que se han de llevar a cabo, y un procedimiento de prueba define los
casos de prueba específicos en un intento por descubrir errores de acuerdo con los requisitos.

- Su propósito es explicitar el alcance, enfoque, recursos requeridos, calendario, responsables y


manejo de riesgos de un proceso de pruebas.

Diseñar y revisar los casos de prueba (antes de ejecutarlos),


Lo ideal es revisar los casos de pruebas al menos 3 veces a través de:
- Autoevaluarse.
- Revisión por pares.
- Revisión por parte de otros QA con más seniority para verificar la integridad, la cobertura de la
prueba, la trazabilidad, entre otros temas.

Cuando se planifica el test se deben ejecutar tareas:


▪ Determinación de la propuesta del test
▪ Determinación del alcance y riesgos, e identificación de objetivos de la prueba.
▪ Determinación de los recursos requeridos
▪ Implementación de las políticas de la prueba y/o la estrategia.
▪ Planificación del análisis de la prueba y las tareas de diseño.
▪ Planificación de la implementación del test, ejecución y evaluación.
▪ Determinación del criterio de salida.
Riesgos identificados en el proceso de pruebas

▪ Dependencias con desarrollos.


▪ Dependencias de otros proyectos.
▪ Falta de ambientes de prueba estables y aislados
▪ Juegos de datos inadecuados
▪ Disponibilidad de recursos.
▪ Restricciones de tiempo.
▪ Premisas que resulten no ser ciertas.

El aseguramiento de la calidad (QA) es: el esfuerzo total para plantear, organizar, dirigir
y controlar la calidad en un sistema de producción con el objetivo de dar al cliente
productos con la calidad adecuada.

QA es proactivo ya que trata sobre los procesos y cómo prevenir defectos

El control de calidad (QC) son todos los mecanismos, acciones y herramientas que
se utilizan para detectar la presencia de errores.

QC es reactivo, ya que trata sobre los productos y como encontrar defectos (testea productos
ya desarrollados)

Técnicas de estimación de testing:


1. Análisis de puntos funcionales:
2. Desglose de trabajo
3. Planificación Póker
4. Método Delphi
5. Tres puntos (Optimista, Pesimista, Realista)

Perfil de un tester:

- Capacidad de abstracción y modelado


- Capacidad de aprender rápidamente.
- Curiosidad e intuición
- Facilidad de comunicación oral y escrita
- Capacidad de actuar bajo presión
- Pensamiento crítico
- Pragmatismo para poner en práctica las ideas y adecuar las técnicas y el esfuerzo al alcance del
proyecto.
- Aptitudes para el trabajo en equipo
- Pasión o actitud

Características personales de un buen tester


♦ Comunicativo.
♦ Curioso, perceptivo, atento a los detalles
♦ Escéptico y con actitud crítica
♦ Experiencia

Dificultades:
♦Incapacidad de comprensión mutua.
♦ Lograr la distancia apropiada con respecto al objeto de prueba.
♦ Los objetivos comunes siempre deben ser la cuestión principal.
♦ Comunicación insuficiente entre testers y desarrolladores

Módulo 3
TEST 3.1 - Hallar Errores

Errores comunes en testeo manual:


1 - Errores que ocurren al ingresar datos
2 - Gestión manual de archivos y versiones aleatorias
3 - Redondeo manual de parámetros de entrada
4 - Falta de actualización constante de los parámetros modificados a lo largo del diseño
5 - Accesos directos manuales para dar cuenta de áreas desconocidas e inexploradas
6 - Mal interpretar el rol del Tester
7 - Los “tester” no tienen por qué ser expertos en el dominio.
8 - Hacer informes poco profundos o incompletos
9 - Elegir un mal momento para hacer las pruebas de carga
10 - Creer que la gente de pruebas no es responsable de la usabilidad.

Gestión de configuración:
- Identifica los elementos que van a ser controlados en un proyecto por ser entregables al cliente
- Son actividades diseñadas para controlar el cambio. Es un proceso cuyo propósito es establecer
y mantener la integridad de los productos de trabajo.

¿Quién realiza el versionamiento de entregables y productos internos?


- El equipo completo

¿Qué pasa si no se versionamos correctamente?


- Se debe realizar retrabajo, porque los componentes que probemos no sean los que debieran y
- Versionamos con errores, con cambios que no se han probado y quizás no tiene el alcance
funcional correspondiente

“El truncamiento elimina y… “


- El redondeo suma una unidad o lo deja igual

Cuando haya actualizaciones y cambios…


- Implica la reversión del trabajo anterior si el cambio tiene un impacto significativo en el diseño,
programación y pruebas

En situaciones de no conocer el tipo de negocio o funcionalidad *


- El cliente debe entrenarnos, buscar un entrenador o capacitarnos con expertos

Una API (Application Programming Interfaces) es...


- Un conjunto de comandos, funciones y protocolos que permiten la comunicación entre sistemas.
Se utilizan para desarrollar e integrar el software de las aplicaciones
Los Web Services son…
- un conjunto de estándares y protocolos para intercambiar datos entre aplicaciones. Servicio Web
es una API que se conecta a la aplicación a través de internet.

Indique cuál es verdadera...


- El informe de errores ayuda a identificar errores similares en el futuro para que puedan evitarse
- Un informe de error incluye todos los detalles de un error, como un informe, la fecha en que se
encontró un error, el nombre del tester que lo encontró, el nombre del desarrollador que lo
solucionó, etc.

Los tester son responsables de probar la usabilidad?


- Sí

¿Cuál es la importancia de la usabilidad? *


- Una reducción de los costos de producción, de uso y de mantenimiento

Dentro de la calidad de las interfaces, se deben tener en cuenta:


- Físicas y mentales, además de las condiciones donde se usa el sistema

¿Qué elementos se debe tomar en cuenta al testear una web responsive? *


- Contenedores, tipografías y menús, Imágenes y multimedia

Es vital para una eficiente organización de la estructura y los contenidos de la web que: *
- En cuanto a la estructura de la web es que si se tenga en cuenta el número de clics necesarios
para que el usuario lleve a cabo ciertas acciones fundamentales en la web que se hayan planeado
con el fin de alcanzar un objetivo concreto

Un mapa de calor de una web...


- Permite reflejar qué elementos o zonas de una página web son más interesantes para el usuario
y al mismo tiempo donde hay más interacción.

Cuando hay incorrecta gestión y control de enlaces internos: *


- Enlaces rotos, secciones incorrectas, incorrecto tamaño del área para hacer clic en los botones.

Algunos errores en un formulario pueden ser...


- No mostrar los posibles errores que realiza el usuario al completarlo

Se establece un estado de “reparado” cuando...


- Cuando un desarrollado realiza un cambio de código necesario mientras verifica el cambio

Ciclo de vida defectuoso (Bug Lifecycle):


- Es el conjunto específico de estados en los que ocurre una falla o error en toda su vida. El
propósito de un ciclo de vida defectuoso es coordinar y comunicar el estado actual de la falla que
se traduce en múltiples asignaciones y hace que el proceso de reparación de fallas sea
sistemático y eficiente.

Pruebas del Sistema:


- Su propósito es ejercitar profundamente el sistema para verificar que se han integrado
adecuadamente todos los elementos del sistema (hardware, otro software, etc.) y que realizan las
funciones adecuadas.

Las pruebas Alfa...


- Se hacen en el lugar de desarrollo y con un cliente que la ejecuta

En las pruebas Beta participan...


- Usuarios finales y clientes para quienes está diseñado el producto se hacen en un entorno real.

Una ventaja de las pruebas Alfa es que...


- Ayudan a descubrir errores que no se encontraron durante las actividades de prueba anteriores,
como ser errores de diseño y funcionalidad en una etapa temprana.

Tipos de pruebas beta:


1. Tradicionales → se distribuye al mercado objetivo y los datos relacionados se recopilan en
todos los aspectos.
2. Públicas → el producto se lanza públicamente al mundo exterior a través de canales en línea y
se pueden recopilar datos de cualquier persona
3. Técnicas → se entrega al grupo interno de una organización y recopila comentarios / datos de
los empleados de la organización
4. Dirigidas → Se lanza un producto al mercado para recopilar comentarios sobre aspectos
específicos del programa. Por ejemplo, la importante funcionalidad del software .
5. Posteriores al lanzamiento → Se lanza un producto al mercado y se recopilan datos para
realizar mejoras para futuros lanzamientos de productos

Errores al testear usando Alfa y Beta:


1 - No dejar un test el tiempo suficiente
2 - Realizar test con cambios muy pequeños
3 - Hacer test al azar
4 - Falsos positivos
5 - Ejecutar un test durante mucho tiempo
6 - no optimizar cada fuente de tráfico por separado
7 - Solo enfocarse en la tasa de conversión

TEST 3.2 - Evidencia y reporte de errores


Las fuentes de los errores se originan en...
- Antes de los requerimientos, en el análisis o en la programación.
- En la etapa de Diseño e implementación
- En la etapa de pruebas y depuración.

Tareas: (se ejecutan de forma iterativa por los siguientes roles)


Tester - Ejecuta los casos de prueba con el objeto de detectar errores
- Registra los resultados con sus evidencias en un sistema,
- Analiza desviaciones entre resultados esperados y obtenidos
- Reportar defectos lo antes posible, siempre con sus evidencias!
- Espera la versión corregida del programa para ejecutar la repetición de
pruebas (retest)
- Hace el seguimiento de errores, que se realiza utilizando un sistema de
gestión de incidencias
- Puede poner un error/defecto en estado “Finalizado”

Jefe de pruebas o - Evalúa el informe de errores,


- Asigna prioridades
Technical Lead o QA
- decide si un defecto debe ser corregido o rechazado
Leader - Redacta un informe de avances
Consejo de Control Decide respecto de los cambios de requisitos y sus prioridades
de Cambio (CCC)
- Analiza los fallos, localiza la causa u origen del defecto según lo
reportado por el tester y la evidencia adjuntada
Desarrollador
- Corrige la causa del error de acuerdo con la prioridad asignada
- Ejecuta todos los cambios aprobados

El informe de errores o incidencias describe...


- Una falla con su evidencia

Elementos que puede incluir un informe de incidencias:


- Caso de prueba
- Resultado del defecto
- Descripción de la desviación
- Referencias cruzadas e informes relacionados
- Origen / trazabilidad del Problema
- Comentarios.
- Acciones correctivas tomadas
- hora y usuarios que han realizado cambios
- Log (Registro histórico)

Log:
- Es un registro cronológico (generalmente portable en archivos de texto) que provee información
de los eventos ocurridos en un sistema en específico y su correlación con otros eventos.

Tipo de Evento Descripción


Información Un evento que describe la operación exitosa de una tarea, como una aplicación,
controlador o servicio.
Advertencia Un evento que no es necesariamente significativo puede indicar la posible
aparición de un problema futuro.
Error Un evento que indica un problema significativo, como pérdida de datos o pérdida
de funcionalidad.
Depuración Un evento que indica la posible causa de un evento inesperado, generalmente de
mayor utilidad en fases de desarrollo
Registro exitoso Un evento que describe la finalización exitosa de un evento de seguridad
Registro Fallido Un evento que describe un evento de seguridad que no se completó correctamente

Si en un sistema de gestión de incidentes tengo que indicar el estado que he verificado la


corrección a través de la reiteración de los casos de prueba correspondientes, su estado podría
ser...
- Finalizado

Cuando el error es localizado y se está desbloqueando para su corrección, se pondría en el


estado de...
- En progreso

Evidencia:
- Sustento de que el error está ocurriendo y el contraste con el resultado esperado según el caso
de prueba ejecutado

A qué corresponde la siguiente definición: “es una función de los navegadores que no debe
generar errores en el ingreso de datos”
- Auto-relleno

La prueba Streaming corresponde a:


- Demostrar que el contenido que se está transmitiendo sea presentado correctamente, además,
pueda ser pausado y reiniciado sin ningún problema

Al realizar pruebas de formulario se incluye...


- Todas las opciones en un menú desplegable deben estar ordenadas

Para finalizar las pruebas de integridad debemos...


- Cuando el programador corrija los errores, se debe volver a ejecutar las pruebas

Calidad del software percibida


- Es una medida del grado en que el software cumple los requisitos que se le imponen.

“El análisis de defectos proporciona una pauta de…”


- La fiabilidad del software

Los cuatro atributos de defectos principales son...


→ Prioridad
→ Estado
→ Origen
→ Gravedad

Los errores comunes en el desarrollo de software que nos encontremos en el día a día de nuestro
trabajo se pueden estructurar conceptualmente en la forma de… *
- Anti-patrón

Cuando no se estructura la funcionalidad en múltiples módulos o funciones puede…. *


- Ocasionar problemas para entender el código y darle mantenimiento.

Cuál es el error que cometen frecuentemente los programadores más juniors? *


- Querer comenzar a codificar antes de siguiera entender la totalidad del problema
El manejo de excepciones es útil para… *
- Mostrar mensajes de error funcionales y entendibles para el usuario

GUIA 3.3 – Ágil – SCRUM – Historias de Usuario


Ágil:

- El proceso de control de calidad comienza desde el inicio del SDLC.


- Nace como respuesta a los problemas que puedan ocasionar las metodologías tradicionales
- Las metodologías ágiles surgen como una extensión a las metodologías tradicionales para
mejorar el desarrollo de sistemas.
- Es la capacidad de reaccionar a las demandas, adaptarse y controlar los riesgos e innovar y
liderar el entorno

Manifesto para el Desarrollo de software Agil

Valores agíles → Individuos e interacciones sobre procesos y herramientas


→ Software funcionando sobre documentación extensiva
→ Colaboración con el cliente sobre negociación contractual
→ Respuesta ante el cambio sobre seguir un plan

Colaboración en Ágil:
→ Interna en el Scrum Team
→ Externa con el Cliente

Comparativas entre Tradicional y Agil


Gestión Tradicional Gestión Ágil
• Basadas en normas provenientes de • Basadas en experiencias de proyectos
estándares anteriores
• Equipo por especialización • scrum team Multidisciplinario
• El cliente interactúa con el equipo de • El cliente es parte del Scrum team
desarrollo mediante reuniones • Solapamiento
• Fases • Visión del producto
• Requisitos detallados • Adaptación a los cambios
• Cierta resistencia a los cambios • Seguimiento de backlogs
• Seguimiento del Plan • Grupos pequeños
• Grupos grandes • Pocos artefactos y roles
• Muchos artefactos y roles

Soluciones
Método Tradicional Método Ágil
Búsqueda de un acuerdo previamente Acuerdo iterativo adaptable a los cambios
negociado
Son buenos cuando consiguen desarrollar de Son buenos, cuando consiguen entregar de
forma repetible los productos especificados en forma repetible un valor innovador.
el tiempo y con los costes previstos.
Restricciones en proyectos
Método Tradicional Método Ágil
Los requerimientos son fijos (alcance) y se Los costos (horas/personas del Scrum Team) y
estiman los recursos y el tiempo de duración tiempo (sprints) son fijos, y se estiman los
del proyecto. Está orientado a cumplir un plan requerimientos (alcance) que maximizan el
valor al negocio y que pueden ser
implementados en esos plazos con esos
recursos

¿Porqué las empresas implementan Agil?


- Porque mejora sustancialmente la calidad del producto final así como también su productividad
y permitía la gestión más eficiente de los requerimientos y la visibilidad general de las metas.

Ágil se basa en:


1. Reportes semanales sobre avances de trabajo
2. Equipos auto-organizados
3. Motivación de trabajo en equipo (requisito indispensable)
4. Dispuesto a realizar cambios sobre marcha de proyectos
5. Buscar simplicidad y eficiencia durante el trabajo

Scrum:

- Es un proceso en el que se aplican de manera regular un conjunto de buenas prácticas para


trabajar con un alto compromiso y colaborativamente en equipo, y así obtener el mejor resultado
posible de un proyecto.

- Es un marco de trabajo ligero o framework del Agile Manifesto, que ayuda a las personas, scrum
teams y organizaciones a generar valor mediante soluciones adaptativas a problemas complejos
- Sirve para gestionar proyectos, generalmente de software, basado en las entregas en corto plazo
(1 a 4 semanas) del producto definitivo, con Equipos Scrum entre 3 y 10 personas

- Deja de seguir metodologías lineales, modelo cascada y secuencial, pues ahora procedemos a
solapar las fases y no importará en qué momento tengas que volver atrás.
- Trabaja en Sprints de duración determinada

Valores o principios que son la base de toda la actividad:


1. Transparencia
2. Coraje
3. Compromiso
4. Enfoque o Focus
5. Respeto

¿Cómo se logra la distinción entre las tareas relevantes y los que no agregan valor?
- A través de la creación de contextos con alto nivel de empowerment y feedback.

Empowerment:
- Otorga al scrum team autonomía para tomar decisiones, y permite al grupo avanzar a pesar de
las complicaciones y dificultades que ocurren habitualmente en los proyectos
Feedback
- Es constante y presente en varios niveles, y permite el desarrollo incremental y el crecimiento
adaptativo de la programación, así también como una mejora constante en la forma de trabajo de
los scrum teams

DoD: Definition of Done


- Es un entendimiento compartido de las expectativas que el incremento debe cumplir para poder
ser liberado a la producción.
- La define el scrum team, pero debe negociarse con el Product Owner y la empresa.

Un Product Backlog es…


- Un análisis de los requerimientos del sistema priorizados por el Product Owner.

El incremento es:
- La suma de todos los ítems del Product Backlog completados durante un Sprint y el valor de los
incrementos de todos los Sprints anteriores, integrados.

Responsabilidades (roles):

● Product Owner: representa al cliente y es el responsable de gestionar y priorizar el Product


Backlog.
- Es quien desarrolla y comunica explícitamente el 'Product Goal'
- Debe ser una persona, no un grupo.
- Es el responsable de maximizar el valor del producto resultante del trabajo del Scrum Team.
- Puede decidir qué dirección del desarrollo será la más valiosa.
- Es la única persona que tiene autoridad para cancelar el Sprint.
- Es el vínculo principal entre la empresa y el Scrum Team.

● Scrum Master: responsable de promover y apoyar al Scrum Team y velar por el cumplimiento de
la teoría, practicas, reglas y valores de Scrum
- Es un facilitador, ayuda ha entender e implementar el framework de Scrum
- Es un líder Servicial, ya que sirve al Equipo Scrum y los ayuda a comprender qué es Scrum y cómo
pueden usarlo en el día a día.
- Debe encontrar técnicas que ayuden a una efectiva definición y gestión, tanto del 'Product Goal'
como del 'Product Backlog’.

● Developers/Scrum Team: este equipo es autogestionado decidiendo internamente quién hace


qué, cómo y cuándo.
- Está compuesto por analistas, programadores (UI, Backend, dispositivos móviles, etc.),
arquitectos, UX, testers, QA, DevOps, etc.

Tareas de Desarrolladores/Equipo Scrum:


● Definir y resolver el DONE de la entrega de los artefactos del Sprint.
● Desarrolla el incremento liberable del producto del Sprint
● Planifica su trabajo en la Sprint Planning
● Sprint Backlog: puede ajustarse después de “negociar” con el Product Owner
● Cumplir el Sprint Goal planificado para el Sprint
● Gestión de su trabajo diario, planificación y revisando durante Daily Scrum
● Hacer una “demo” para mostrar que su trabajo está “DONE o Terminado" durante la Revisión de
Sprint o Demo del trabajo realizado (cierre del Sprint).
● Analizar su trabajo, relaciones y procesos durante la Sprint Retrospective. Si necesitan revisar y
adaptarse si es necesario.
● Mejora continua de su trabajo y procesos

Diferencia entre Product Goal y Sprint Goal:


El 'Product Goal’ sirve de foco estratégico, a largo plazo, frente al 'Sprint Goal', que lo hace a corto
plazo, esto es, un foco táctico.

→ El Product Backlog debe ser visible para todos en el Equipo Scrum para asegurarse de que
todos los requisitos y la visión del producto sean transparentes

Artefactos
- Son herramientas, información o elementos que se usan para el registro de la información
necesaria y garantizar la transparencia del proceso.
- Para cada artefacto hay un compromiso asociado, para garantizar que proporcione información
que mejore la transparencia y el enfoque frente al cual se pueda medir el progreso

Artefacto Descripcion Objetivo/resultado


Product Backlog - Lista de todos los requerimientos o necesidades para Objetivo del Producto o
el producto (historia de usuario), presentados de Product Goal
manera priorizada. Requisitos globales del producto a
desarrollar.
- Nunca esta completo, solo hasta que el producto
salga de funcionamiento.
- Esta constantemente cambiando, adaptándose a las
necesidades del cliente
Sprint Backlog Listado previsto a desarrollar en un Sprint. Es la parte Objetivo del Sprint
del Product Backlog a realizar y entregar en un sprint.
Incremento Resultado que se obtiene de cada Sprint Definición de
terminado/DONE

Qué es el MVP:
- Es el Producto mínimo viable que se debe entregar al cliente al terminar de ejecutar un Sprint .

Eventos:

[Link] Planning: el por qué es valioso este Sprint (para los stakeholders). Basado en esta
conversación se define el Sprint Goal. Su artefacto resultante es el Sprint Backlog.

[Link] Scrum: Se hace foco hacia el propósito del daily que es sincronizarse hacia el objetivo del
Sprint. Su artefacto podría ser la replanificación.

[Link] Refinement: revisar y actualizar el Sprint backlog

[Link] Review: entregar a los Stakeholders el incremento del producto al finalizar el sprint,
midiendo la velocidad y teniendo feedback

[Link] Retrospective: se debe implementar lo más rápido posible las mejoras propuestas de los
sprints anteriores, planeando la implementación de las mejoras que requieren mas esfuerzo.

SPRINT:
- Es el periodo de tiempo durante el que se desarrolla un incremento de funcionalidad.
● Constituye el núcleo de Scrum, que divide de esta forma el desarrollo de un proyecto en un
conjunto de pequeñas “carreras”.
● Duración máxima: 30 días. Puede ser de 1, 2, 3 o 4 semanas. Se fija antes de iniciar el primer
sprint, y siempre tiene la misma duración.
● Durante el sprint no se puede modificar el trabajo que se ha acordado en el Backlog = Listado
con los requisitos del sistema, donde se indica: contenido, priorización y disponibilidad.

Bloqueos de un Sprint
▪ Durante la planificación del Sprint, es fácil quedar "bloqueado" y el SM debe ayudar al equipo a
enfocarse en el objetivo del Sprint, en qué tarea debe realizarse primero, quién debe hacerlo y
cuánto tiempo llevará.

Historia de Usuario o User Story


→ Es una descripción concisa y escrita de una parte de una funcionalidad que será valiosa para
el usuario (o propietario) del software.
→ Es una descripción en lenguaje de negocio, como una invitación a una conversación
→ Representan un concepto verificable y se define como una "promesa de una conversación" o
una "descripción de una característica“, representando una "funcionalidad de aplicación" para un
usuario y que brinda un beneficio (ROL + FUNCIONALIDAD + BENEFICIO).
COMO <ROL>
QUIERO <FUNCIONALIDAD/OBJETIVO>
PARA QUE <BENEFICIO/VALOR DE NEGOCIO>

¿Qué significa INVEST (Criterios para la creación de Historias de Usuario)?

Independiente – Negociable – Valorable – Estimable - Small o pequeña – Testeable

Epica:
- Iniciativa global que incluye múltiples historias y que podría abarcar muchos Sprints

Características de una épica en scrum:


• Las épicas pueden abarcar varios equipos Scrum
• Suelen trabajar con varios proyectos al mismo tiempo
• Recogen normalmente muchas historias de usuario
• Los clientes determinan si eliminan o añaden historias dentro de cada épica
• Una épica sirve para estructurar los temas e iniciativas
• Las épicas también sirven para dar flexibilidad y agilidad al proyecto
• Cada nivel tiene su cargo y rol en el equipo
• Una épica no tiene por qué estar en una sola iteración o sprint
• Cada iteración está dividida en diferentes historias de usuario

Tablero o Story board


Son por lo menos tres columnas, que representan el progreso del trabajo en un sprint y varias
cartas o notas adhesivas que representan las historias individuales en el sprint. Las cartas se
mueven a través del tablero para mostrar el progreso a medida que avanza el sprint.

Un Scrumboard es…
- Es un método y apoyo visual para organizar un proyecto ágil
Criterios de aceptación:
- Son las condiciones que un producto de software debe satisfacer para ser aceptado por un
usuario o cliente. Se los define como un conjunto de sentencias redactadas de tal manera que
conduzcan a una respuesta clara de aceptado/rechazado.

Sintaxis de los Criterios de aceptación:


Escenario [Número de escenario] [Titulo del escenario]
Dado que [Contexto] y adicionalmente [Contexto]
Cuando [Evento]
Entonces [Resultado / Comportamiento esperado]

TEST 3.4 -Testing Ágil


Testing ágil:
- Es la práctica de pruebas de software que sigue los principios del desarrollo ágil de software
que involucra a todos los miembros de un equipo ágil multifuncional, el cual debe garantizar el
valor de negocio deseado por el cliente a un ritmo sostenible y continuo.

- Se enfocan en construir calidad en el producto, utilizando ciclos de retroalimentación rápidos


para validar nuestra comprensión

Indique cuál es falsa:


- Las metodologías ágiles consideran las pruebas como un conjunto de niveles que hay que ir
superando para alcanzar la validación final del sistema que se está desarrollando

Característica del testing ágil:


1. El Testing no es una fase
2. El Testing hace avanzar el proyecto:
3. Todo el equipo realiza pruebas
4. Reducir el tiempo para recibir retroalimentación
5. Código limpio
6. Reducir la documentación de pruebas
7. Guiado por pruebas:

Metodologías tradicionales Testing Agil


Actividades de Se pueden iniciar hasta que la Las tareas quedan inmersas dentro
prueba especificación de requisitos se de cada iteración.
encuentre completa
Errores Encontrar bugs Prevenir bugs
Principal El testing es una fase del SDLC, El testing es una actividad que se
diferencia teniendo que esperar que se termine la puede hacer todo el tiempo
programación para testear.
Responsabilidad El tester es responsable de la calidad La responsabilidad es de todo el
equipo
Objetivo La validación del producto Guiar el desarrollo del software
desarrollado

Valores del manifestó de testing Ágil


+ Testing durante SOBRE testing al final
+ Prevenir bugs SOBRE encontrar bugs:
+ Entender lo que se esta testeando SOBRE verificar funcionalidad:
+ Construir el mejor sistema SOBRE romper el sistema:
+ El equipo es responsable de la calidad SOBRE el tester es responsable de la calidad

Los testers ayudan a...


- Obtener ejemplos y contexto para cada historia y ayudan al negocio a escribir los test cases para
las historias.

Fórmula para un requisito en agil:


Historias de usuario + ejemplos + conversación = Requisito

Cómo trabajar en Testing ágil :


1. Definir el alcance de pruebas
2. Definir los niveles de pruebas que se aplicarán.
3. Definir los tipos de prueba que se realizarán.
4. Definir estrategias de pruebas.
5. Definir el punto de terminación de las pruebas.

El rol del tester ágil es:


- Deben entender los valores y principios que sustentan los proyectos ágiles, y cómo forman parte
integral de un enfoque completo de equipo junto con los desarrolladores y representantes del
negocio.

Cualidades para ser un buen tester ágil:


- Debe compartir responsabilidades con el resto del equipo de desarrollo
- Tener una mentalidad ágil
- Ser un buen comunicador
- Adaptarse a los cambios,
- Entender el manifiesto ágil y sus principios
- Estar familiarizado con el proceso de desarrollo ágil
- Conocer variadas técnicas y conceptos de testing
- Aprender constantemente, mantenerse actualizado profesionalmente

Módulo 4 - TEST 4.1

¿Qué es un ciclo de vida?

- Un marco común que se debe seguir para la elaboración de un proyecto, aun cuando el cliente no
tiene un conocimiento exacto de lo que desea
Fase:

- Conjunto de actividades con un objetivo en el desarrollo de un proyecto

Las actividades genéricas del SDLC son:

→ Análisis,
→ Diseño,
→ Desarrollo
→ Pruebas,
→ Despliegue,
→ Uso
→ Mantenimiento

¿Qué puntos se diferencian cuando se mantiene un sistema?

- Eliminar defectos durante su vida útil y Adaptarlo a nuevas necesidades

Modelos de ciclo de vida del software


1. Modelo lineal
2. Ciclo de vida cascada pura o waterfall
3. Ciclo de vida en V
4. Ciclo de vida en cascada con sub-proyectos
5. Ciclo de vida iterativo
6. Ciclo de vida por prototipos
7. Ciclo de vida evolutivo11
8. Ciclo de vida incremental
9. Ciclo de vida en espiral
10. Ciclo de vida orientado a objetos
11. Paradigma de Desarrollo Ágil.

Las grandes diferencias entre los distintos modelos de ciclo de vida están en:

- La estructura y la sucesión de las etapas, así como las características de cada fase

Un modelo lineal es el más sencillo de todos porque…

- Se descompone la actividad global del proyecto en etapas separadas, que son realizadas de
manera lineal, es decir, cada etapa se realiza una sola vez, a continuación de la etapa anterior y
antes de la etapa siguiente.

Indique cuál es verdadero para un modelo lineal:

- Las actividades de cada una de las etapas deben ser independientes entre sí

Indique una ventaja Ciclo de vida en V

- Ofrece mayor garantía de corrección al terminarlo

Completar: el ciclo de vida iterativo se deriva del….


- Ciclo de vida en cascada pura, buscando reducir el riesgo entre las necesidades del usuario y el
producto final

Que formas toma un prototipo?

- Describe la interacción hombre-máquina, implementa una función requerida importante y un


programa real que se adecue a una parte del software

El ciclo de vida incremental…

- Combina elementos del modelo lineal en secuencias para producir un incremento de software

Objetivo del paradigma en desarrollo Ágil...

- Desarrollo de proyectos en poco tiempo, innovando y con flexibilidad

¿Para qué sirve el prototipo?

- Como mecanismo para identificar los requisitos del software y su desarrollo

¿Qué es una empresa start-up?

- Institución humana para crear un nuevo producto o servicio con un fuerte componente
tecnológico

Indica cuál es verdadera:

- Todo el equipo crea en ágil un modelo mental compartido en que todos se ponen de acuerdo y
avanzan con un producto viable.

¿Qué es un modelo del ciclo de vida ágil?

- Estos procesos se caracterizan por estar basados en las etapas del ciclo de vida del software
tradicionales, pero combinándolas con algunas técnicas y siendo aún más solapadoras en cuando
al orden que se deben ejecutar.

¿Qué significa WIP?

- Work in progress

El modelo Kanban,
Consiste en la creación de un tablero con etiquetas, donde se seccionan cada una de las fases de
su desarrollo, además se clasifica de acuerdo con los equipos de
trabajo y se les asignan objetivos a corto, mediano y largo plazo.

- Las tareas pueden tener una fecha límite, pero no es tan estricto el periodo determinado en un
inicio para cada tarea.

XP es una metodología de…

- Programación extrema

¿A qué se refiere la refactorización?


- Se refiere a la reestructuración, modificación o limpieza del código fuente sin afectar su
comportamiento

TEST 4.2

¿Qué rol es asociado al proceso de pruebas?

- Administrador de pruebas

¿Quién puede: preparar, configurar y puede administrar el entorno de pruebas?

- Tester de software y Devops o IT

¿Quién puede crear notaciones relativas a las desviaciones detectadas en las pruebas?

- Tester

¿Quién planifica el proceso de pruebas?

- Líder de testing

¿Qué rol selecciona las herramientas y decide la automatización de las pruebas?

- Líder del proyecto

Si en el proyecto se producen retrasos se puede…

- Filtrar los casos de prueba para cumplir los hitos

El control de las pruebas debe hacerse usando métricas definidas por…

- El líder de testing

Los informes generados, así como el seguimiento de sus resultados deben ser presentados:

- Al cliente, al Jefe de proyecto y a la dirección de la empresa

El administrador del sistema de pruebas es responsable de…

- Gestiona la progresión de ambientes y puede administrar el gestor de configuración del ambiente

TEST 4.3 – Niveles de Prueba

¿Qué son los niveles de prueba?

- Son grupos de actividad de prueba que se organizan y gestionan conjuntamente

¿Qué son las pruebas de integración?

- Pruebas realizadas para exponer fallas en la interacción entre componentes y sistemas.

¿Cuál de las siguientes NO forma parte de las Pruebas de Sistema?


- Pruebas de integración de arriba hacia abajo

Un tipo de prueba de integración en la que elementos de software, elementos de hardware o


ambos se combinan a la vez en un componente y no en etapas es:

- Pruebas de Big-Bang

A que tipo de prueba corresponde la prueba de módulo?

- Pruebas de componente

¿Cuáles son los tipos de integración vistos?

- Incremental descendente, incremental ascendente y sándwich

A que se corresponde la siguiente definición: impulsores es transmitir los casos de prueba a los
módulos testeados y recibir los resultados que estos produzcan en los casos en que sea
necesario

- Módulo impulsor

Se puede hacer cualquier secuencia de integración?

- Se debe estudiar el problema concreto y buscar el orden de integración más adecuado

¿Cuál método de integración combina los métodos descendente y ascendente?

- Método sándwich

¿Cómo definiría a una estructura de datos?

- Forma de organizar un conjunto de datos con el objetivo de facilitar la manipulación de datos

¿Cuáles son las estructuras de datos más conocidas?

- Estáticas y dinámicas

¿A que concepto corresponde la siguiente definición: que el tamaño ocupado en memoria se


define antes de que el programa se ejecute y no puede modificarse dicho tamaño durante la
ejecución del programa

- Estructura de datos estática

¿A qué tipo de pruebas corresponde: se utilizan para identificar defectos al principio del ciclo de
desarrollo de software y es muy útil para los desarrolladores

- Test unitario

Indique qué es un controlador:

- Simula datos de entrada, registra los de saluda y aporta un arnés de pruebas

¿A qué corresponde la siguiente definición: “simula un componente que no se encuentra


disponible o que no es parte del objeto de prueba”?

- Stub

¿Qué pruebas pueden ser ejecutadas por los tester y los desarrolladores?

- De componentes

¿Qué pruebas se ejecutan end to end en un sistema y no se hacen en el entorno real?

- Del sistema

¿Qué pruebas se centran en el comportamiento y las capacidades de todo un sistema?

- Las del sistema

¿A qué tipo de aceptación se corresponde: Normalmente se verifica la adecuación al uso del


sistema por parte de usuarios de negocio, “los clientes conocen su negocio”

- Prueba de aceptación de usuario

TEST 4.4

Los Tipos de pruebas son:

- Un grupo de actividades de prueba destinadas a probar características y objetivos específicos de


un sistema

¿Cuál es verdadero al referirse al objetivo de un tipo de prueba:

- Evaluar características no funcionales de calidad, tales como fiabilidad, eficiencia de desempeño,


seguridad, compatibilidad y usabilidad

La prueba funcional de un sistema incluye…

- Pruebas que evalúan funciones que el sistema debe realizar

Los requisitos funcionales pueden estar descritos en:

- Épicas e historias de usuario, Especificaciones funcionales

La prueba funcional observa…

- El comportamiento del software

En las pruebas de caja negra nos enfocamos en:

- Las entradas y salidas del sistema

Indique a que corresponde la definición: es una de las medidas de la calidad de los test que nos
dice cuanto código hemos probado

- Cobertura
Para calcular el % de cobertura debo…

- Usar la trazabilidad entre pruebas y requisitos funcionales

A qué corresponde la definición de que constatan la funcionalidad esperada, pudiendo ser


probados recreando las condiciones de prueba y constatando los resultados previstos

- Pruebas positivas

Un token colabora en…

- Dar un verificación en dos pasos de que el usuario es quien dice ser

Una prueba no funcional es…

- Cuán bien se comporta el sistema

¿Cuál es falso al estar relacionados con los requisitos no funcionales

- La definición de sus requisitos es muy preciso

Las pruebas de volumen son aquellas que…

- Validan el funcionamiento de la aplicación con ciertos volúmenes de datos

Las pruebas de estrés son aquellas que…

- Reaccionan a la sobrecarga y se recuperan

Defina la accesibilidad

- Posibilidad de acceso

TEST 4.5

¿Cuáles son pruebas E2E?

- Sanity Test, Smoke Test y Test de regresión

¿Qué tipo de técnica es la E2E:

- Prueba todo el producto de software de principio a fin para garantizar que el flujo de la
aplicación se comporte como el cliente espera.

¿Qué tipos de errores puede hallar E2E?

- El flujo de datos y cambios de estados cuando se ejecutan diferentes funcionalidades

¿Quiénes encuentran útil hacer un E2E porque las pruebas de simulación de usuarios les
permiten saber cómo afectaría un usuario una prueba con errores?

- Líderes
¿Quienes lo encuentran útil el E2E útil porque escribir pruebas que verifiquen el comportamiento
del mundo real les ayuda a evitar problemas y lograr una mayor sensación de logro.

- Tester

¿Cuál tipo de E2E realiza las pruebas en capas, lo que significa que las pruebas se realizan en
orden secuencial y jerárquico:

- Pruebas verticales

Un escenario de pruebas es:

- Una secuencia de eventos que son ejecutables sobre un sistema o el dispositivo

Sanity Test:
- Determina si una nueva versión de software está funcionando lo suficientemente bien como para
aceptarla para un esfuerzo de prueba mayor

Smoke Test:
- Pruebas que verifican la funcionalidad básica de una aplicación. Se pretende que sean pruebas
rápidas de ejecutar y su objetivo es asegurar que las características más importantes o críticas del
sistema funcionan como se espera. Son un conjunto de pruebas que se pueden automatizar
- Es el tipo de test más crítico

¿Cuándo tenemos un buen caso de prueba?

- Cuando es repetible, reutilizable y económico

Los casos de prueba atómicos son:

- Independientes de otros casos de prueba

Los conjuntos de pruebas están….

- Diseñados para probar un solo componente de principio a fin

TEST 4.6

El mantenimiento de un sistema es...

- La modificación de un producto software después de su entrega al cliente o usuario para


corregir defectos, mejorar el rendimiento u otras propiedades deseables, o para adaptarlo a un
cambio de entorno.

Las etapas del ciclo de vida del mantenimiento son:

→ Puesta en producción,
→ Notificación,
→ Anotación,
→ Reparación de fallos.
Un Hotfix es:

- Un arreglo puntual que solo ocurre cuando un error está afectando al sistema y necesitamos
aplicar una pequeña actualización para solucionar el problema

El análisis de impacto sirve para…

- Ayudar a decidir cuántas pruebas de regresión son necesarias.

El mantenimiento y el desarrollo son actividades…

- Continuas.

Los tester deben aprender a:

- Configurar los sistemas..

Indique cuál oración es más amplia para considerar:

- Cualquier nueva versión del producto, cada nueva actualización y cada cambio del software
requiere pruebas adicionales.

Los campos que cubre el mantenimiento son:

- Corrección de errores y distribuciones de adaptaciones.

Los tipos de mantenimiento son:

→ Preventivo,
→ Predictivo,
→ Correctivo,
→ Adaptativos,
→ Evolutivo
→ Perfectivo.

La caducidad de un sistema es:

- EOL: fin de la vida útil de un software.

Defina a que se corresponde la definición de trasladar datos o software de un sistema a otro,


incluyendo quizás también SO y la nube:

- Migración.

TEST 5.1 - Testing Estático y Dinámico. Caja Blanca y Caja Negra.

Técnicas de prueba para llevar con eficacia el proceso de pruebas:


- Técnicas estáticas y dinámicas

¿Cuándo se realizan las pruebas dinámicas?


- En la etapa de finalización del desarrollo
En las pruebas dinámicas...
Se ejecuta el código al probar

Revisión por pares


- Es un trabajo en equipo en el que los colegas verifican los documentos de los demás para
detectar y corregir los errores

Los programadores...
- Realizan las pruebas estáticas en las primeras etapas del desarrollo?

Complejidad ciclomática
- Es la medida de la complejidad de cualquier código, siendo directamente proporcional al número
de rutas independientes en el gráfico de flujo de control del programa.

Caja negra:
- Tiene como objetivo validar los requisitos funcionales y no funcionales, consume menos tiempo
y uno de sus tipos es regresión.
- La estructura interna del objeto de prueba es irrelevante o desconocida

Las técnicas de caja blanca pueden ser:


- Pruebas de declaración, de ruta de condición y de decisiones.
- Pueden ser realizadas por el desarrollador basado en sus conocimientos de la arquitectura
interna de la aplicación.

Un compilador detecta..
- Errores sintácticos en el código fuente de un programa

Para detectar lógica ausente o errónea, el desarrollador realiza un análisis..


- Estático de un programa.

Pruebas funcionales
- Las pruebas que testean los componentes individualmente y juntos son las:

Pruebas de Partición de equivalencias


- Se hacen para reducir el número de casos de prueba

Tablas de decisión
- Arma un conjunto diferente de combinaciones de entrada y sus correspondientes resultados
esperados en cada fila

- Es útil para los testers que desean comprender cómo las diferentes combinaciones de entradas
afectan la salida.

Criterios de salida de una prueba:


- Toda transición se debe ejecutar por lo menos una vez. Todo estado debe ser alcanzado una vez
al menos

Caso de uso:
- Puede ser usado como la fuente de por lo menos un caso de prueba

Prueba es de caja gris o traslúcida:


La capacidad parcial del tester para ver el funcionamiento interno de la aplicación.

Clase 5.2 - Técnicas de Revisión.

Revisión
- Es una forma de técnica de prueba estática realizada antes de la prueba dinámica, es como un
filtro para el proceso de software.

- Al realizar revisiones se busca eliminar errores en las primeras etapas del ciclo de vida del
desarrollo del software.

Seleccione la opción incorrecta: "Una revisión es una forma de utilizar la diversidad de roles en
un equipo para.."
Resaltar las partes de un producto que se necesita mejorar.

Objetivo principal de una revisión técnica formal:


Detectar los errores antes de que pasen a la siguiente etapa y se conviertan en errores.

El proceso de revisión es importante porque:


- Los costos se reducen y mejora la calidad del producto y se detectan de forma temprana los
errores.

- Se mejora la productividad del equipo de desarrollo y se reducen los plazos porque la corrección
de defectos en las primeras etapas y se detectan defectos en las especificaciones, en el diseño y
arquitectura del software.

¿Qué tipo de actividad es el RTF?


Es una actividad de control de calidad realizada por el equipo de proyecto.

Al realizar las actividades de una RTF se debe..


- Planificación, definición y comprobación de los criterios de entrada y salida, reunión de revisión,
examen, reconstrucción, reporte y registro de la revisión.

Cómo se ejecuta una revisión técnica…


- Se puede ejecutar como una revisión entre pares sin la participación de responsables de la
organización

Revisión informal o peer review:


- Normalmente se inicia / desarrolla con la solicitud de la revisión de un documento a un
compañero de trabajo.

Tipos de revisiones
- Inspecciones y revisiones técnicas, guiada e informales
Clase 5.3 Técnicas de Prueba basada en la Experiencia.

Pruebas intuitivas:
Pruebas basadas en la experiencia

Pruebas basadas en la experiencia


- Predicción de errores
- Pruebas orientadas a puntos débiles.
- Pruebas exploratorias

¿Con qué debe contar el Tester para hacer pruebas basadas en la experiencia?
→ Intuición
→ Experiencia
→ Conocimiento.

Identifique qué definición de prueba exploratoria es INCORRECTA:


- Es un procedimiento de corrida de casos de prueba especialmente basado en la libertad personal
y la optimización del trabajo.

Cuál NO SE APLICA en el testing exploratorio:


- Verificar la cobertura.

Fuentes de las pruebas exploratorias:


- Documentación del proyecto,
- Productos relacionados
- Experiencia

Cuándo aplico el testing exploratorio:


- Se dividen los tiempos en funciones primarias, contributivas y áreas inestables.

Pasos a seguir en el testing exploratorio:


- Aprender-explorar,
- Diseñar,
- Ejecutar la prueba
- Análisis.

Sesión:
- Es un bloque ininterrumpido y revisable

- Debe ser Ininterrumpida, con un balance, mejora continua y test no guionado.

El contenido de una sesión debe tener:


Misión, análisis y división de tareas, registro e incidentes

Indique cuál NO ES UN BENEFICIO del testing exploratorio.


- Cuesta hacerlo rentable por su exceso de documentación formal y poca retroalimentación.

También podría gustarte