Cómo saber como probador si es culpa de un diseñador o de un desarrollador

Tengo unos 25 años de experiencia en desarrollo de software. Si bien nunca tuve un código de control de calidad formal, escribí código, diseñé sistemas y administré equipos de software. Supongo que su pregunta es sobre software.

Para comprender si un problema es un error de diseño o un error, debe comprender cuál fue el diseño previsto. Si se utilizó una metodología más tradicional, debe haber documentos de diseño que especifiquen el comportamiento esperado del software. En una metodología más ágil, verificaría la epopeya, la historia o lo que sea que describa la funcionalidad prevista. Si no hay documentos, tendría que hablar con quien le haya dado al desarrollador sus órdenes de marcha.

Si el software funciona según lo dictado por el diseño, y ese diseño en sí mismo es un problema, entonces es culpa del diseñador. Si el software se desvía del diseño, es culpa del desarrollador. Si el problema está en los detalles no detallados por el diseño, es un área gris; si el diseñador debería haberlo explicado, es culpa del diseñador; Si la funcionalidad del nivel inferior es responsabilidad del desarrollador, es culpa del desarrollador.

Por lo general, en proyectos de software más grandes existe un sistema de gestión de defectos, que se utiliza para rastrear defectos tanto antes como después de que se lance el software. Como probador de control de calidad, es mucho más importante describir con precisión un defecto y colocarlo en ese sistema para que pueda llamar la atención, que identificar exactamente de quién es la culpa.

“Encontrar fallas” rara vez es un enfoque útil al crear software. Es mucho más útil concentrarse en la mejor manera de abordar cualquier problema, evitar su repetición y avanzar hacia la finalización exitosa del proyecto.

Realmente no estoy al tanto de las pruebas. Espero que sí, si encuentra fallas en la GUI, entonces la falla de su diseñador. Si las cosas no salen como se esperaba y la lógica empresarial falla en algún lugar, entonces su desarrollador falla. Al final del día, deberá depurar el problema en todos los niveles de redes, bases de datos, aplicaciones, Middleware y en todas las capas TCP-IP. por lo que debe saber qué equipo contribuye en qué parte de la aplicación en lugar de diseñador o desarrollador.

No siempre podrás decirlo.

Mi pregunta es, ¿realmente necesitas saber?

Como ingeniero (y ex diseñador), lo que quiero del control de calidad es la confirmación de que las cosas funcionan según lo definido, o si está mal, detalles sobre cómo difiere exactamente de lo que se suponía que debía entregarse . No deberías tener que culpar. Es más trabajo para ti y podrías estar equivocado. Si describe el problema con mucha precisión, el equipo debería ser capaz de averiguar rápidamente de quién hacer la lista de tareas pendientes.

Si es culpa del diseñador, su interfaz será fea, confusa, desorientadora, inconsistente, etc.

Por otro lado, si es culpa del desarrollador, podría congelarse, mostrar tonterías, bloquearse o algo por el estilo. Errores obvios.

Esta pregunta es similar a la pregunta “¿Cómo puedo saber si mi casa se está desmoronando o si se diseñó mal?” Debería haber una clara diferencia. Un diseñador se ocupa de cómo se ven las cosas, su organización y arquitectura (desde su punto de vista), mientras que el trabajo del desarrollador es hacer que la arquitectura realmente haga algo.

Por otro lado, hay un poco de una línea borrosa. Los diseñadores pueden especificar un comportamiento que es lo suficientemente extraño como para parecer casi un error que sería culpa del desarrollador, pero no lo es. Lo que ayudaría mucho es tener algún tipo de documento de diseño, para que esté seguro. Como es el caso con la mayoría de las cosas, es borroso.

si supera los requisitos pero causa un problema con otra parte del sistema que también está funcionando según los requisitos, entonces es culpa de los diseñadores …

Si la parte del sistema no cumple un requisito, entonces es culpa del desarrollador …

Además, si existe un conflicto entre los requisitos, el diseñador debería haberlo detectado, pero también es responsabilidad del desarrollador llamar la atención si se ha salido de las grietas …

Siempre es culpa del diseñador. Es una broma.

En realidad, no importa en lo que respecta a las pruebas, si no cumple con los requisitos, usted falla. No tienes una forma real de saber qué ha sucedido entre los equipos. Puede haber alguna documentación, puede que no.

Me imagino que esta sería la parte interesante del trabajo de prueba, reunir a las dos partes y determinar qué se supone que debe hacer algo.

Los diseñadores nunca pueden dar cuenta de todas las variaciones, como tampoco el desarrollador. Por eso se prueba.

No caigas en la trampa de encontrar a alguien a quien culpar, solo harás enemigos, solo encontrarás soluciones y sigue adelante.

Como probador, no juegues al juego de la culpa.

Simplemente pruebe el software y complete el rastreador de errores.

Deje que el equipo técnico decida a quién pasar las correcciones de errores.

PD: es culpa del desarrollador 😛

Fallo de los diseñadores: se ve feo o difícil de entender.

Fallo de los desarrolladores: no interactúa ni responde a la facilidad de uso.

More Interesting

¿Qué es una arquitectura de nada compartido y una arquitectura de todo compartido? ¿Cuál es la diferencia entre ellos y cuáles son sus usos?

¿Cómo se colabora en proyectos de código?

En su opinión, ¿cuál es el mejor lenguaje de programación y por qué?

¿Cuándo deberías hacer una revisión de código?

¿Qué hay en una posición de gestión de productos de software que los candidatos deben tener un título de ingeniería?

¿Dónde puedo encontrar algunos ejemplos de documentos de diseño de software o plantillas que empresas como Google, Facebook y Amazon usan internamente?

Entre Google y Amazon, ¿para qué compañía es mejor trabajar como ingeniero de software? ¿Por qué?

¿Cuáles son los beneficios y las desventajas del desarrollo de software basado en la integración continua?

¿Qué es la gestión del conocimiento en el desarrollo de software?

¿Qué servidor de desarrollo utiliza habitualmente y por qué?

Cómo diferenciar entre no ser lo suficientemente inteligente frente a no esforzarse lo suficiente

En puestos relacionados con la ingeniería de software, cuando el requisito dice al menos 2 años de experiencia en programación, ¿cómo se definen / cuantifican exactamente 2 años de programación?

¿Cuáles son algunos recursos / software útiles para desarrolladores que usan Linux?

¿Cuál es la limitación del cambio de nombre de registro estilo Tomasulo?

¿La lista de los principales lenguajes de programación se reducirá o crecerá en el futuro?