Bueno la verdad el tema de Control de Calidad del software no se lo ve mucho (sino es nada) en la Universidad. Pero en el mundo real los testers (QE) son parte importante del desarrollo para asegurar la calidad de un producto de software.
Ahora bien que tiene que ver un developer con un tester, pues mucho. La verdad que muchas veces tienes que sermuy bueno para detectar errores (especialmente los rebuscados), entonces para ser un buen developer, previamente deberias conocer muchas cosas de las que verifican los testers en tus programas, asi te adelantas y envias a control de calidad la menor cantidad de errores, de tal forma que se tenga un producto de mejor calidad.
Sin embargo ya lo deciamos con mi compañeros desde primer semestre, un software nunca va a terminarse, y siempre, pero siempre tiende a tener errores, nunca un developer puede ser perfecto. Algo que me llamo mucho la atención es lo que menciona Manfred Ratzmann, Clinton de Young [1] , en cuanto al proceso que debe seguir el control de calidad: planificacion de testeo, diseño, especificación, procesos, ejecucion, reportes, regresion y bueno ahi regresa al developer, o sea el ser un buen tester tampoco es tarea tan sencilla, aunque supongo que sigue siendo más sencilla que la de un developer, quizás cuando pruebe ser tester o alguien de automatización :).
Algunos puntos para las empresas que deben considerar para el control de calidad de sus propios productos, los desarrollados en la misma empresa:
1. Ese software no debe ser testeado dentro la misma empresa.
2. La comunicación entre análisis de negocio, developers y testeo es sumamente importante, de vida o muerte.
3. Un desarrollador no es el indicado para asegurar que su producto tiene calidad. (Asi de duro :) )
4. No se debe testear aquello que no ha sido implementado.
5. Donde se encontraron errores, es más probable que luego existan mas.
De donde saco el punto 4 que no parece tener sentido, como voy a probar algo que no ha sido implementado ?. Bueno esto puede suceder por la falta de comunicación, sucede en la vida real que, yo developer tengo un documento de especificación de requerimientos, analizo, diseño, implemento, y hago la entrega de mi programa a los de control de calidad. Sucede que cuando estoy haciendo la entrega a control de calidad, análisis de negocio me dice: "Bueno hace unos días surgieron cambios en los requerimientos aprobados por el cliente" (ese documento Control de Calidad ya lo tiene desde hace "algunos dias"). Entonces supondra que el programa que entregue contempla dichos cambios, entonces sucede que, control de calidad muy enojado dice "El programa no sirve" (critica nada constructiva), entonces todos se enojan y bueno .. se desencadena en un montón de situaciones (estoy exagerando un poco mi experiencia para mostrar las cosas que podrian pasar :) ).
Bueno espero les sirva un poquito todo esto que lo saque de un libro, la parte que comenta Manfred Ratzmann, Clinton de Young y el resto de mi experiencia :).
PD. Ahora entiendo porque muchos developers muchas veces tienen que pasar primero por control de calidad, aunque no sea una regla, lo puedo comprender mejor. Pero a veces hacemos las cosas al revés :( , pero bueno .. ahora estoy informándome y viviendo al respecto.
[1] : Software Testing and Internationalization: Manfred Ratzmann, Clinton de Young
Palabras clave: Control de calidad, developers, testers