¿Se considera “extraño” o “desperdicio” cuando hay una mayor cantidad de control de calidad de software que los desarrolladores de software en una pequeña empresa de software?

Eso generalmente sugiere que el corazón de la compañía está en el lugar correcto, aunque sus ingenieros de producto tienen un mal proceso, están desperdiciando dinero al no automatizar, o están contratando ingenieros de software de baja calidad en la prueba.

Tener personas de control de calidad separadas es importante porque toma una mentalidad diferente y funciona mal cuando comparten las suposiciones de los desarrolladores de productos con respecto a lo que funciona. El producto de construcción se trata de satisfacer los requisitos al costo mínimo; mientras que el control de calidad se trata de descubrir cómo las cosas pueden romperse y funcionar en situaciones inesperadas. Como desarrollador de productos, escribo casos de prueba para las condiciones que codifico y asumo que las bibliotecas funcionan, lo cual no siempre es el caso: mi producto actual falló con caracteres internacionales porque la mayoría de las bibliotecas estándar de C ++ no manejan cadenas de la manera que requiere la especificación del lenguaje. Un desarrollador de software en prueba no haría eso.

Por el contrario, la entrega de productos de alta calidad en un horario rápido y predecible requiere que los desarrolladores escriban sus propias pruebas automatizadas de entregables. Eso garantiza que el código del producto esté diseñado para la prueba con el costo total de código más bajo, y evita el tiempo perdido a medida que el código se desvanece de las mentes de los desarrolladores mientras esperan que se entreguen las pruebas antes de verificar el código.

Más personas de QA sugieren que los ingenieros de producto no están haciendo eso, la compañía está contratando botones en lugar de desarrolladores de software de prueba, o no están contratando bien. Aunque el código de prueba a menudo no es trivial, muchas organizaciones contratan a desarrolladores de software en prueba que no pudieron obtener trabajos para desarrollar productos, lo cual es un enfoque incorrecto: las empresas deben contratar buenos ingenieros de software para ambos roles, solo buscando intereses y disposiciones diferentes. Los desarrolladores con períodos de atención más cortos a menudo obtienen mejores resultados en el control de calidad, donde el código de caso de prueba es más independiente de los resultados previos que el desarrollo del código de característica del producto en años de trabajo.

Ocasionalmente, el código de prueba debe ser más complicado que el código del producto, aunque esto es raro y los ingenieros de producto deben asumir gran parte de esa carga. Los sistemas distribuidos son a menudo más difíciles de verificar que implementar, aunque los desarrolladores de productos deben diseñar para minimizar el esfuerzo necesario para validarlos y construir el marco necesario que pueden hacer más rápido porque están familiarizados con el funcionamiento del código del producto.

Realmente depende de cuán cortadas y secas sean los trabajos del personal de control de calidad. Fui líder de control de calidad, pero también presenté a los clientes, manejé problemas técnicos para las ventas y realicé una amplia variedad de tareas de gestión de productos.

No estoy de acuerdo con que sea una señal de que los desarrolladores no están probando su trabajo. Eso puede ser cierto, pero dependiendo de la complejidad del software, a veces se requiere tener una relación de más de 1: 1.

La automatización de pruebas es de gran ayuda, pero incluso allí la inversión inicial en QA es enorme y puede requerir una mayor fuerza de QA.

Por lo que vale, el control de calidad realizado correctamente y diligentemente es un oficio en sí mismo. Puede pagarle a alguien para que use el teclado todo el día, pero eso no es un trabajo efectivo de control de calidad. Una buena persona de control de calidad generalmente comprende el funcionamiento del software, bajo una amplia variedad de circunstancias, mejor que cualquier desarrollador del equipo.

Bueno, eso depende de

a. cuán complejo es el software

si. cuán costoso es si los errores llegan al cliente (por ejemplo, ¿se perderán vidas si el software comete un error? ¿Se tendrán que cerrar las líneas de producción? ¿Se desviará una nave espacial de mil millones de dólares?) – o estamos hablando sobre un juego que anotó mal algo

Consideraría una señal de que los desarrolladores no son responsables de probar su propio código, y que el software de la compañía no está diseñado para ser probado automáticamente.

More Interesting

¿Cuál prefiere, desarrollador de software o soporte? ¿Por qué?

¿Cuáles de las compañías de desarrollo de software más grandes tienen oficinas en o cerca de Washington DC donde contratan nuevos ingenieros / desarrolladores de software?

¿Qué piensan los desarrolladores del anuncio de Cragislist 'Buscando dos malditos grandes desarrolladores'?

¿Cómo es el desarrollo de software en SpaceX?

¿Qué debería necesitar para el desarrollo de Android?

Como desarrollador, ¿cuál es la peor historia de terror que tiene para encontrar y corregir un error de software?

¿Me puede decir algo acerca de la programación que siente que conoce de manera única?

¿Debo dejar mi trabajo como desarrollador de software para una gran empresa para concentrarme al 100% en la universidad (estoy en el segundo año y tengo uno más que completar. Estudio ciencias de la computación)?

¿Cómo es útil la certificación Six Sigma en la industria de pruebas de software?

¿Los desarrolladores temen ser eliminados por los desarrolladores jóvenes cuando envejecen?

Actualmente estoy trabajando como ingeniero de control de calidad, pero quiero cambiar mi carrera y ser desarrollador de software. ¿Cómo debo proceder para lograr esto? ¿Debo dejar mi trabajo actual y comenzar a trabajar en otro?

¿Cuál es la diferencia entre desarrollador de software y codificador?

¿Cómo puedo trabajar como buen desarrollador de software?

Como desarrollador de software y una persona altamente insegura, temo hacer una revisión del código, ya que me siento tonto cuando mis colegas revisan mi código. ¿Qué tengo que hacer?

Imagine que tiene un hijo, y él le pide tres cosas que debe hacer para convertirse en un gran desarrollador. ¿Qué le dirías a él?