¿Qué compañía de tecnología tiene la mejor cultura de prueba de software y se preocupa por sus equipos SET / SDET / QA? Además, ¿qué compañía tiene los mejores equipos SET / SDET / QA?

Sin duda es Microsoft.

Antes de nada, Microsoft inventó el rol SDET. Crearon la cultura de la prueba, le dieron importancia y, en general, fueron los pioneros de la industria en el departamento de pruebas.

Primero, no hay un rol que tenga QA en su título, es un SDET, un administrador de prueba o, en el peor de los casos, un SET (ingeniero de software en prueba), pero nunca un QA. En mi opinión, es una abominación asegurar la calidad de algo sobre lo que no tiene control. Aunque no creo que todo deba automatizarse, tener experiencia en desarrollo / tecnología ayuda mucho.

En segundo lugar, prueba: dev: pm ratio. Aunque MSFT se está alejando lentamente de la proporción 1: 1: 1, todavía tienen una representación de prueba bastante fuerte en todos los equipos.

En tercer lugar, paga $$ según el primer factor de requisitos que pagan igual o bastante similar a los desarrolladores.

Cuarto, carrera profesional. La prueba tiene IC y ruta de crecimiento gerencial. Puede avanzar SDET1 -> SDET2 -> Senior SDET -> Principal SDET, etc. o SDET1-> SDET2 -> Test lead -> Test manager -> Principal test manager, etc. Este definitivamente no es el caso en otros lugares.

En facebook, no hay un rol que se especialice en pruebas. En google, no perteneces a un grupo, te prestan a un equipo. En amazon, normalmente no forma parte del equipo, trabaja fuera del equipo y tiene un rol más de soporte. En el resto del lote, tener un ingeniero de pruebas en el equipo es como una rareza.

Aquí hay un poco sobre la cultura de prueba en Knewton del ingeniero de control de calidad de larga data, Rob Schultheis:

Aquí hay un extracto. Lea el artículo completo aquí donde encontrará otros artículos técnicos de formato largo de nuestros ingenieros: El blog de tecnología de Knewton

Probar la plataforma
La plataforma Knewton está compuesta por muchos servicios componentes. Cada uno de esos servicios es desarrollado por un equipo dedicado, y cada servicio se prueba por sí solo con la unidad estándar, la integración y las pruebas de rendimiento. Este artículo no trata realmente de esas pruebas, sino de cómo probamos la plataforma en su conjunto.
La plataforma Knewton utiliza datos para personalizar continuamente la entrega de contenido de aprendizaje en línea para estudiantes individuales. La plataforma determina las competencias de los estudiantes en niveles extremadamente detallados, proporciona recomendaciones de actividades y genera análisis. Para hacer todo esto, nuestra plataforma debe ser rápida, escalable y confiable. Nuestro equipo debe ser hábil para lidiar con problemas técnicos complejos, mientras mantiene una perspectiva de alto nivel y se enfoca en el sistema más amplio. Las pruebas son parte de cómo mantenemos esta doble perspectiva.

Accesibilidad
La accesibilidad es el criterio más importante que incorporamos en nuestras pruebas para ayudarnos a lograr los objetivos anteriores.
En el contexto de un conjunto de pruebas de pila completa, la accesibilidad para mí significa al menos lo siguiente:
– Cualquiera puede ejecutar las pruebas
– Cualquiera puede leer el informe de prueba y analizar las fallas de prueba
– Cualquiera puede leer, cambiar, ampliar o interactuar con las definiciones de prueba
Hacer accesibles las pruebas y promover esas pruebas accesibles puede ser un desafío cultural difícil, así como un desafío técnico difícil. Pero el costo de fallar en esto es alto. Cuanto más aislado esté su conjunto de pruebas (y los ingenieros que lo crean y ejecutan), menos valor obtendrá de él. Sus pruebas no reflejarán la participación de la organización más grande y, lo que es más importante, la información que generen sus pruebas no se difundirá tan ampliamente en toda la organización como podría ser.
Entonces, ¿cómo se hace “accesible” un conjunto de pruebas?

Cualquiera puede ejecutar las pruebas
Lo mejor que puede hacer con un conjunto de pruebas es hacerlo funcionar en su servidor de integración continua. En Knewton usamos Jenkins como nuestro servidor CI. Cualquier persona de nuestra organización puede usar Jenkins para invocar las pruebas en cualquier entorno de prueba, en cualquier momento, sin ninguna configuración especial en su computadora.
Además, el código de prueba está en nuestro repositorio de Git, y se alienta a todos a revisarlo e invocar las pruebas de manera muy flexible. Los desarrolladores tienen la opción de ejecutar una sola prueba, un conjunto de pruebas relacionadas, pruebas que se correlacionan con un ticket JIRA determinado u otras opciones. Los desarrolladores pueden ejecutar las pruebas en un entorno de desarrollo local o en un entorno implementado. Un conjunto de pruebas que se puede ejecutar de manera flexible es una parte importante de la accesibilidad.

Cualquiera puede leer el informe de prueba
Nuestro conjunto de pruebas produce varios tipos de informes de prueba. El informe que más disfruto mostrando es el informe HTML, que enumera cada prueba que se ejecuta y detalla cada prueba que falla (esta capacidad está integrada en el maravilloso marco de prueba RSpec que usamos). Este informe HTML se archiva en Jenkins con cada ejecución de prueba, por lo que cualquiera puede leerlo para cualquier ejecución de prueba directamente en su navegador. Y debido a que el informe usa un inglés simple, es comprensible para cualquiera que esté familiarizado con las características de nuestra plataforma, desarrolladores o no … “.

Como afirma Satyajit Malugu, escuché rumores de que Microsoft tiene un excelente marco de prueba de regresión multiplataforma distribuido, que avergüenza a la mayoría de las otras empresas. Microsoft, siendo una de las pocas compañías en las que nunca he trabajado o consultado, solo puedo asumir que los rumores son ciertos.

El enfoque de prueba de Google es selectivo. Search Quality cuenta con un amplio y riguroso marco de pruebas y personal. Al ser el negocio principal de Google, quieren asegurarse de golpear la pelota fuera del parque y no arruinarla. Otros equipos mucho menos, o incluso dependen del reconocimiento individual de los ingenieros que escriben el código para realizar sus propias pruebas.

La mayoría de las otras compañías también confían en alguna combinación de pruebas unitarias, pruebas de regresión y un personal.

Pero nada como los marcos de prueba distribuidos multiplataforma que escuché que usa Microsoft.

More Interesting

¿Cuál es la mejor manera de documentar las discusiones técnicas y el diseño en el desarrollo ágil?

Para un sitio de comercio electrónico, ¿cuáles son algunos indicadores de comportamiento sospechoso de los clientes que los administradores pueden usar para detectar estafadores?

Si los requisitos del cliente cambian continuamente como probador, ¿cómo va a gestionar la situación?

¿Debo cambiar al desarrollo basado en pruebas y, en caso afirmativo, cómo?

¿Cómo se puede preparar el curso en línea Arquitecturas de software orientadas a patrones para software concurrente y en red de Douglas Schmidt?

¿Cuál es el mejor lenguaje de programación para proyectos de software muy grandes?

¿Están los ingenieros de software obligados a vivir vidas cómodas?

¿Cuáles son las diferencias entre un diseñador, un ingeniero y un científico?

¿Cómo debo prepararme para una presentación donde tengo que mostrar el código?

¿Cuáles fueron los roles y los perfiles de trabajo de los ingenieros de software, informática y informática en la década de 1990?

¿Hay otros softwares como Apptentive?

Cómo realizar un seguimiento de las metodologías y patrones que utiliza en sus aplicaciones web

Cómo ser tan bueno como un codificador de Silicon Valley

¿Los programadores agregan códigos de trucos en los juegos de forma deliberada o otros los descifran como lagunas?

¿Cuál es la diferencia entre un ingeniero de soporte y los roles de ingeniería de DevOps en Amazon?