June 14, 2018

¿Cómo ejecutar un script automatizado sin necesidad de Visual Studio?

Cuando estaba investigando este tema me tomó algo de tiempo saber cómo ejecutar un script automatizado debido cuando ejecuto el script me guarda un archivo ddl, pero no es un archivo ejecutable; pero si hay manera de ejecutar el dll.

Debes tener instalado los siguientes requisitos:
Los pasos a seguir son los siguientes:
  1. Click derecho en el proyecto, selecciona la opción de "Properties".

  1. Muestra la pantalla de Properties, click en la opción de "Debug".
  2. En la sesión "Start action", presiona el radio button de "Start external program".
  3. Click en el botón de "Browser".

  1. Busca la ruta donde está el folder de "nUnit GUI".
  2. Selecciona el ejecutable "nunit-gui.exe".
  3. Click en el botón de "Open".

  1. Desde el teclado, presiona F5 para mostrar el nUnit-GUI. Observa que se muestra los test cases y el archivo dll.
  2. Click en el botón de "Play" para ejectuar todos los test cases.

Referencia: https://anoopjshetty.wordpress.com/2014/02/08/creating-test-automation-framework-using-c-selenium-and-nunit/



May 31, 2018

¡Soy Testing Team Leader!

Hace como un año empecé a participar en varios ciclos para TestIO como tester manual, después de un tiempo participando en crowdtesting, teniendo experiencia en el área, este tipo de tareas se me estaba haciendo muy rutinario, y estaba empezando a perder interés, pero en esta semana empecé a participar como Testing Team Leader para este crowdtesting.

¿Cómo llegue a ser Team Leader?

Unos meses atrás, TestIO publicó en su bolsa de trabajo que buscaban Team Leader Freelance, mi objetivo a corto o mediano plazo es subir un escalón del área de testing como Team Leader o Automation Tester, entonces no dudé aplicar.

Una semana después de haber aplicado, el community manager y otro testing team leader me contactan para una entrevista (tuve que madrugar por la diferencia de horarios), tengo un training y después de un mes me dan acceso como al dashboard de Team Leader.

¿Qué requiero para ser Team Leader en TestIO?

  • Experiencia en el área de QA Testing y estar registrado en TestIO.
  • Acreditar el training impartido por otros Team Leaders.
  • Habilidades para comunicarte con el equipo: Team Leaders, Community Manager.
  • Entrenamiento a los nuevos tester para ayudarlos a como reportar un bug de buena calidad. 



May 30, 2018

Soy tester manual. ¿Debo aprender automatizar?

Muchos tester manuales se han preguntado y/o exigido aprender automatizar, pero ¿realmente tengo que aprender a usar herramientas de automatización? La respuesta es no, pero es un gran plus aunque sea lo básico.

Los tester manuales y tester automatizados son roles diferentes; solo que muchas empresas piensan que los tester manuales deben aprender automatizar "porque lo manual ya pasó de moda".

Eso es un mito, las pruebas manual nunca va sustituir a las automatizadas, no todo se puede automatizar, debemos saber en qué momento se necesita. 

Normalmente, lo que evitan las empresas (visto más en empresas chicas y medianas) es contratar dos personas: manual y automatización debido a que es doble gastos; puede que en un proyecto nunca automaticen, pero no sabremos si un día para otro el cliente requiera que se automatice su proyecto.

El no aprender automatizar no significa que te quedarás estancado, hay otras maneras de crecimiento en el área de "Testing" como Tester Security, Tester Performance, Test Team Leader, Test Manager.

Una de mis razones que decidí aprender a automatizar fue que en mi empleo actual y en las bolsas de trabajo exigen que conozcas de Selenium; actualmente tengo la oportunidad de aprenderlo y hacerlo. 

Entre más conocimiento tengamos, mejores oportunidades laborales tendremos.




April 4, 2018

¿Qué son los "Log files" y para qué capturarlos?


Un log file es un archivo donde está el registro de algún evento ocurre dentro del software.

Normalmente esto se hace cuando una aplicación en móvil crashea, ayuda mucho a los developers cuando hay un error y sea fácil de encontrarlo; pero si tú lo deseas, puedes generar los log files para cualquier tipo de error, recuerda cuando encuentras un bug procura agregar todas las evidencias para tener guardado el registro.

Hay casos que son difícil de reproducir, pero si tienes el log; muestra la evidencia que existe un defecto y hay manera de corregirlo.

Los programas que necesitas para obtener los logs son:


Existen aplicaciones móviles, pero la mayoría de las aplicaciones no funcionan correctamente, no son compatibles con las nuevas versiones, etc. Yo no lo recomiendo, tuve varias fallas con esos.

February 6, 2018

¿En qué momento decidí aprender a automatizar las pruebas?

En mi antiguo trabajo, mi manager me había dicho que debo investigar y aprender a hacer pruebas automatizadas, porque habrá proyectos que el cliente requiera ese tipo de pruebas.

Empecé leyendo sobre que son las pruebas automatizas, en qué consiste, que herramientas se utilizan y cuales son mejores, durante en mi investigación siempre mencionaban sobre Selenium Webdriver.

Al principio fui utilizando herramientas que son de record como Selenium IDE, Testing Whiz, Selenium-Cucumber sin necesidad de saber de programar, por supuesto al principio evitaba todo lo que tenga que ver con el código; pero buscando en blogs, comunidades, foros les preguntaba que ocupo para automatizar y que herramienta ocupo, la respuesta fue aprende sobre programación y Selenium Webdriver. Eso hizo que empezara diera el salto y hacer algunos ejercicios con esa herramienta.

Dar el salto de record a programar mis pruebas fue frustante; de ser una QA manual con poco conocimiento de programación y empezar a programar sentía que me desviaba de mi rol. También me tomaba mucho tiempo en llenar una forma, tenía varios errores en la compilación, siempre quería que todo saliera a la primera, no tenía nada de paciencia.

En mi actual trabajo, mi Product Owner me dijo que en los tiempos que tenga desocupados (por supuesto en el trabajo) empiece a estudiar/repasar sobre Selenium porque puede que más adelante entre a un proyecto donde si exigan automatización y considerar puntos extras para mi evaluación.

Soy QA manual, estoy aprendiendo Selenium Webdriver con C#. He estado haciendo varios ejercicios y apoyándome con un QA automation para aclarar las dudas. Teniendo casi un mes haciendo diario esos ejercicios empieza a tomar un interés con el rol de QA automation.



Consejos para iniciar automatizar:

* Primero, aprende a identificar los tipos de locators element dentro del "Inspect Element".

* Si no tienes idea en qué consiste las pruebas automatizadas ni sabes programar (o muy poco) y quieres hacer un ejemplo básico, empieza con herramientas de record. Esto hará que te familiarices con la automatización.

* No ocupas ser un experto en programación para iniciar con pruebas automatizadas, pero si tienes que tener conocimiento sobre Orientado Objetos.

* Debes ser paciente para hacer tus pruebas automatizadas.

* No te aferres que no quieres aprender sobre pruebas automatizadas porque vas a tener que programar, si no das la oportunidad jamás sabrás si realmente es lo tuyo. Si no te gustó el automatizar no es el fin del mundo, puedes seguir siendo QA manual o especializarte en otra área de QA.



August 1, 2017

Pros y Contras de las pruebas manuales y automatizadas

Pruebas de Regresión (Regression Testing) son un tipo de pruebas que se necesitan hacerse cuando:
  • Hay un nuevo cambio en el sistema.
  • Se ha corregido los errores dentro del sistema.
  • Un sistema está cerca de o en la última etapa el desarrollo de software (SDLC).
En este tipo de pruebas se pueden hacer pruebas manuales y automatizadas. A continuación les explico los pros y los contras.

Pros de las Pruebas Manuales:
  • Se puede hacer pruebas como si el tester fuese usuario final.
  • Si hay nuevos requerimientos en el sistema, se puede hacer este tipo de prueba sin ningún problema.
  • Hallar errores de GUI.
Contras de las Pruebas Manuales:
  • El tiempo de prueba es mucho más lento que las pruebas automatizadas.
  • Después de un tiempo el sistema se vuelve tedioso y repetitivo para el tester.
  • Hay posibilidad alta en tener errores a comparación de las pruebas automatizadas.

Pros de las Pruebas Automatizadas:
  • El tiempo de pruebas es hasta un 70% más rápido que las pruebas manuales.
  • Se puede reutilizar los test.
  • Se puede simular navegadores.
  • Las probabilidad de tener un error son muy bajas a comparación de las pruebas manuales.
Contras de las Pruebas Automatizadas:
  • Es necesario tener conocimiento de programación. 
  • La mayoría de las herramientas son de costo muy elevado.
  • Si hay un nuevo requerimiento en el sistema, el script puede afectar y se require re-hacer los scripts.
 
Ambos tipos de pruebas tiene lo suyo, lo recomendable para usar pruebas automatizas es tener el sistema estable, si un sistema no está estable será muy difícil hacer pruebas automatizas debido a que sería "tiempo perdido" del tester y en ese caso se deben optar por hacer pruebas manuales.

June 26, 2017

La importancia de trabajar en equipo


Trabajar en equipo significa un conjunto de personas que se organizan para obtener un logro en común, es suma importancia para cualquier actividad en la vida laboral y cotidiana.

Puntos importantes para trabajar en equipo


- Tener las instrucciones claras sobre el proyecto.

- Cuando tenga dudas siempre pregunta, es mejor hacer una pregunta aunque sea la más tonta a quedarse callado. Este es un error muy común cuando alguien del equipo no tiene la confianza de preguntar a su compañeros por miedo a que parezca tonto. Con el paso del tiempo he aprendido que para salir adelante es mejor preguntar y por supuesto seguir investigando y/o estudiando.

- Si alguien del equipo es tímido, habla con él/ella personalmente y hazle saber que cualquier duda que tenga puede preguntarte sin ningún problema.

- Si algún integrante del equipo no le importa el trabajo, busca pretextos, etc. Primero habla con él/ella personalmente para sepa que hay un problema y que puede afectar tu trabajo. Si después de hablar con él/ella y sigue igual hacerle saber a los puestos altos que hay un problema dentro del equipo; hacerle saber cuál es el problema y para que ellos busquen una opción para motivarlo y el trabajo siga adelante.

- Tener un orden y prioridad de tareas.

- Procura llevarte bien con el equipo.

- Se profesional. No mezcles tu situación personal con lo laboral; es decir que si hay un problema personal con alguien del team, no dejes de cumplir tus obligaciones porque estás peleado con alguien del equipo; esto sería falta de profesionalismo e inmadurez. Cada tema se trata por separado: personal con personal y laboral con laboral.

- Ten iniciativa. No esperes a que los puestos altos te digan que hacer, si aún hay tareas pendientes tómalas.

- La comunicación es muy importante en un equipo, el aclarar dudas, dar opiniones y sugerencias de una actividad, compartir conocimiento.


Un ejemplo en la vida real:
Unos padres de familia ponen a ordenar un librero a sus tres hijos.
A: Pregunta como ordenar el librero y avanza.
B: No sabe como ordenar el librero, es tímido y cree que al preguntar quedará en ridículo con sus hermanos y piensa que recibirá una regaño de sus papás.
C: Sabe como ordenar el librero, pero no quiere hacer su tarea, cree que sus hermanos puede hacer todo.

Después de una hora, los papás le preguntan a sus hijos sobre el status del librero. Cuando ven que no hay avances, los papás les da una regañada a sus tres hijos sin importar quien ha avanzado y quién no.

A: Les dice a sus papás que hace todo lo posible para terminar lo más rápido posible.
B: Después de la regañada, les dice a sus papás que no sabe como acomodar el librero por eso no había empezado.
C: Buscó algún pretexto por no hacer acomodar el librero.

Después que los hermanos dieran sus status y opiniones, los papás dicen que si terminan rápidos les va regalar unos chocolates, entonces los hermanos empiezan a acomodar el librero lo más rápido posible entre los tres, preguntar si tienen dudas.


Conclusión:
Cuando no se tiene las cosas claras, orden puede pasar este tipo de problemas, la entrega de proyectos es mucho más lenta y suele pasar que se tiene una calidad mala.

Cuando un equipo está en el mismo canal, aclarando dudas, recompensando sus logros, motivándolos, la entrega de proyectos es mucho más rápida y se tiene una calidad buena.