¿Cuáles son las responsabilidades y tareas diarias de un líder de control de calidad en una pequeña empresa de tecnología de consumo móvil?

Aquí hay un poco sobre la cultura, las herramientas y los servicios relacionados con las pruebas en Knewton. Lea el artículo completo, “Haga que su suite de prueba sea accesible” en el blog de The Knewton Tech

“Prueba de 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 “.

Como primer ingeniero de control de calidad en una tienda pequeña (es decir, menos de 15 ingenieros), probablemente lo contraten para resolver un problema específico. Lo más probable es que sus lanzamientos tengan muchos errores (sugeriría preguntar cuál es realmente su dolor en una entrevista, ya que generalmente no lo incluirán en una publicación de trabajo). La mayoría de las pequeñas empresas probablemente piensen que tener un par de ojos adicionales que no sean de desarrollador sería útil para encontrar esos problemas antes de que los clientes los vean para que puedan centrarse en el negocio de implementar más funciones.

Es un poco más raro (particularmente en dispositivos móviles), pero podrían estar buscando un ingeniero centrado en la automatización para ayudar a escalar su esfuerzo de automatización. Alternativamente, pueden estar buscando a alguien para hacer crecer agresivamente un equipo de control de calidad, pero dudan en llamarlo gerente, ya que también necesitan a alguien intensamente práctico.

Supongamos que están buscando un buscador autoguiado de errores. Vas a:

  • Tome / haga nuevas compilaciones y pruebe la funcionalidad recién agregada / modificada.
  • Escribirás informes de errores, probablemente en una herramienta de seguimiento de errores que instalarás y mantendrás.
  • Probará con diferentes versiones de hardware y sistema operativo (particularmente en la plataforma Android lamentablemente fragmentada). También identificará en qué plataformas centrarse y posiblemente gestionará la externalización de gran parte de este esfuerzo.
  • Documentará sus pruebas para que otros miembros del equipo y evaluadores externos puedan ejecutar las pruebas.
  • Revisará los errores archivados e identificará cuáles una vez deben corregirse primero, antes del lanzamiento y en el próximo lanzamiento.
  • Revisará las revisiones, los informes de fallas y otros comentarios. Archivará errores y solicitudes de características (y ayudará a definir la diferencia).
  • Cuando los clientes reciban errores, ayudarán a reproducir y aislar el error para que los desarrolladores puedan solucionarlo de manera eficiente.
  • Verificará los errores en una versión y posiblemente documentará las correcciones en las notas de la versión.
  • Abogará por los errores / cambios de producto que ayudarán a la experiencia general del cliente.
  • Usted * debe * ser el propietario del envío de la aplicación y archivará las compilaciones físicas.
  • Abogará por una buena higiene del código. (ramas de desarrollo versus ramas de lanzamiento, entornos limitados para desarrolladores, máquinas de construcción, etc.)
  • Probablemente harás una automatización básica para la funcionalidad locamente importante y / o frágil.
  • Si tienen una o dos personas de apoyo, trabajará estrechamente con ellos en asuntos de alta gravedad. Si no tienen un equipo de soporte, trabajará directamente con los clientes.
  • Proporcionará comentarios sobre la implementación de funciones (¿realmente resuelve el problema del cliente o resuelve el problema correcto y es comprobable?)
  • Posiblemente también realice algunas pruebas funcionales y de carga de una API alojada, su sitio web y su embudo de conversión.

Eso está fuera de mi cabeza. Cada producto es diferente y cada equipo tiene diferentes necesidades, así que no entres con un modelo demasiado específico en tu cabeza. Es una startup, haz lo que hay que hacer.

More Interesting

¿Qué puedo hacer para ser contratado por una startup en Bangalore?

¿Cómo se puede salir de la carrera de ratas?

¿Qué trabajos no relacionados con el desarrollo en una startup tecnológica podría cumplir un graduado con doble titulación en Ciencias de la Computación y Economía?

¿Cuáles son algunas de las conferencias que visita y qué tan efectiva fue la creación de redes para usted en esas conferencias?

¿Debo seguir trabajando para una startup que se gestiona de manera no profesional?

¿Cómo es útil (o no) una educación en artes liberales en un entorno de Silicon Valley / Startup?

¿Qué libros se deben consultar para obtener los conceptos básicos de la ingeniería mecánica?

¿Cuáles son los méritos y desventajas de ser el primer empleado de cualquier empresa?

¿Debo trabajar gratis?

¿Qué es una buena compañía para un director de base de datos / ingeniero senior (más antiguo) altamente calificado?

¿Debo unirme a una startup o una multinacional manteniendo la remuneración y los perfiles de trabajo similares en ambas ofertas?

¿Debería hacer mi trabajo de inicio que me encanta por un aumento del salario del 50%?

¿Debería unirme a una startup atractiva o una empresa establecida que ofrezca un trabajo interesante?

¿Debo dejar mi trabajo de inicio de 7 meses (SDE Full stack web dev, 6 lpa, 1% equity) para unirme a un inicio muy temprano como desarrollador principal? (7/8 lpa)

¿Cuál es un mejor cambio de carrera? ¿Asumir un trabajo como gerente de producto de Google o como vicepresidente de producto en una etapa inicial de inicio? ¿Por qué?