UNIVERSIDAD MAYOR DE SAN SIMN FACULDAD DE CIENCIAS

  • Slides: 31
Download presentation
UNIVERSIDAD MAYOR DE SAN SIMÓN FACULDAD DE CIENCIAS Y TECNOLOGÍA CARRERA DE INGENIERÍA DE

UNIVERSIDAD MAYOR DE SAN SIMÓN FACULDAD DE CIENCIAS Y TECNOLOGÍA CARRERA DE INGENIERÍA DE SISTEMAS ESCENARIO LABORAL EN LA ACTUALIDAD (OUTSOURCING) Disertantes : AVILA PEREZ ALVARO CHRISTIAN ZUBIETA ORTUÑO DANIEL MARCELO ZUBIETA ORTUÑO PABLO ANTONIO Cochabamba - Bolivia

Ingeniería de Software Definición: ◦ Es una disciplina de la ingeniería que comprende todos

Ingeniería de Software Definición: ◦ Es una disciplina de la ingeniería que comprende todos los aspectos de la producción de software desde las etapas iniciales hasta el mantenimiento después de su lanzamiento. (Ian Sommerville, 1996)

Desarrollo de Software Los ingenieros de software son los principales involucrados. Deben ser flexibles

Desarrollo de Software Los ingenieros de software son los principales involucrados. Deben ser flexibles y adaptables a los distintos tipos y esquemas de trabajo.

Roles en Desarrollo de Software Desarrollador de Software ◦ Desarrollador ◦ Analista ◦ Arquitecto

Roles en Desarrollo de Software Desarrollador de Software ◦ Desarrollador ◦ Analista ◦ Arquitecto Control de Calidad ◦ Manual Testing ◦ Automatización de Pruebas Dev. Ops ◦ Automatización de Despliegue ◦ Entrega Continua (Continuous Delivery) ◦ Integración Continua (Continuous Integration) Administración de Proyectos de Software

Control de Calidad de Software La calidad es un concepto subjetivo que engloba muchos

Control de Calidad de Software La calidad es un concepto subjetivo que engloba muchos atributos de calidad de un sistema de software como seguridad, eficiencia, portabilidad, estabilidad, experiencia de usuario, mantenibilidad y otros. Un medidor muy importante de la calidad del software son las pruebas.

¿Qué es un plan de QA? La sigla QA significa Quality Assurance, o aseguramiento

¿Qué es un plan de QA? La sigla QA significa Quality Assurance, o aseguramiento de la calidad. Esta trata de un conjunto de actividades de evaluación de las distintas etapas del proceso de desarrollo para garantizar que el producto final sea de calidad.

Pruebas de Control de Calidad Pruebas Unitarias: Algoritmos Pruebas Integración: Relaciones entre componentes Pruebas

Pruebas de Control de Calidad Pruebas Unitarias: Algoritmos Pruebas Integración: Relaciones entre componentes Pruebas de funcionalidad: Funcionalidad Pruebas Sistema: Requerimientos Pruebas de Aceptación: Implementacion Lógica

Pruebas de Control de Calidad El uso de pruebas permite conocer el estado de

Pruebas de Control de Calidad El uso de pruebas permite conocer el estado de un sistema y dependiendo de su categoría, proporcionan información de los atributos de calidad del sistema.

Escribir Casos de Prueba v Estructura depende del Test Case Core. v Titulo claro

Escribir Casos de Prueba v Estructura depende del Test Case Core. v Titulo claro no más de 80 caracteres. v Pre-requisitos de ejecución claros. v Descripción debe complementar el titulo. v Pasos que describan solo una acción. v Resultado esperado simple y concreto. v Ajuntar gráficos o videos en lo posible.

Organización de Pruebas v Áreas del software v Conjuntos de pruebas (Test Suit) v

Organización de Pruebas v Áreas del software v Conjuntos de pruebas (Test Suit) v Plan de pruebas (Test Plan)

Reportes De ejecución de Prueba Reportes a Nivel Global De conjuntos de pruebas (Test

Reportes De ejecución de Prueba Reportes a Nivel Global De conjuntos de pruebas (Test Suites)

Pruebas de Control de Calidad Las pruebas pueden ser manuales o automáticas. Diferentes tipos

Pruebas de Control de Calidad Las pruebas pueden ser manuales o automáticas. Diferentes tipos de pruebas pueden automatizarse convirtiéndose en una herramienta poderosa para medir los atributos de calidad.

Tipos de Ingenieros de Calidad Ingeniero de Calidad de Software Ingeniero de Automatización de

Tipos de Ingenieros de Calidad Ingeniero de Calidad de Software Ingeniero de Automatización de Control de Software Administrador de Ingeniería de Calidad

Ingeniero de Calidad v Identificar las pruebas más adecuadas. v Elaborar informes de resultados.

Ingeniero de Calidad v Identificar las pruebas más adecuadas. v Elaborar informes de resultados. v Revisar mejorar pruebas existentes. v Automatizar. (Nivel Básicointermedio) v Proactivo - Apoyar a otros colegas.

Ingeniero Automatización de Control de Calidad v Inicia como un Ingeniero de control de

Ingeniero Automatización de Control de Calidad v Inicia como un Ingeniero de control de calidad manual v Se entrena en la infraestructura existente o elabora una nueva. v Tiene conocimiento de diferentes lenguajes de programación. v Entiende los procesos de control de calidad v Identifica los procesos repetitivos que aporten mayor valor al ciclo de vida del desarrollo de software.

Automatización de Pruebas de Control de Calidad

Automatización de Pruebas de Control de Calidad

Automatización

Automatización

Automatización de Pruebas de Control de Calidad Ventajas: Desventajas: Disminuye significativamente el peso de

Automatización de Pruebas de Control de Calidad Ventajas: Desventajas: Disminuye significativamente el peso de la pruebas manuales. Toma un tiempo significativo desarrollar pruebas y un ambiente de automatización. Incrementa la eficiencia del control de calidad. Se requiere experiencia para el desarrollo del ambiente. Permite que las pruebas manuales se enfoquen en partes críticas del sistema Las herramientas tienen limitaciones.

PRUEBAS MANUALES Pruebas Exploratorias: Este tipo de pruebas requieren conocimiento, experiencia e intuición. Se

PRUEBAS MANUALES Pruebas Exploratorias: Este tipo de pruebas requieren conocimiento, experiencia e intuición. Se necesitan habilidades humanas para ejecutar el proceso de Pruebas en éste escenario. Pruebas de Usabilidad: ésta es una área donde se necesita medir la facilidad de utilización, la eficiencia, o la conveniencia del software para los usuarios finales. Pruebas Ad-hoc: en éste escenario, no hay un enfoque específico. Es un método de Pruebas totalmente sin planificar, donde el entendimiento y la concentración del Tester es el único factor importante.

PRUEBAS AUTOMATIZABLES Pruebas de Carga: las Pruebas Automatizadas son también la mejor manera de

PRUEBAS AUTOMATIZABLES Pruebas de Carga: las Pruebas Automatizadas son también la mejor manera de completar las pruebas eficientemente para éste caso. Ejecución Repetida: las Pruebas que requieren una ejecución repetida de una tarea, se realizan (…) Pruebas de Performance: Son Pruebas que requieren la simulación de miles usuarios utilizando los servicios disponibles, también requiere Pruebas Automatizadas. Pruebas de Regresión: para éste caso, las Pruebas Automatizadas son una buena opción, debido a los frecuentes cambios en el código y la habilidad para ejecutar las regresiones en tiempo y forma.

Adaptabilidad Los cambios siempre ocurren, a veces repentinos Product Backlog: SQUADS Sprint Backlog: Nueva

Adaptabilidad Los cambios siempre ocurren, a veces repentinos Product Backlog: SQUADS Sprint Backlog: Nueva funcionalidad SCRUM

Squads Cambia el nombre de los equipos a Squads Chapters – Se quita al

Squads Cambia el nombre de los equipos a Squads Chapters – Se quita al administrado y se colocan líderes

Guilds - Gremios Los Guilds o gremios están distribuidos a lo largo de la

Guilds - Gremios Los Guilds o gremios están distribuidos a lo largo de la organización:

Firmas que Intentaron el Cambio a SQUADS Fallaron al Integrarse Se Adaptaron y Aferraron

Firmas que Intentaron el Cambio a SQUADS Fallaron al Integrarse Se Adaptaron y Aferraron

Infraestructuras de Automatización de Pruebas Ingeniero de Calidad Script de Pruebas 1 Registrar Resultados

Infraestructuras de Automatización de Pruebas Ingeniero de Calidad Script de Pruebas 1 Registrar Resultados Script de Pruebas 2 Administrador de Pruebas Script de Pruebas n Datos para Pruebas Objetos Compartidos Utilitarios Gestor de Reportes Infraestructura de Automatización Entorno de automatización Generar Reportes

Que es Dev. Ops? Dev. Ops es una respuesta a la interdependencia del desarrollo

Que es Dev. Ops? Dev. Ops es una respuesta a la interdependencia del desarrollo de software y las operaciones IT. Su objetivo es ayudar a una organización a producir productos y servicios de software rápidamente.

Cultura Dev. Ops

Cultura Dev. Ops

Ideas Clave en Dev. Ops Ø Dev. Ops es una metodología para creación de

Ideas Clave en Dev. Ops Ø Dev. Ops es una metodología para creación de software Ø Dev. Ops se basa en la integración entre desarrolladores software y administradores de sistemas Ø Dev. Ops permite fabricar software más rápidamente, con mayor calidad, menor coste y una altísima frecuencia de releases

Herramientas en Dev. Ops Jenkins, Git, SVN, Bamboo, AWS, Open. Heat, Chef, Puppet, Ansible,

Herramientas en Dev. Ops Jenkins, Git, SVN, Bamboo, AWS, Open. Heat, Chef, Puppet, Ansible, Shell script, Bash, Power. Shell, Python, Docker, TFS, MTM y otros.

Preguntas

Preguntas

Fin Muchas Gracias!

Fin Muchas Gracias!