La mayoría de las empresas de Internet tienden a utilizar procesos de desarrollo ágiles, que se centran principalmente en la integración continua, las pruebas de la unidad del desarrollador, la cobertura del código, etc. También tienden a lanzar funciones en fragmentos manejables y más pequeños (por ejemplo: Quora recientemente permitió publicar las respuestas automáticamente en Twitter), por lo que el intervalo entre lanzamientos sucesivos no es tan grande como para requerir un gran equipo de control de calidad. Estas compañías también tienden a tener equipos más pequeños. Las empresas tradicionales tienen ciclos de lanzamiento más largos (no todas las empresas, no siempre, pero se entiende), por lo que se hacen muchas cosas entre lanzamientos sucesivos, que requieren grandes equipos de control de calidad. Pero la calidad no equivale al tamaño del equipo de control de calidad, sino en gran medida a la prueba del desarrollador y la cobertura del código. Debido a los ciclos de lanzamiento más largos y a los equipos de gran tamaño, es posible que todos los casos de uso no estén cubiertos y, por lo tanto, se requiera un ciclo de control de calidad más largo y doloroso.
¿Por qué las compañías de software tienden a tener grandes equipos dedicados de control de calidad, pero la mayoría de las compañías de Internet tienen pequeños?
Related Content
¿Cuál es la mejor herramienta de gestión de proyectos / gestión de tiempos y por qué?
¿Cuáles son las desventajas de usar BigTable sobre MySQL, PostgreSQL o MongoDB?
Si bien he votado a favor de la respuesta de Raghavendra Kidiyoor, también cuestionaré su suposición básica de que las compañías de software tienen grandes equipos dedicados de control de calidad. Las proporciones promedio de dev: QA se ejecutan en cualquier lugar de 2: 1 a 7: 1 en toda la industria. No llamaría 6 o 6: 1 un equipo grande. Yo llamaría a eso una pandilla de cadenas mal trabajadas y mal trabajadas. También diría que 2: 1 es casi imposible de ver; En el camino, cada compañía reducirá los costos en algún momento y disparar cabezas es * casi siempre * en la estrategia de 3 viñetas (reducir los costos discrecionales (T&E, etc.), reducir las cabezas (como el RIF inferior del 5%, etc.) y salir de la rentabilidad. unidades de negocio (que es reducir cabezas, pero en su totalidad)).
Sin embargo, al final, cuanto más largo sea el ciclo de lanzamiento, más QA de fondo debe hacerse. Solo hay dos variables para sintonizar; tiempo y recursos. De ahí los números. En las compañías de software, los ciclos de lanzamiento rara vez son de integración continua y rara vez incluso los resultados de 2 o 3 semanas de sprints.
Impacto de un error en un producto lanzado = (a) Impacto en los usuarios + (b) Costo de reproducirlo + (c) Costo de arreglarlo + (d) Costo de liberar el arreglo.
Los cuatro (a) – (d) son más bajos para una compañía de internet.
(a) El impacto en un usuario en particular podría ser igual de grande, pero debido a que la solución se puede implementar más rápido, la duración del impacto es menor. Todos los usuarios se benefician de la solución de inmediato, por lo que el impacto general del usuario es menor.
(b) Errores más fáciles de reproducir, porque no hay configuraciones y personalizaciones ambientales particulares del cliente con las que lidiar
(c) El costo de la reparación es menor porque puede reparar, probar y lanzar solo la corrección de un solo error, sin un ciclo de prueba de integración para un “paquete de servicio” completo.
(d) El costo de liberar la corrección es mucho menor porque simplemente la implementa en sus servidores y no tiene que “actualizar” a todos sus clientes y mantener varias versiones y correcciones de puerto de retroceso / reenvío.
Por lo tanto, es más rentable hacer menos control de calidad inicial y sustituirlo con medidas que puedan “atrapar y solucionar” problemas posteriores al lanzamiento (operaciones, análisis de uso, lanzamientos diarios, etc.).
Obviamente, todavía se necesita un control de calidad inicial, pero los procesos de control de calidad estándar para el software retráctil no se aplican a los servicios de Internet.
More Interesting
¿Qué es la paradoja de los pesticidas en las pruebas de software?
¿Qué es lo peor que te puede pasar como ingeniero de software y cómo evitarlo?
Cómo diseñar un sistema distribuido para que pueda ser validado determinísticamente por pruebas
¿Qué tan difícil es programar un software como Facebook?
¿Cómo es el proceso de desarrollo de su producto?
¿Cuáles son las métricas por las que mide su proceso de desarrollo ágil?
¿Cómo se pasa de ser un programador promedio a ser un buen programador?
¿Cuáles son los pros y los contras de hacer trabajo de desarrollo en sprints?
¿Por qué la gente piensa que crear software es fácil?
¿Cómo es trabajar en Booking.com como ingeniero de software?
¿Soy ingeniero de control de calidad y quiero cambiar a Data Sciences? ¿Qué tengo que hacer?
Para los ingenieros que dejaron su trabajo para obtener un MBA, ¿cómo es la vida después de un MBA?
¿Hay algún buen trabajo para las pruebas de software para un tipo que tiene 1 año de experiencia?