ESCENARIO LABORAL EN LA ACTUALIDAD (OUTSOURCING)

1 ESCENARIO LABORAL EN LA ACTUALIDAD (OUTSOURCING)UNIVERS...
Author: Samuel Antonio Aguilar Araya
0 downloads 0 Views

1 ESCENARIO LABORAL EN LA ACTUALIDAD (OUTSOURCING)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

2 Ingeniería de SoftwareDefinició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)

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

4 Roles en Desarrollo de SoftwareDesarrollador de Software Desarrollador Analista Arquitecto Control de Calidad Manual Testing Automatización de Pruebas DevOps Automatización de Despliegue Entrega Continua (Continuous Delivery) Integración Continua (Continuous Integration) Administración de Proyectos de Software

5 Control de Calidad de SoftwareLa 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.

6 ¿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.

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

8 Pruebas de Control de CalidadEl 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. Obtener Resultado y Reportes Escribir Pruebas Organizar Pruebas Ejecutar Pruebas

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

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

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

12 Pruebas de Control de CalidadLas 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.

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

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

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

16 Automatización de Pruebas de Control de CalidadControl de Calidad Manual Control de Calidad Automatizado

17 Automatización

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

19 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.

20 PRUEBAS AUTOMATIZABLESPruebas 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.

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

22 Chapters – Se quita al administrado y se colocan líderesSquads Cambia el nombre de los equipos a Squads Chapters – Se quita al administrado y se colocan líderes Se cambian los líderes de los escuadrones y se puede tener un líder por cada capítulo, se quitan los administradores para mantener la jerarquía lo más plana posible.

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

24 Firmas que Intentaron el Cambio a SQUADSFallaron al Integrarse Se Adaptaron Se Adaptaron y Aferraron test

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

26 Que es DevOps? DevOps 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.

27 Cultura DevOps

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

29 Herramientas en DevOpsJenkins, Git, SVN, Bamboo, AWS, OpenHeat, Chef, Puppet, Ansible, Shell script, Bash, PowerShell, Python, Docker, TFS, MTM y otros.

30 Preguntas

31 Fin Muchas Gracias!