Introducción Al Testing de Software

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 6

INTRODUCCIÓN AL TESTING DE SOFTWARE: para Principiantes!

Academia: Udemy
URL: https://tcsglobal.udemy.com/course/introduccion-al-testing-de-software-para-principiantes/

Sección 2: Roles en el desarrollo de Software

Roles
1. Project Manager: Líder/Administrador del proyecto.
2. Analista Funcional (BA): Genera una serie de requerimientos por medio del cliente para
poder definir una estructura básica de este sistema.
3. Diseñador: Toma los requerimientos del analista funcional y en base a ellos genera el diseño
del sistema y prototipo.
4. Desarrollador: Toma los requerimientos del analista y los prototipos del diseñador y los
traduce a un código ejecutable utilizando un tipo de lenguaje de desarrollo.
5. Tester: Es el rol que asegura la calidad del producto.

Sección 3: Fundamentos del Testing

Conceptos de error, defecto y Fallo

 Error: Acción humana que produce un resultado incorrecto


 Defecto: Desperfecto es un componente que puede causar que el mismo falle en sus funciones.
 Fallo: Manifestación física de un defecto.

Un error puede generar uno o más defectos, y un defecto puede generar un fallo.

Concepto de Requisito y Calidad

 Requisito: Describe un atributo funcional deseado o considerado obligatorio.


 Calidad: Es el grado en el cual un componente, sistema o proceso satisface requisitos
especificados y/o necesidades y expectativas del cliente.
 Calidad del software: Es la suma de todos los atributos que se refieren a la capacidad del
software de satisfacer los requerimientos dados.

Atributos de la Calidad

Atributos Funcionales

 Correctitud: Significa que la funcionalidad satisface correctamente los atributos requeridos o


los requerimientos.
 Completitud: Significa que la funcionalidad del software o sistema satisface todos los
requisitos que el cliente a pedido. Esta funcionalidad puede incluir adecuación, exactitud,
interoperatividad, seguridad y el cumplimiento de la funcionalidad
Atributos No Funcionales

 Fiabilidad: Significa que el sistema va a mantener su capacidad y funcionalidad a lo largo de un


periodo de tiempo.
 Usabilidad: Significa que el sistema es fácil de usar y de aprender, tiene un uso intuitivo y se ha
desarrollado conforme a las normas.
 Portabilidad: Significa que sea fácil de instalar y desinstalar, fácil de configurar, fácil de transferir a
otro entorno.
 Eficiencia: Significa que el sistema necesita un mínimo de recursos para ejecutar una tarea
determinada.
 Mantenibilidad: Es una medida del esfuerzo que se requiere para realizar cambios en el sistema.

Concepto de Requisito y Calidad

 Requisito: Describe un atributo funcional deseado o considerado obligatorio.


 Calidad: Es el grado en el cual un componente, sistema o proceso satisface requisitos especificados
y/o necesidades y expectativas del cliente.
 Calidad del software: Es la suma de todos los atributos que se refieren a la capacidad del software
de satisfacer los requerimientos dados.

¿Cuánto Testing es necesario?

Pruebas basadas en:

 Criterios de salida: Conjunto de condiciones que se acuerda entre todos para que el proceso
concluya.
 Riesgos: El nivel de riesgo determina el grado en el cual se ha probado, es decir, de quien es la
responsabilidad en caso de fallos, probabilidad de ocurrencia de fallos.
 Plazo y Presupuestos: Disponibilidad de recursos, tanto de personal, tiempo y presupuesto van a
determinar la medida del esfuerzo del proceso en las pruebas.

¿Por qué son necesarias las pruebas?

Objetivos de las pruebas

 Adquirir conocimiento
 Confirmación de la funcionalidad
 Generación de información
 Confianza

¿Por qué son necesarias las pruebas?

 Porque el software es probado por seres humanos, y nosotros cometemos errores.


 Presión en las entregas, y asumimos cosas.
 Medir la estabilidad del software.
 Asegurarnos que el software hace lo que tiene que hacer.
 Costos, las fallas pueden ser más costosas en producción.
Sección 4: Proceso Fundamental del Testing

¿Qué es el proceso fundamental de testing?

La ejecución de pruebas es sólo una parte del proceso de pruebas, dependiendo del enfoque que
seleccionemos, el proceso de prueba va a realizarse en diferentes puntos del proceso de desarrollo.

El proceso de pruebas especifico de testing tiene diferentes fases, las cuales son:

1. Planeación y Control

2. Análisis y Diseño

3. Implementación y Ejecución

4. Evaluación y Reportes

5. Actividades de Cierre
Planificación y Control

1. Planificación y Control

 El control de las pruebas es una actividad continua, se realiza durante todas las fases del
proceso de prueba, pero influye específicamente en la planificación de las pruebas.

 El plan de pruebas maestro puede ser modificado en función de la información que


obtengamos a partir del control de pruebas.

 Para saber el estado del proceso de las pruebas vamos a comparar el proceso logrado con
respecto al planificado, en base a esto se tomarán las medidas correctivas, se preparan y se
toman decisiones.

Las tareas del Control serán:

 Medir y analizar los resultados de las pruebas: Para saber cuántas fallaron, pasaron, la
cantidad, tipo y la importancia de defectos encontrados
 Monitorear y documentar el progreso: Acá vamos a descubrir cuántas pruebas se
completaron y cuántas faltan, cuáles son los resultados y riegos encontrados.
 Proporcionar información de las pruebas: Se enviarán reportes a los stakeholders sobre el
estado de las pruebas para que estos tomen las acciones necesarias.
 Iniciar acciones correctivas: Dependiendo de lo que necesitamos corregir, es posible que
tengamos que ajustar criterios de salida para los defectos, o priorizar defectos bloqueantes.
 Toma de decisiones: Determinamos si continuamos o no con las pruebas.

Las tareas del Planificación serán:

 Determinar el Alcance & los Riesgos: Nos preguntamos qué vamos a probar (software
completo, un componente u otro producto)
 Identificar los Objetivos de las pruebas y los criterios de salida.
 Determinar el enfoque de pruebas: ¿Cómo ejecutaremos las pruebas?, ¿Qué técnicas vamos a
usar?, ¿Qué es lo que se va a probar?, ¿Qué tan extensamente serán las pruebas?, es decir,
vamos a definir las coberturas de las pruebas, quienes van a participar en el equipo y durante
cuánto tiempo. Estrategia de pruebas.
 Adquirir los recursos requeridos por las pruebas: Necesitamos determinar la cantidad de
recursos, a nivel de personas, computadores, software necesario, del entorno de pruebas,
presupuestos, establecer fechas para las tareas de las demás fases del proceso, como los son las
tareas de diseño, implementación, ejecución y evaluación.

 Seleccionar las condiciones de entrada y salida: Son las condiciones de las pruebas.

Lo que se concluya en estas tareas se va a plasmar en documentos, estos documentos también se


utilizarán en todas las fases.

Los tipos de documentos serán:

 Plan de Pruebas: Es el que describe el alcance, el enfoque, los recursos y el calendario de las
actividades previstas.
 Estrategia de Pruebas: Describe a alto nivel los niveles de prueba que se van a realizar.
 Enfoque de Pruebas: Este incluye el análisis de riesgos, puntos de inicio respecto al proceso de
pruebas técnicas de diseño que vamos a aplicar, los criterios de salida y los tipos de prueba a
ejecutar.

Análisis y Diseño

2. Análisis y Diseño

Esta actividad es donde los objetivos generales de las pruebas se transforman en condiciones de
pruebas, que sean tangibles, se transforma en casos de pruebas.

Las tareas más importantes que encontramos en esta fase son:

 Revisión de elementos: Revisamos los requerimientos, las arquitecturas, las especificaciones de


diseño, las interfaces, y usamos estas bases para empezar con el diseño de las pruebas.
 Testeabilidad: Vamos a evaluar si los elementos básicos mencionados en la tarea anterior
pueden testearse o permiten generar casos de prueba en base a ellos.

 Identificación y Revisión de las condiciones de Pruebas: Basándonos en las tareas anteriores


vamos a obtener una lista de lo que nos interesa probar realmente.

 Diseño de casos de pruebas: Positivos y negativos.

 Entorno: Validar que el entorno está disponible, que se puedan administrar los usuarios, carga
de datos.

 Determinar las herramientas necesarias: Procesos, procedimientos o responsabilidades


necesarios. Aquí lo que se hará es seleccionar, proveer, instalar y operar las herramientas de
pruebas.
Implementación y Ejecución

3. Implementación y Ejecución

En esta etapa realizaremos la ejecución de las pruebas, ya sea de forma manual o mediante el uso de
alguna herramienta.

Las tareas más importantes que encontramos en esta fase son:

 Finalización de los Casos de prueba: En esta fase se van a finalizar (si no se finalizaron en la
fase anterior), implementar y priorizar los casos de prueba y los procedimientos (scripts de
automatización), Set de pruebas.
 Trazabilidad: Verificar que se pueda realizar una trazabilidad entre los elementos básicos de
prueba (requerimientos, prototipos) y los casos de prueba, a través de uno debo poder llegar al
otro.

 Ejecución: Teniendo los casos de pruebas, se ejecutan de manera automática o manual.

 Resultados: Una vez que se ha ejecutado, se registran los resultados obtenidos (identidades y


versiones de software, herramientas de pruebas usadas)

 Comparación: Comparamos los resultados actuales (obtenidos de las pruebas) con los


resultados esperados.

 Informe: Defectos, informe de defectos.

 Repetición: Repetir las actividades de prueba para confirmar una corrección después de que el
defecto ha sido corregido, esta tarea se llama retesting. Realizar test de regresión.

Evaluación y Reportes

4. Evaluación y Reportes

Es la actividad donde la ejecución de las pruebas es evaluada contra los objetivos que se definieron
previamente.

Las tareas más importantes que encontramos en esta fase son:

 Comparación: Comparar los registros de prueba contra los criterios de salida especificados en


la fase de planificación.
 Evaluación: En base a los resultados de la tarea de comparación, evaluamos si se necesitan
ejecutar más pruebas o si el criterio de salida debe modificarse.
 Reporte: Preparar un resumen de las pruebas ejecutadas para que las partes interesadas estén
al tanto de nuestro trabajo y avance.

Actividades de Cierre

5. Actividades de Cierre

Son las ultimas actividades que realizamos en nuestro proceso de fundamental de testing, y
básicamente nos sirve para concluir con todas las pruebas.

Las tareas más importantes que encontramos en esta fase son:

 Recolección de información: Recolectamos la información de las actividades de pruebas


completas.
 Verificación: Verificar que todo haya sido entregado y probado, verificar que las pruebas y la
documentación acordadas haya sido entregadas al cliente según lo definido en el plan de
pruebas.
 Documentación: Vamos a documentar todos los casos de prueba ejecutados, todos los
resultados obtenidos, los bugs encontrados, la aceptación del sistema.
 Análisis de lecciones aprendidas: Esto nos sirve para futuros proyectos, mejoras al software,
observar donde hubo más fallas.

Sección 5: Modelos de Desarrollo de Software

Estos modelos son utilizados para el desarrollo del software y también incluyen actividades del proceso
de las pruebas.

Dependiendo del modelo que escojamos en nuestro proyecto va a tener un distinto enfoque hacia las
pruebas.

Tenemos dos grupos, el primero es el Modelo V, que describe los niveles de desarrollo y niveles de
pruebas como dos ramas que están relacionadas. Por otro lado, los Modelos Iterativos, los más
importantes son: RUP, XP y Scrum.

Modelo V

Este modelo busca regular el proceso de desarrollo de software y minimizar los riesgos del proyecto en
general. Es un proceso ideal por su robustez para pequeños proyectos de 1 a 5 personas.

1. Definición de Requisitos                               Pruebas de Aceptación

2. Diseño Funcional del Sistema                       Pruebas de Sistema

3. Diseño Técnico del Sistema                          Pruebas de Integración

4. Especificaciones de Componentes               Pruebas de Componentes

Programación

El modelo representa las relaciones temporales entre las distintas fases del ciclo de desarrollo en un
mismo proyecto.

Este modelo considera al testing como una actividad paralela al desarrollo de software, por lo tanto, las
actividades de testing se realizan en cada una de las fases del proceso de desarrollo.

Rama de Pruebas

También podría gustarte