En lo que respecta a las Búsquedas laborales de Testers (Probadores de Software) si bien hay un considerable aumento de ofertas respecto de años anteriores, me resulta llamativo que aún ciertas áreas de reclutamiento no definan un alcance claro ni especifiquen cuáles son las funciones principales de la posición que están necesitando ocupar.
Tal vez pienses que ésto no ocurre en tu país, sin embargo ocurre en toda latinoamérica.
Semanalmente recibo por correo una cierta cantidad de anuncios desde diferentes sitios web laborales, y recibo de consultoras algunas búsquedas que me piden que las publique (ver Sección), que sin lugar a dudas todos conocemos porque quién no se ha hecho miembro de alguno de ellos para completar un formulario -a veces interminable y poco entendible- y así poder formar parte de esa comunidad a la que le llegan oportunidades de acuerdo con el perfil que se haya definido, no?
Bien, hasta aquí terreno conocido, a continuación muestro algunos anuncios -de los que recibo- donde a mi modo de ver, deberían haberse redactado mejor.
Título de la publicación: Especialista Tester Inglés Avanzado en Jalisco…
Descripción de las funciones solicitadas:
– Coordinación de equipo de trabajo
– Asignación de tareas
– Ejecución y gestión de pruebas
– Trato directo con cliente
Análisis del anuncio:
hasta aquí nada más…?????
y las tareas de testing????
en fin, seguro que quien se postule para esta posición se desayunará con el alcance de la posición durante la entrevista.
No obstante, lo deseable hubiera sido que se especificara aquí qué se le pedirá al postulante.
Será que no lo tendrán muy en claro?
Otro tema es el dinero.
Para esta posición el sueldo mensual libre es de alrededor $29,000. Contrato inicial de 8 meses.
Sería interesante que algún amigo Tester (Probador) Mexicano que nos siga habitualmente, nos pudiera contar si es un sueldo que se encuentra dentro de los parámetros generales y deseables, porque -a ver- no solo de Testing vive el hombre… 🙂
Pasemos a otro anuncio.
Título de la publicación:
Quality Assurance – Pruebas de Software en San Salvador…
Descripción de la Función principal:
Desarrollar casos de pruebas y scripts de prueba de sistemas
Requisitos:
– Indispensable Graduado de Ing. Sistemas
– Nivel de Inglés avanzado comprobable
– Experiencia de 5 años en pruebas de Software
– Conocimientos de JAVA, base de datos Oracle, SQL, JSF, enfocados en aplicaciones Web
– Edad: menor de 45 años
Análisis del anuncio:
Esta búsqueda es un clásico ejemplo de no conocer la diferencia entre QA (Quality Assurance) y QC (Quality Control), (ver artículo relacionado) y que justamente ésta última es nuestra área de competencia. Sin embargo, creo que anuncian este tipo de ofertas utilizando QA porque «vende más» y muchos se han subido a esta ola.
En realidad las tareas que realiza un QA son distintas a las de un QC, ya que todas las funciones que tienen que ver con el testing del software, son para Control de la Calidad.
Por otra parte que solo indiquen la función principal y nó el resto, a mi modo de ver no me resulta correcto, ¿porqué no especifican el resto?
Otro tema a considerar es que solicitan una persona para que cumpla con la tarea de desarrollar casos de prueba y con una experiencia de 5 años¡??
Probablemente un Tester con 5 años aspire a algo más que seguir escribiendo casos de prueba, ¿no es cierto?
Por último, la edad -motivo para otro artículo tal vez- limite indica que el rango es bastante amplio, de 21 a 45, por lo general no es tan grande este margen.
Conclusión:
Es de imaginar, lo cual no debería ser así, que el postulante tendrá otras tareas pero siempre partiendo de que su función principal es la de escribir casos de prueba. Desafío = 0
Pasemos a otro anuncio.
Título de la publicación:
QA Ssr – Freelance lugar en la empresa jornada completa
Responsabilidades:
Analizar la funcionalidad de aplicativos que el equipo de desarrollo va a implementar a partir de la documentación disponible:
-Especificaciones,
–Wire-frames,
–use cases.
Toda la documentación esta en ingles.
Generar casos de prueba (test cases) para probar los productos que se están desarrollando en Ingles.
Generar requirement traceability matrix que cruce los casos de prueba con los requerimientos.
Automatizar parte de los casos de prueba utilizando nuestro framework de automatizacion.
Se le brindará capacitación para ello.
Reportar los bugs en la plataforma de registro de bugs y verificar los bugs reportados.
Se deben escribir en ingles, con detalle de los pasos para reproducir el error y con soporte de imagenes o videos de ser necesario.
Preferentemente conocimiento de JAVA
Análisis del anuncio:
Esta oferta de trabajo es más detallada y brinda más información acerca del alcance de la posición.
Revisemos un poco el tema entonces.
La primera responsabilidad a cumplir demuestra que conocen de la materia ya que de la primera oración se pueden rescatar aspectos tan importantes como:
-análisis de las funcionalidades
-interacción con el equipo de desarrollo
-explotación sobre base documental
-manejo de especificaciones
-manejo de wire-frames (busca la diferencia entre Sketch – Wireframe – Mockup – Prototipo)
-manejo de casos de uso
Sobre la base de estos datos, podríamos imaginarnos que algunos de sus proyectos son del tipo cascada (tradicional).
Sin embargo no se menciona que utilicen -seguramente sí- algún tipo de herramienta para gestionar toda esta info.
La persona que se postule para esta posición deberá saber inglés, porque no sólo deberá leer sino además escribir, y seguramente, deberá chatear y/o hablar con algún referente para el entendimiento de la documentación, por ejemplo.
La mención acerca de «requirement traceability matrix», en nuestro cotidiano: matríz de trazabilidad, nos da cuenta también que hay una fuerte tendencia a la documentación o por lo menos, a la aplicación de las mejores prácticas.
Esta matriz se puede lograr a partir de una hoja de planilla de cálculos o también, mediante una de las opciones que poseen ciertas herramientas que permiten gestionar testing. De todas maneras, para lograr generar esta matriz hay que leer y analizar todos las especificaciones y haber realizado el desprendimiento/derivación de la casuística a partir de cada una de los requerimientos/casos de uso.
A la automatización de casos de prueba que ya es un área de conocimiento que no muchos tienen y que el mercado laboral lo esta exigiendo cada día más, las tendencias así lo indican, se le suma un desafío más que es el de aprender a usar el framework que tiene la empresa. De más esta decir, aunque aquí no se mencione, que el postulante para lograr cumplir con este objetivo deberá conocer de programación, y que además deberá tener conocimiento de ciertas técnicas que hacen a la materia, como pueden ser la identificación y selección de los casos de prueba candidatos a ser automatizados, para dar sólo un ejemplo del conocimiento que debe tener.
El que se tenga que reportar los bugs en la plataforma de registro de bugs, da cuentas que utilizan un software en particular para esta tarea. En este sentido es bueno saber que utilizan una plataforma determinada porque es de pensar que accederán a ella todos los miembros del equipo de proyectos, y hasta incluso tal vez, los clientes y/o stakeholders. Me vienen a la mente algunas herramientas que permiten gestionar los bugs de manera independiente a otras aplicaciones aunque permiten su integración (tema para otro articulo, no te parece?), como pueden ser -y que muchas empresas actualmente los siguen usando- un bugzilla, un mantis, un redmine, otros. No menciono los arancelados, pero también hay unos cuantos aunque la mayoría son integradores, es decir, son soluciones que contienen todas las facilidades para gestionar el testing. Teniendo una herramienta, es mucho más sencillo explicar cómo se dió la incidencia porque van indicando -algunas de estas herramientas- recomendaciones en el paso a paso, incluyendo los datos y elementos usados.
Último aspecto y no menor es el conocimiento en Java que preferentemente debe tener el candidato, que si bien no lo exigen es de esperarse que en algún momento lo vayan pidiendo y como siempre pasa, hay que estar «a la altura de las circunstancias».
Conclusión:
Esta oferta es muy interesante como para postularse ya que representa un desafió en nuestra área.
Pasemos a otro anuncio.
Título de la publicación:
Analista QA
Descripción de la tareas:
Buscan Analista de QA para Test de Aplicaciones en Importante empresa de soluciones de Software.
Tareas
Detectar en el sistema nuevos errores
Escribir y ejecutar test
Confeccionar planilla de XL
Chequear resultados
Armar casos de pruebas y posterior análisis, entre otras.
Buscamos personas metódicas, ordenadas, con capacidad analítica, trabajo en equipo y buenas relaciones interpersonales.
Análisis del anuncio:
De acuerdo con lo visto hasta ahora, podemos notar que esta oferta contiene tareas muy genéricas, pudiéndose apreciar la gran diferencia de contenido entre ésta y la oferta anterior. No obstante, no podemos dar por sentado que en este caso, la empresa contratante no conoce de la práctica del testing, pero para una primera instancia el alcance no denota complejidad ni demasiados desafíos.
Finalmente, solicitan todas las llamadas «habilidades blandas» que en cualquier oficina se requieren y que no atienden únicamente a los Testers, por asi decirlo.
Conclusión:
Es de «suponer» y por ende esta mal que así sea, que para esta posición se necesita un Tester Funcional que efectúe pruebas funcionales sobre aplicaciones web, el cuál registrará los casos de prueba y sus resultados en planillas de cálculos, ya que no indican si cuentan con alguna herramienta para la gestión del testing.
Pasemos a otro anuncio.
Título de la publicación:
Analista de Testing
Descripción
La empresa seleccionará un Analista de Testing con experiencia en el puesto, para trabajar con uno de sus clientes, importante empresa del rubro retail.
Se requiere experiencia:
Trabajo en equipo
Experiencia Funcional en la posición
Herramientas de Testing
Armado de ambientes de prueba
Implementación de pruebas
Documentación
Análisis, sugerencia e implementación de mejoras
Análisis del anuncio:
Experiencia Funcional en la posición
En este caso, como en varios de este tipo, se busca un tester que cuente con conocimiento/experiencia en un negocio en particular, tema no menor porque no siempre se puede conseguir este requisito y las empresas -muchas de ellas- lo que hacen es formar internamente a una persona que quiere trabajar en otra posición promoviéndola a esta otra y de esa forma aprovechando su expertise para las tareas de pruebas. Ejemplo de ésto son los anuncios que buscan testers con experiencia bancaria, ó en salud, ó en automotrices, entre otros. Es decir, es importante que la persona conozca los procesos del negocio y sus reglas principales para actuar como un usuario clave (key user) más calificado con algunas herramientas más (prácticas de testing).
Herramientas de Testing
Tener experiencia en «herramientas de testing» tal y como reza el anuncio, es demasiado amplio razón por lo cual debe entenderse que han incluído este atributo como algo genérico. Es de esperar que durante las entrevistas previas este tema se aclare porque en lo que refiere a herramientas, hay de todo tipo y para todos los gustos!!! Tenemos las que abarcan todo el proceso de pruebas funcionales manuales y automatizadas, sobre web app/mobile/desktop, como por ejemplo HP ALM (antes la conocíamos como HP QC), ó su primo-hermano en SmartBear QA Complete, hasta herramientas que no reunen todas estas posibilidades operativas y que las tienen separadas, aranceladas y open source. Cada una de ellas con sus particularidades por supuesto.
En toda área, alguien debería dedicarse a investigar y a hacer un comparativo de las herramientas que hay en el mercado para analizar/evaluar la evolución que esta habiendo y las tendencias que se van dando en este orden.
Armado de ambientes de prueba
Sobre este tema, hace un tiempo publiqué un artículo que demuestra que esta tarea no es menor por cierto, ya que mucho depende de la correcta adecuación que se haga de los mismos para obtener los resultados esperados/deseados. (Ver artículo)
Implementación de pruebas
Como en los casos anteriores (Herramientas de Testing y Armado de ambientes de prueba), este aspecto es demasiado genérico y encierra un sin fin de tareas. Hubiera sido correcto, ampliar un poco el alcance que esperan de esta función para la posición que están buscando.
Documentación
Como en los casos anteriores (Herramientas de Testing, Armado de ambientes de prueba e Implementación de Pruebas), este aspecto es demasiado genérico y encierra un sin fin de tareas. Hubiera sido correcto, ampliar un poco el alcance que esperan de esta función para la posición que están buscando. Podemos imaginarnos que el candidato a ocupar la posición contará con una herramienta que le facilitará la registración de todos los componentes que se elaboren a lo largo del proceso de pruebas. En este sentido, herramienta como el JIRA -que muchas empresas la utilizan- facilita la gestión documental, por más que no sea una herramienta netamente para ser usada en testing ya que se maneja con tickets (issues). Sí tenemos en herramientas como las antes mencionadas: HP ALM, QA Complete, Zephyr, Bstriker, repositorio para la gestión de los documentos que se vayan generando. Lógicamente, algunas de éstas con más prestaciones que otras en cuanto a la parte colaborativa y el manejo de versionados. Todo un tema que no es menor y que merece ser tenido muy en cuenta por las implicancias que tiene ya que puede ser utilizado para diferentes fines: para demostrar entregables al cliente, para entregar como evidencia a las auditorías internas / externas, para compartir info con otras áreas no técnicas del negocio, etc.
Análisis, sugerencia e implementación de mejoras
Este item refiere precisamente a tareas de QA (Quality Assurance) que se complementan con las tareas anteriores de QC (Quality Control), para lo cual habrá que estimar muy bien cuánto tiempo puede tener el Tester para tomarse y dedicarse a esta función en cada una de las instancias del proceso de pruebas que así lo merezcan. Esta tarea puede plantearse como algo que se haga de manera evolutiva y midiéndola para que puedan ser monitoreados los resultados que se vayan obteniendo. Todos sabemos -algunos más que otros- que los tiempos que se piensan inicialmente con la estimación antes de arrancar el proyecto, por lo general tienen un cierto % de desvío a la realidad. Esto siempre que nosotros como testers hayamos tenido la posibilidad de estimar nuestro esfuerzo de prueba, cosa que no en todas las áreas ocurre, ¿o me equivoco?
Pasemos a otro anuncio.
Título de la publicación:
Tester para QA – Certificaciones en Distrito Federal
Descripción
Planeación de las pruebas de software comprobando su adecuado funcionamiento en el hardware, sistema operativo y ambiente de red, de acuerdo con las especificaciones.
Diseñar planes de prueba, escenarios, scripts y procedimientos.
Diseñar los checklists de pruebas y listas de errores conocidos, aplicables a cada ambiente.
Administración de los recursos humanos asignados.
Administración e implementación del proceso de SQA.
Cumplir las fechas de entrega comprometidas.
Conocimientos sólidos en pruebas de software (happy path, pruebas de caja negra, caja blanca, creación de matrices).
Conocimientos básicos en programación orientada a objetos y programación estructurada.
Conocimiento del proceso de liquidaciones en empresas de medios de pago y conocimiento de configuración y pruebas de terminales punto de venta.
Se requiere para pruebas de funcionalidad, de condiciones de excepción y certificaciones.
Competencias: liderazgo, responsabilidad, orientación al cliente, orientación a resultados, productividad, trabajo en equipo, pensamiento analítico, capacidad de aprender rápidamente, orden, comunicación eficaz.
Análisis del anuncio:
En esta oferta de trabajo podemos notar -como en uno de los ejemplos anteriores-, un cierto grado de conocimiento en esta actividad que se demuestra a las claras en la especificación de las tareas. Manejan como puede leerse, conceptos propios de nuestra actividad, permitiendo un marco de referencia más preciso para quien desee postularse.
Hay manejo de especificaciones, con tratamiento de hardware, software y redes, con lo cual estaremos en presencia de pruebas funcionales y no funcionales, entre otras.
Se fija una gestión de testing que incluye elaboración de scripts y planes, además de procedimientos que tendrán que ver por ejemplo con el manejo de los datos y/o condiciones de ambiente.
Se establece una tarea vinculada con QA y que tiene que ver con las Listas de Comprobación y de Errores, vinculadas con cada ambiente. Este práctica ayuda mucho a la hora de tener que preparar, armar, y comprobar que se cuenta con todo lo necesario para gestionar las pruebas propiamente dichas. Muchas veces nos ocurre que tenemos que realizar ciertas configuraciones para determinados ambientes sobre los cuales trabajaremos, copiado y/o renombrado y/o resguardo de archivos que utilizaremos, scripts para generar cierta cantidad de carpetas, move de archivos, gestión de usuarios y claves, gestión de perfiles de acceso, gestión de diferentes url’s, gestión de permisos para acceder por escritorio remotos a diferentes direcciones, queries para consultar y/o actualizar la data que estaremos utilizando y para verificar contenido de archivos bajados, acceso al ambiente productivo para extraer cierto tipo de datos y/o archivos, gestión de .bat o .cmd para ejecutar determinadas procedimientos, en fin, parte de nuestro testing.
La administración de recursos humanos da cuentas que el postulante tendrá personal a cargo, por lo menos más de uno, con un skill obviamente menor o por lo menos igual pero con menos conocimiento y/o experiencia en el tema. Esto conlleva tiempo para gestionar y que se deberá sumar al tiempo operativo propio.
Administración e implementación del proceso de SQA.
Este tema como el anterior (checklist) es propio de QA por lo cual merece una mención aparte no contemplado en este artículo.
Finalmente el cumplimiento de las fechas comprometidas dan cuenta que se seguirá un plan de pruebas complemento del plan general, y por ende, se lo tendrá que gestionar como en toda administración de proyectos.
Conocimientos sólidos en pruebas de software
Conocer de las diferentes técnicas expuestas aquí, no es menor ya que la búsqueda apunta a que el postulante pueda ejecutar pruebas funcionales sobre web app y pruebas unitarias y/o sobre el código, además de entender todo lo vinculado con las «matrices» para los casos de prueba. A mi modo de ver, son pocos los testers con esta característica. El hecho de tener la capacidad de «switchear» de lo funcional funcional a lo técnico, no es nada sencillo y requiere un alto nivel de conocimiento.
Conocimientos básicos en programación orientada a objetos y programación estructurada.
Vinculado con el atributo anterior que debe tener el postulante.
Conocimiento del proceso de liquidaciones en empresas de medios de pago y conocimiento de configuración y pruebas de terminales punto de venta. Tiene que ver con que el postulante debe tener conocimiento en el negocio propiamente dicho, ya que sobre esta base podrá identificar los «casos felices» para ejecutar dentro de su proceso de pruebas. Sumado a todo el conocimiento técnico que deberá tener el postulante, también tiene que contar con ciertas «habilidades blandas». (ver artículo)
Conclusión:
Quien se postule para cumplir con esta función deberá tener un skill de Sr para arriba, ya que las tareas lo confirman.
¿Qué opinas del artículo?
¿Quieres compartir tu experiencia?
¿Alguien tiene un conocido en recursos humanos para poder confrontar este contenido y conocer su opinión?