¿Cuál es la diferencia entre DevOps y el desarrollador y probador de software?

La respuesta corta:

  • Desarrollador de software : uno que hace el software
  • Probador de software: alguien que se asegura de que el software funciona según las necesidades y requisitos del usuario
  • Devops ( desarrollo y operaciones) : aquel que permite la distribución del software desde el desarrollador hasta el probador / usuarios finales, mantiene la infraestructura necesaria para mantener el desarrollo y las pruebas en funcionamiento.

Respuesta larga:

Digamos que el software que escribimos es como un automóvil. Luego, los trabajadores que fabrican las piezas y las ensamblan juntas son desarrolladores, las personas que toman ese automóvil y se aseguran de que funcione bien son los probadores, hay como los conductores de prueba y las personas que hacen pruebas de choque en el producto terminado. Ahora, DevOps son personas que se aseguran de que la Fábrica esté equipada para ejecutar y entregar el alcance del automóvil desde cada Fábrica a los Conductores de prueba, así como a las salas de exposición.

Con esta perspectiva,

Los desarrolladores de software son aquellos que:

  1. Obtenga los requisitos y el diseño y conviértalos en una aplicación de software funcional utilizando el Tech Stack (lenguaje de programación, plataforma, base de datos, etc.) presentado por Architect.
  2. Se asegurarán de que cada programa trabaje con multas, en otras palabras, ‘probarán la unidad’ de los programas / código.
  3. Asegúrese de que la aplicación pueda manejar el volumen esperado de datos / carga y falle correctamente cuando se sobrecargue.
  4. Repare cualquier ‘Error’ o ‘Defecto’ encontrado por los Probadores (lea la sección de Probadores a continuación).

Devops (Desarrollo y Operaciones) son aquellos que:

  1. Obtenga el código fuente del repositorio común utilizado por el equipo de desarrollo de software, conviértalo en un paquete.
  2. Con las herramientas de software, exporte el paquete a una plataforma de distribución como Google Play Store / Apple App Store / IBM MaaS 360 / VMware’s Air Watch, etc.
  3. Configure y mantenga la infraestructura requerida para el equipo de desarrollo y prueba.
  4. Automatice el proceso de creación, empaquetado y despliegue del software en las plataformas de distribución requeridas.

Los probadores de software son aquellos que

  1. Obtenga una versión funcional / estable de la plataforma de distribución y pruébela.
  2. Durante la prueba, verificarán si el software se creó con los requisitos y condiciones acordados.
  3. Sujete el software a diversas cantidades de cargas de usuario, entradas no válidas y condiciones de recursos extrañas (red defectuosa, poca memoria, poca batería, largas horas de inactividad) y asegúrese de que el software las maneja con gracia.
  4. Si el software no puede manejar o no cumple con los requisitos, los evaluadores generarán un ‘error’ o ‘defecto’ y se lo comunicarán a los desarrolladores.
  5. Automatice algunas / todas las pruebas posibles utilizando herramientas de automatización.

Respuesta corta:

Devops no es un equipo o título separado, incluye a todos los poseedores de su proyecto.

Respuesta larga :

Devops se trata de tres principios básicos, si alguien de los titulares de la pila de proyectos está siguiendo estos tres principios, usted es una persona DEVOPS.

Estos tres principios son:

  1. Fluir :

Intenta aumentar el flujo de trabajo de izquierda a derecha en la tubería utilizando todos los medios y procesos disponibles.

2) Realimentación :

Intenta obtener retroalimentación tan pronto como sea posible y actúa sobre eso.

3. Aprendizaje continuo y experimentación:

Continuamente está aprendiendo y experimentando con sus procesos y conjuntos de habilidades que su proyecto requiere o puede requerir.

Si estás haciendo estas tres cosas, entonces eres devop, el título de tu trabajo puede ser diferente, pero tus acciones son perfectas para un devop.

En otras palabras, si estás involucrado en cada parte de tus proyectos en roles más grandes o más pequeños, entonces estás haciendo devops. Si usted es parte de solo una o dos partes específicas, entonces solo pertenece a esa parte.

La diferencia entre DevOps y el desarrollador de software no es tan grande.

Por lo general, el equipo de DevOps tiene conocimientos sobre el desarrollo de software y el mantenimiento del servidor con herramientas de integración como (Docker, Jenkins, JBoss, etc.)

Pero el rol de desarrollador de software solo se ocupa del desarrollo. En su mayoría, el diseñador de UI / UX (desarrollador front-end) pertenece a esta categoría.

Software Tester se ocupa de probar la aplicación desarrollada. Puede ser una aplicación web / de escritorio / móvil.

HTH

DevOps no es realmente un trabajo o un rol. DevOps es una mentalidad y un enfoque para mejorar la coordinación y la colaboración entre dos disciplinas distintas (desarrollo y operaciones). He visto una tendencia creciente hacia las empresas que publican descripciones de trabajo con el título de “Ingeniero DevOps”. Es posible que tenga a alguien que sea responsable de configurar la automatización que sea compatible con DevOps, y llame a esa persona su ingeniero de DevOps. Puede ser alguien con experiencia en desarrollo de software o experiencia en operaciones. Realmente sería un papel híbrido, que requeriría la comprensión de ambas disciplinas, y tales individuos son raros. La situación más probable para esto es en startups muy pequeñas, en etapas iniciales, donde las personas realizan múltiples roles, porque tienen que hacerlo.

Trabajé en operaciones durante aproximadamente 15 años y luego 10 años en desarrollo de software. Sé cuán diferentes pueden ser los conjuntos de habilidades y por qué, en muchas organizaciones, las prioridades y los requisitos para cada grupo pueden estar en disputa, lo que requiere una iniciativa de DevOps para que trabajen juntos sin problemas.

Entonces, para responder la pregunta:

DevOps es una función híbrida que requiere habilidades y experiencia tanto en desarrollo de software como en administración y operaciones de sistemas.

El desarrollador de software es un programador que desarrolla software.

El probador de software es una persona que valida que el software desarrollado cumple con los requisitos y el nivel de calidad establecidos por la administración del producto. Los buenos probadores de software están orientados a los detalles, pueden tener un conocimiento muy limitado del desarrollo de software. En algunos casos, pueden participar en pruebas automatizadas, en cuyo caso son desarrolladores de software especializados y generalmente los llamamos ingenieros de pruebas de software.