Testing en Produccion: El Futuro del Testing

testing-produccionHoy en dia, todos sabemos la importancia del software testing en nuestras aplicaciones, el objetivo y alcance de las pruebas es un punto muy importante a tratar, para saber hasta donde llegar y que tipos de pruebas nos comprometos a entregar al cliente conjuntamente con el proyecto para garantizar la calidad del sistema.

Hasta ahora, cuando hablamos de testing, siempre tenemos en mente un escenario de desarrollo o pre-producción, pero estamos seguros de como se comportará nuestro software en un entorno de producción, cumplirá la expectativas del cliente y los resultados de las pruebas serán los mismos que las pruebas en laboratorio.

La respuesta, no lo sabemos al 100%, hay muchos factores que no podemos controlar o medir en un entorno real, sobretodo si no tenemos acceso directamente y no realizamos nosotros el despligue en producción, y por eso, debemos tener la posibilidad de realizar testing de nuestras aplicaciones en un entorno real.

El objetivo fundamental, a parte de garantizar la calidad de nuestro software, es poder realizar mediciones de los resultados y tener «fotos» de como se comporta el sistema, y poder comparar estas mediciones en el tiempo para saber la salud de nuestra aplicacion y ver si se va degradando con el tiempo.

En esta mini-guia de la empresa Global Logic, aunque ya tiene un par de años, podeis encontrar una lista de «TiP methodologies» recomendadas que podemos utilizar para realizar testing en producción.

testing-produccion-guia

Link Pdf: https://www.globallogic.com/wp-content/uploads/2013/06/Testing-in-Production.pdf

Como siempre, espero que os sea de utilidad.

 

Microsoft Solutions Framework 5.0 (MSF)

Microsoft Solutions Framework 5.0, abreviado como MSF, es un marco de trabajo flexible para la planificación de proyectos y gestión del ciclo de vida de las aplicaciones con Visual Studio 2010, válido para entornos tradicionales y para entornos ágiles, resumiendo un poco, nos brinda una solución para la optimización y mejora de los entornos de producción de software que nos permite crear proyectos de equipo y controlarlos mediante Team Foundation Server (TFS).

Segun las propias palabras de Microsoft, Microsoft Visual Studio Team Foundation Server y el núcleo de las herramientas de administración, puede aplicar procedimientos probados para administrar el ciclo de vida de su aplicación, desde comprender las necesidades del cliente hasta el diseño del código y la implementación. Puede usar la instrumentación de estas herramientas para realizar un seguimiento de las necesidades de código, compilaciones y resultados de las pruebas. Estos procedimientos pueden ayudar a su equipo a crear software que sus clientes valoren, lo que resulta más rápido y más confiable.

Puede usar estas herramientas para obtener los siguientes resultados:

Planeación y seguimiento: capture lo que es importante para sus clientes y realice el seguimiento del progreso de su proyecto. Represente los procesos y supervise su calidad para ayudar a su equipo a convertir las necesidades del cliente en software operativo.

Diseño: diseñe la funcionalidad, sobre activos existentes o desde el principio, usando los diagramas arquitectónicos para comunicar la información crítica acerca del software de su equipo.

Desarrollo: escriba, realice pruebas unitarias, depure, analice y genere perfiles de su aplicación mediante herramientas que se integran con el resto del ciclo de vida de la aplicación para que su equipo pueda comprender cómo su progreso contribuye al proyecto.

Compilación: compile su aplicación mediante el sistema de compilación integrado para que su equipo pueda asegurarse de cumplir los requisitos de calidad y ver qué requisitos se han cumplido en cada compilación.

Pruebas: ejecute pruebas manuales o automatizadas, incluidas las pruebas de rendimiento y de esfuerzo. Administre las pruebas sistemáticamente para que su equipo conozca la calidad del software en cualquier momento.

Implementación: implemente en entornos virtuales para habilitar un desarrollo y unas pruebas más sofisticadas.


Las características fundamentales a cubrir para la administración y gestion de proyectos son:

  • Captura de la visión del producto
  • Creación de los requisitos del producto
  • Desarrollo de la documentación
  • Establecimiento del proceso del proyecto
  • Administración de problemas
  • Planeamiento de una iteración
  • Planeamiento del proyecto
  • Administración del riesgo
  • Prueba de un requisito del cliente
  • Comprobación de un requisito del producto

Plantillas de procesos para MSF y TFS:

Microsoft Operations Framework 4.0 (MOF)

Microsoft Operations Framework, abreviado como MOF, proporciona un conjunto de prácticas recomendadas y guías de operaciones para obtener confiabilidad, disponibilidad y seguridad sobre la plataforma Microsoft administrando e implementando servicios IT más confiables y rentables para que la infraestructura de IT funcione con eficacia.

Según Microsoft, la optimización de infraestructuras va más allá de los productos y tecnologías. Las personas y los procesos constituyen una gran parte de la madurez del servicio de IT de la organización. Algunos estándares y procedimientos recomendados tratan las áreas relacionadas con las personas y procesos en la administración del servicio de IT. Microsoft Operations Framework (MOF) aplica gran parte del conocimiento incluido en las normas ITIL (IT Infrastructure Library)COBIT (Control Objectives for Information and related Technology) y las hace aplicables y factibles para los clientes de Microsoft.

Podemos decir que MOF es una ampliación de ITIL y COBIT, el modelo de procesos MOF se divide en 4 bloques: Cambio, Funcionamiento, Soporte y Optimización donde cada apartado se ocupa de un aspecto del ciclo de vida del sistema:

Funcionamiento

El bloque funcionamiento asume todas las tareas necesarias para mantener un sistema en un estado operativo correcto, como, por ejemplo, efectuar copia de seguridad de los datos, supervisar el estado del servicio y la administración de directorios y seguridad. En este apartado se realizaran las tareas relacionadas con la solución, las tareas operativas cotidianas y recomendaciones de control y supervisión.

Soporte

El bloque de soporte se encarga de los problemas del sistema y la recuperación / solución de los mismos después de que se produzcan. Entre otras tareas, se puede mencionar la recuperación de servidores y servicios, el servicio de asistencia y el análisis y solución de los problemas. Tambien podemos encontrar tareas relacionadas con la compatibilidad y administración de problemas de redes y conexiones inalámbricas.

Optimización

El bloque de optimización se ocupa de cómo mejorar el servicio que ofrece el sistema. En esta sección encontrará información clave sobre funciones como el planeamiento de capacidades, la disponibilidad y la administración de continuidad.

Cambio

El bloque de cambio se encarga del planeamiento e implementación de los cambios del entorno. Engloba la administración de cambios y versiones y la administración de la configuración. Este apartado contiene el subconjunto más habitual de los cambios que puede efectuar en la infraestructura IT y una descripción de los procesos de cambios y versiones asociados a ellos. También se incluye la información que se debe mantener en un sistema de administración de la configuración.

Mas información

  • MOF 4.0 Oficial Site
  • Guide MOF 4.0
  • IT Pro Quick Start Kit
  • Getting Started with MOF 4.0 Guide
  • MOF Reliability Workbooks
  • MOF Management Reviews
  • Cross Reference ITIL V3 and MOF 4.0
  • MOF Service Mapping
  • MOF Action Plan: Release Readiness for Windows 7
  • Bridging from MOF Guidance to Microsoft Products
  • Proyectos Agiles con Scrum

    ProyectosAgiles.org es una web sin ánimo de lucro que tiene el objetivo de ayudar a trabajar en un mundo cambiante, donde la innovación, la competitividad, la calidad y la productividad son fundamentales, utilizando Scrum. Para ello, queremos que aquí puedas encontrar el mejor conocimiento en español sobre esta alternativa ágil de gestión de proyectos.

    Una web que no podeis dejar de visitar, para conocer el proceso de Scrum y sobretodo por su Base de Conocimiento Agil y para aprender como gestionar proyectos con Scrum.


    Beneficios de Scrum

    Apartado muy interasante para conocer los principales beneficios de Scrum:

    Artículos destacados de ProyectosAgiles.org

    Curso Gratis Scrum Dia a Dia

    Desarrollado a principios de los 90, los primeros origenes de Scrum provienen de los estudios realizados a finales de los 80 por empresas como Canon, HP, Honda, Xerox y otras que tenian la necesidad de desarrollar productos novedosos que debían salir al mercado en menos tiempo que sus productos anteriores para ganar cuota de mercado y adelantarse a la competencia. La primera formalización real de Scrum fue realizada por Schwaber y Sutherland, durante el OOPSLA del año 1995.

    ¿Que es realmente Scrum?

    Podemos definir Scrum como una metodología ágil empleada en el Desarrollo de Software y la Gestión de Proyectos TIC, especialmente indicada para proyectos en entornos complejos, donde se necesita obtener resultados pronto, los requisitos cambian constatemente o estan poco definidos y donde la innovación, competitividad, flexibilidad y productividad son fundamentales para conseguir cumplir los objetivos del cliente. De hecho, Scrum es un término del Rugby que quiere decir «melé», cuyo significado es trabajar todos agrupados en equipo. Los actores que intervienen (scrum roles) los podeis ver en el grafico.

    Aunque existen muchos principios y ventajas de utilizar Scrum (ver Manifiesto Ágil), para mí, los 4 principios fundamentales son estos:

    • Importancia de los individuos más que los procesos y herramientas.
    • Entregar software que funciona más que documentación exhaustiva.
    • Colaborar con el cliente más que negociación de contratos.
    • Respuesta a los cambios más que seguimiento de un plan.

    Curso Dia a Dia con Scrum

    El Curso Día a día con Scrum lo podeis encontar en la web de DosIdeas, esta en castellano, y la verdad esta muy bien organizado y explicado para saber gestionar un proyecto por etapas mediante Scrum. El diagrama completo de scrum es este:

    En este curso veremos cómo se aplica Scrum, llevando un proyecto día a día con los distintos eventos y problemas que puedan ir apareciendo.

    • Concepto de Scrum y metodologías ágiles
    • Cómo comenzar un proyecto con Scrum
    • Preparación del equipo y artefactos necesarios
    • Tareas de gestión necesarias
    • Reuniones
    • Proceso de mejora
    • Gestión de Impedimentos e Imprevistos

    Introducción a Scrum

    Conceptos básicos de Scrum

    Sprint #0: Preparación

    El proyecto

    Elementos necesarios antes de empezar

    Sprint #1: Comienza el proyecto

    Día 1: planificación del Sprint

    Día 2: el primer Scrum

    Día 3: terminando las primeras tareas

    Día 15: fin del Sprint

    Sprint #2: Aumenta la velocidad

    Día 1: nuevo factor de foco y comienzo

    Día 10: el equipo finaliza su backlog

    Día 15: fin del Sprint con más historias

    Sprint #3: Impedimentos e Imprevistos

    Día 1: planificación del Sprint con mayor factor de foco

    Día 4: surge un impedimento

    Día 7: surge un imprevisto

    Día 9: atrasos

    Día 15: fin del Sprint e incumplimiento del compromiso

    Sprint #4: El equipo sigue avanzando

    Día 1: planificación del Sprint y ajuste del factor de foco

    Y el proyecto continúa…

    El proyecto sigue creciendo en funcionalidad, el equipo seguirá trabajando por Sprints, repitiendo y mejorando el proceso, junto al Dueño del Producto, hasta finalizar todas las entregas.

    Ejemplo de Sesión Scrum de Dos Ideas

    Para finalizar, aqui teneis una sesión de ejemplo ficticia de Scrum. Se listan las acciones y resoluciones que se toman en las distintas reuniones y momentos claves en un proyecto Scrum.

    link: Sesión de ejemplo Scrum

    LSSI en Proyectos TIC

    La LSSI o LSSICE significa Ley de Servicios de la Sociedad de la Información y del Comercio Electrónico y es una ley que fue publicada el 12 de Octubre de 2002 que pretende regular los servicios y las comunicaciones en Internet.

    La normativa legal de la LSSI depende del tipo de servicio que ofrece cada tipo de web:

    • Páginas web que permiten la compra / contratación de productos o servicios.
    • Empresas consideradas Prestadores de Servicios de Intermediación,  que ofrecen conexión y/o hospedaje, directorios y buscadores.
    • Páginas web de empresas, profesionales o particulares que generan ingresos, aunque no vendan productos o servicios, como ofertas, concursos, promociones, etc.

    Desde la web del Ministerio de Industria, Turismo y Comercio han publicado una guia con toda la infomación necesaria:

    Descargar guia: LSSI. La Ley de Internet Fácil en PDF

    Desde la web de Delitos Informaticos, destacan estos puntos importantes a tener en cuenta en cuanto a la presencia en Internet:

    • Nombre de dominio
    • Diseño y elaboración del sitio web
    • Publicidad
    • Protección de datos
    • LSSI
    • Protección de la marca
    • Seguridad informática
    • Sistemas de pago
    • Protege tu web: inscripción en el Registro de Propiedad Intelectual
    • Contratos informáticos

    Una lista mas detallada de las obligaciones que debe cumplir su proyecto TIC para cubrir la LSSI son las siguientes:

    • Estar legalmente capacitado para operar comercialmente
    • Informar sobre la identidad del comercio y comerciante
    • Informar sobre relaciones de transferencias con otros sitios web
    • Informar respecto al nombre de dominio y propietario
    • Informar al usuario de la recogida de sus datos personales LOPD
    • Consentimiento del interesado para la recogida de sus datos personales LOPD
    • Informar del uso de “cookies” si su aplicacion web las utiliza
    • Autorización previa para el envío de comunicaciones comerciales por vía electrónica
    • Autorización para comunicaciones comerciales, ofertas promocionales y concursos
    • Informar sobre el uso de datos personales para el envío de comunicaciones publicitarias
    • Informar sobre la validez y eficacia de los contratos celebrados por vía electrónica
    • Informar sobre las garantías de productos y servicios
    • Informar sobre los plazos de entrega
    • Informar sobre las politicas de devolución de productos
    • Informar sobre las politicas de devolución del dinero cobrado
    • Encriptar las transmisiones de datos mediante un sistema seguro
    • Disponer de un Servidor Seguro para las transacciones electrónicas
    • No debe recoger ni conservar los datos de las tarjetas de crédito o débito de los clientes para uso privado / interno.

    Otras recomendaciones importantes:

    • Informar sobre la propiedad intelectual de los contenidos de la web
    • Informar si dispone del servicio de Atención al Cliente
    • Informar si dispone del servicio de Logística
    • Informar si dispone de publicidad en la web
    • Informar de la limitación y exención de responsabilidad
    • Informar de la inserción de contenidos en la web por parte de los usuarios.

    Si quereis ampliar mas información, existe este libro «Todo sobre la LSSI y Comercio Electronico: Guia Legal Practica«, que podeis encontrar en Casa del Libro.

    Infracciones y Sanciones

    Para finalizar, aqui teneis las sanciones previstas por el incumplimiento de las obligaciones establecidas en la LSSI se califican como leves, graves y muy graves, imponiéndose en cada caso las siguientes sanciones:

    • LEVE: Multa de hasta 30.000 €
    • GRAVE: Multa de 30.001 € hasta 150.000 €
    • MUY GRAVES: Multa de 150.001€ hasta 600.000 €

    Bueno, pues hasta aqui la LSSI, espero que toda esta información aclare vuestras dudas y sea de utilidad en vuestros proyectos.

    LOPD en Proyectos TIC

    De la mano de Informatica64,  consultores expertos en legislación informática, planes de seguridad y analisis forense en entornos Windows, teneis disponible este fantástico libro gratuito publicado por Microsoft:

    El libro «La proteccion de datos personales en entornos Microsoft v.2.0»  es una edición revisada del primer manual, lanzado en 2002, con todas las novedades producidas en la LOPD en los últimos años. El libro está dirigido fundamentalmente a responsables de sistemas de información y responsables de seguridad de empresas y entidades, si bien también se utiliza como libro de texto en bufetes de abogados, clases de universidades, másters y ponencias relacionadas con la LOPD y la protección y privacidad de los datos, según explican desde Microsoft.

    Héctor Sánchez, director de Tecnología de Microsoft Ibérica, es el coordinador editorial y coautor del libro, junto a Chema Alonso y Juan Luis G. Rambla, de Informática 64; Antonio Soto, director de Solid Quality; David Suz Pérez, consultor de Microsoft Ibérica; José Helguero Sainz, economista, director de Helas Consultores y miembro de la Comisión de Seguridad de ASIMELEC; María Estrella Blanco Patiño, responsable de publicaciones de Helas Consultores; y Miguel Vega Martín, director de Marketing de IPS Certification Authority y miembro de la Comisión de Seguridad de ASIMELEC.

    Descarga Gratuita en formato PDF

    Libro «La proteccion de datos personales en entornos Microsoft v.2.0«

    Adecuación Sistemas Informáticos a la LOPD y LSSI

    Desde principios del año 2000, cualquier empresa o persona que lleva a cabo una actividad económica que tenga presencia en internet,  debe cumplir OBLIGATORIAMENTE los requisitos de la LOPD (Ley 15/1999) y la LSSI (Ley 34/2002).

    Esto, quiere decir que cualquier empresa/persona que disponga de una página web en la que ofrece servicios o productos, o que simplemente tenga una base de datos de clientes, debe cumplir con los requisitos que la ley correspondiente determina, bajo riesgo de multas que pueden ascender, en el caso de faltas leves desde 30.000 €, hasta sanciones muy graves de  600.000 €.

    En los siguientes post, ampliaré la información para saber como gestionar estos temas de LOPD y LSSI desde un punto de vista de Gestion de Proyectos TIC. Seguidamente teneis un breve resumen de los conceptos a tener en cuenta si desarrollais alguna Aplicación Web.

    Adaptación a la LOPD

    La LOPD establece una serie de obligaciones relativas a la recogida de datos, consentimiento, almacenaje, conservación, uso, datos especialmente protegidos, comunicación o cesión de datos, acceso, rectificación, creación de ficheros, alta en el Registro de la Agencia de Protección de Datos, etc.

    La gran mayoría de paginas web, recogen información personal y confidencial y debe ser tratada con la normativa oficial.

    • Notificación de los ficheros de datos a la Agencia de Protección de Datos
    • Adopción de las medidas de seguridad y el reglamento en función del nivel de seguridad
    • Redacción del documento de seguridad que recoge las medidas adoptadas.
    • Solo afecta a datos personales, NO afecta a datos de empresas.

    Pagina Oficial Agencia Española de Protección de Datos

    Adaptación a la LSSI

    Las páginas web que deben adaptarse a la nueva normativa legal de la LSSI dependeran del tipo de servicio que ofrecen desde su web:

    • Páginas web que permiten la compra / contratación de productos o servicios.
    • Empresas consideradas Prestadores de Servicios de Intermediación,  como, empresas que ofrecen conexión y/o hospedaje, directorios y buscadores.
    • Páginas web de empresas, profesionales o particulares que generan ingresos, aunque no vendan productos o servicios.

    Pagina Oficial Ley de Servicios de la Sociedad de la Información

    Conclusiones

    Para finalizar este post, recomiendo ver ejemplos reales, podeis visitar cualquier web actual de agencias de viajes, tiendas online, compra de entradas, etc  y buscar la sección de  «Aviso Legal», «Condiciones Generales», «Terminos Legales», «Politica de Protección de Datos»  o algo parecido, a veces incluso al final de cada pagina web, donde veremos algo como tiene la Web de PCCITY.

    Certificaciones Oficiales ITIL v3

    Las Certificaciones de Gestión de Servicios ITIL,  son de carácter personal y están dirigidas a profesionales del sector TIC o que trabajan en la prestación de servicios IT siguiendo procesos de funcionamiento organizados según los principios de ITIL. Para los interesados, aqui teneis el diagrama completo de todas las certificaciones disponibles dentro del mundo ITIL v3.

    Con cada examen aprobado, obtenemos unos creditos que vamos acumulando para obtener un mayor nivel y los famosos pins de ITIL de color verde, azul y rojo. El significado de cada modulo con sus siglas:

    SS = Service Strategy
    SD = Service Design
    ST = Service Transition
    SO = Service Operation
    CSI = Continual Service Improvement

    OSA = Operational Support & Analysis
    PPO = Planning, Protection & Optimization
    RCV = Release, Control & Validation
    SOA = Service Offerings & Agreements


    Puestos de trabajo relacionado con ITIL

    Para profesionales certificados en ITIL, aqui teneis una lista de puestos de trabajo demandandos en el mercado laboral:

    • Experto en ITIL
    • Service Manager con ITIL
    • Arquitecto Formación Servicios ITIL
    • Arquitecto Servicios ITIL
    • Técnico de Sistemas Abiertos/Tecnología ITIL
    • Consultor ITIL
    • Consultor Junior ITIL
    • Consultor Senior Procesos ITIL
    • Consultor Metodología ITIL
    • Consultores ITIL-IT Management
    • ITIL Consultant, Global Problem Management

    Guía de Examenes ITIL V3

    Para consultar la guia de examenes disponibles en la web EximExams tienen todos estos disponibles:

    Examen de prueba: http://taruu.com/qtest.aspx

    ITV3F ITIL® V3 Foundation
    ITV23FB ITIL® V3 Foundation Bridge
    ITV3SS ITIL® V3 Intermediate: Service Strategy
    ITV3SD ITIL® V3 Intermediate: Service Design
    ITV3ST ITIL® V3 Intermediate: Service Transition
    ITV3SO ITIL® V3 Intermediate: Service Operation
    ITV3CSI ITIL® V3 Intermediate: Continual Service Improvement
    ITV3OSA ITIL® V3 Intermediate: Operational Support & Analysis
    ITV3PPO ITIL® V3 Intermediate: Planning, Protection & Optimization
    ITV3RCV ITIL® V3 Intermediate: Release, Control & Validation
    ITV3SOA ITIL® V3 Intermediate: Service Offerings & Agreements
    ITV3MLC ITIL® V3 Intermediate: Managing Across the Lifecycle
    ITV23MB ITIL® V3 Managers Bridge

    Curso Gratis ITIL Foundation v3

    Desarrollado a finales de los 80 en UK, ITIL (Information Technology Infrastructure Library), se ha convertido en un estándar mundial de facto en la Gestión de Servicios Informáticos para las empresas y departamentos TIC y es utilizado mundialmente.  Su estructura de base ha demostrado ser útil para las organizaciones en todos los sectores a través de su adopción por innumerables compañías como base para consulta, organización, educación y soporte. Actualmente van por la Version3 (v3) y es de libre utilización. En la web oficial de ITIL (en inglés) podeis consultar toda la información.

    ITIL este basado en el ciclo PDCA (Plan, Do, Check, Act), también conocido como circulo de Deming,  ampliamente utilizado en la Gestión de Empresas como sistema de mejoría continua dentro de los procesos empresariales.

    El ciclo de vida del servicio de ITIL consta de 5 fases que se corresponden con 5 libros uno por cada fase, el esquema fundamental de ITIL v3 es este:

    1. Estrategia del Servicio: propone tratar la gestión de servicios como un activo estratégico, es decir, que servicios se prestarán, a que clientes y en que mercados.
    2. Diseño del Servicio: cubre los principios y métodos necesarios para transformar los objetivos estratégicos en portafolios de servicios y activos.
    3. Transición del Servicio: cubre el proceso de transición para la implementación de nuevos servicios o su mejora.
    4. Operación del Servicio: cubre las mejores prácticas para la gestión del día a día en la operación del servicio.
    5. Mejora Continua del Servicio: proporciona una guía para la creación y mantenimiento del valor ofrecido a los clientes a traces de un diseño, transición y operación del servicio optimizado.

    Para los interesados en este tema, se ha publicado en www.osiatis.es un curso gratuito de introducción a fundamentos de ITIL v3 donde nos explicará conceptos como:

    – Introducción a la Gestión de Servicios
    – Los principios claves y modelos de ITSM
    – Los procesos y funciones
    – Los objetivos y conceptos de la Gestión de ITIL
    – Service Desk y SPOC
    – Gestión de la seguridad
    – Gestión de la disponibilidad
    – Gestión de las aplicaciones
    – Gestión de las operaciones
    – Estructura de la organización y roles importantes, modelo RACI
    – Los requisitos para una tecnología integrada de ISTM
    – Preparación del Examen para certificación

    Guía completa del curso ITIL v3:

    00 Introduccion a ITIL v3

    01 Estrategia de los Servicios TI

    02 Diseño de los Servicios TI

    03 Transición de los Servicios TI

    04 Operación de los Servicios TI

    05 Proceso de la mejora continua de los Servicios TI

    Curso Completo ITIL V3 en web de Osiatis

    Certificación ITIL

    Si estais interesados en estos temas y quereis certificaros, un curso de ITIL foundation suele durar 24 horas y tiene un coste aproximado de 350€ a 450€ con examen de certificicacion incluido.

    En este enlace teneis un examen de prueba: http://taruu.com/qtest.aspx