test script example español testing programming-languages automated-tests manual-testing

testing - script - Idioma para aprender a pasar de las pruebas manuales hacia la automatización/programación



test script español (7)

He estado trabajando como probador manual y documentación (planes de prueba, etc.) en la división informática / informática de una empresa. No tengo una gran experiencia en programación, pero quiero aprender el (los) lenguaje (s) de programación y la (s) herramienta (s). Por lo tanto, estoy buscando herramientas de prueba automatizadas y lenguaje (s) de programación para aprender que también me dan una ventaja industrial.

Algunos puntos a tener en cuenta son:

  1. Necesito saber qué herramientas son las más comunes en la industria y los idiomas asociados con esas herramientas.
  2. No tengo mucho tiempo para aprender muchas cosas. Por lo tanto, estoy buscando herramientas que usen lenguajes que sean beneficiosos para aprender en caso de que quiera hacer más programación.
  3. Preferiría las pruebas de aplicaciones basadas en la web, pero eso no es una limitación.
  4. Puedes dar 2-3 idiomas ya que entiendo que no puede haber un ganador.
  5. He hecho algo de QTP que usa VBScript pero VBScript no se usa ampliamente. Quiero aprender un idioma que tenga una base más amplia.
  6. Sírvanse dar sus opiniones e ideas, incluso si esta pregunta parece realmente difícil de responder.

Gracias por adelantado.

EDITAR: Creo que hasta ahora he decidido que iré por:

  1. QTP
  2. Selenio
  3. Metodologías de desarrollo controladas por prueba

Solo necesito encontrar un buen lenguaje de programación que me brinde la ventaja de un programador y es adecuado para múltiples herramientas de prueba (incluyendo Selenium). Tal vez Python, Ruby o Java?


  1. El selenio es muy popular para las pruebas automatizadas en el nivel de control de calidad.
  2. No importa lo que hagas, habrá una curva de aprendizaje asociada a tu solución
  3. El objetivo de Selenium es proporcionar un marco de prueba para webapps: utiliza Selenium para manipular elementos DOM en el navegador, no una versión en ejecución de su aplicación.
  4. Selenium es un modelo de cliente / servidor (ejecuta el servidor en algún lugar que tiene acceso a su instancia de aplicación de control de calidad, codifica sus pruebas utilizando las bibliotecas de cliente) que proporciona a los clientes en varios idiomas (Java, Ruby, etc.)

  5. Este tipo de prueba es una buena idea si tiene recursos dedicados de control de calidad que pueden escribir código. Proporciona algunas pruebas de regresión de alto nivel. Sin embargo, no deja de tener sus desventajas: (1) las pruebas pueden llevar un tiempo, (2) es posible que deba realizar algunos cambios en los elementos dom de la aplicación web para usar el marco fácilmente, (3) el cambio de la aplicación web requerirá cambiando su código de prueba, que puede ser no trivial.

Sus otras opciones son escribir pruebas unitarias para el código de la aplicación. Por lo general, los desarrolladores hacen esto como parte de un proceso basado en pruebas. Entonces, hay TDD para desarrolladores y luego pruebas automatizadas de QA para control de calidad.


En cuanto a la "ventaja industrial", depende de lo que quieras decir con eso.

Para las grandes empresas QTP es ampliamente utilizado. Lo que hay que aprender con QTP no es realmente el lenguaje, sino la herramienta en sí misma. Para mí fue más problemático superar las especificaciones de la herramienta que aprender VBscript. Si piensas en las pruebas de rendimiento, probablemente PerformanceCenter sea la opción. Aquí tiene C como lenguaje, pero una vez más, hay más dificultades con una herramienta que con un lenguaje. En algunas empresas hay una pila de IBM, por lo que el software Rational viene a jugar (FunctionalTester, Robot, PerformanceTester). También hay un poco de complejidad de la herramienta para completar (IBM Redbobks puede ayudar).

En compañías más pequeñas, Java / C # podría ser beneficioso. Aquí puede familiarizarse con junit / nunit / TestNG / MSTest. Para webapps vale la pena mirar cosas como Selenium / Watij / Watin / Fit / Fitness / Concordian. Si tiene un momento, mire AutoIT, PowerShell, Python, Fiddler, Jmeter, Abbot, Watir / Cucumber, Sikuli.

También hay muchas otras herramientas como WebAii, TestComplete, Twist ... algunas otras herramientas comerciales. Por lo general, puedes obtener pruebas para que jueguen con ella durante una semana o dos.

Todo depende de a qué tipo de proyecto va a estar expuesto y qué tipo de empresa será.

A pesar de todo, en mi opinión, es suficiente aprender Java / C # hasta cierto punto. No necesita ser C # / Java ninja, conocer todas las bibliotecas y estudiar un lenguaje realmente difícil. Verá, desarrollar software es más que conocer un lenguaje de programación, y la automatización de pruebas es más que conocer una herramienta / lenguaje (M. Fewster y D. Graham), así que no se obsesione con eso. Si puede programar secuencias de comandos en QTP ( no grabar sino programar , usar programación descriptiva, descomponer lógica en bibliotecas, tener control total de TestResults a través de métodos apropiados, etc.), otras herramientas no serán un problema. Es posible que necesite una semana o dos para aprender los conceptos básicos de un idioma determinado, pero eso es todo por automatización de prueba (al menos para empezar). Necesita más experiencia, conocer herramientas, conocer conceptos, conocer los pros y los contras de los diferentes enfoques, tener una imagen más grande en la cabeza, que simplemente ''cómo escribo esto en ese idioma'' (tiene SO para esto : D).


Wow, esta es una pregunta bastante amplia. Diría que estaba en una buena posición a medida que la industria avanza hacia un modelo de Desarrollo basado en pruebas (o escriba sus pruebas antes de su código).

En primer lugar, querrá saber sobre Pruebas Unitarias , Integración Continua y Automatización Web.

Me voy a centrar en las áreas que conozco (.NET, Java, Javascript, automatización de Build, Selenium)

  1. En .NET NUnit es probablemente el marco de prueba de unidades más ampliamente utilizado. Es un puerto (copia de) JUnit en el mundo de Java. La mayoría de los marcos de prueba de unidades son muy similares a estos en términos de conceptos. Así que aprende uno y no te llevará mucho tiempo recoger a los demás.
  2. Creo que leer los enlaces de arriba y tener una idea sobre estos conceptos te ayudará a seguir adelante. Probablemente valga la pena experimentar con Python o Ruby, ya que tienen pocas barreras de entrada para realizar algunas pruebas sencillas.
  3. Para las pruebas basadas en web, las más conocidas probablemente sean Selenium y Watin . Estos le permiten programar navegadores para realizar acciones automáticamente. Sin embargo, he encontrado muy pocos buenos usos de estos y son muy complicados (está hablando de días / semanas de esfuerzo) para configurar y ser útiles. De nuevo, los conceptos detrás de estos son similares sea cual sea el marco que use.

    Creo que respondí 4,5,6 en 1,2,3 :-)

HTH


Para las pruebas basadas en web, es posible que desee verificar fitnesse . Además, un marco de prueba automatizado basado en python es el marco de robot .


La respuesta a esta pregunta realmente depende de un par de cosas. Primero, ¿qué tipo de prueba estás haciendo? ¿Está probando aplicaciones basadas en web? Probando bibliotecas / componentes de un programa más grande? Prueba GUI? ¿Estás probando aplicaciones de línea de comandos?

He encontrado los siguientes útiles al crear instalaciones de prueba con guiones / automatizados:

TCL - TCL puede interactuar con la línea de comandos tan fácilmente como un archivo de proceso por lotes, pero tiene un lenguaje potente que saca el lote del agua (incluidas las capacidades de la GUI). Si está creando aplicaciones de consola basadas en Windows (ya sea para probarlas o para usarlas para probar otra cosa), le recomiendo tomarse el tiempo de usar TCL.

AutoIt : este lenguaje de scripting le permite automatizar la interacción de UI con aplicaciones de Windows de forma rápida y sencilla. También es bastante fácil de aprender. Si desea tomarse el tiempo y la molestia de desarrollar una utilidad para raspar pantallas, puede combinarla con AutoIt para crear algunos sistemas de prueba bastante sofisticados.

C - Cuando pruebo bibliotecas compiladas, he tenido un sorprendente grado de éxito usando buen ''ol C. Escribiré el esqueleto básico para una aplicación de prueba y crearé una utilidad con guiones que generará dinámicamente el resto del código basado en qué pruebas necesita ser ejecutado (le doy una biblioteca de ejemplos de fragmentos de C que puede usar para tareas más complicadas).

Ruby : cuando haces pruebas automáticas, un lenguaje de scripting robusto puede llegar muy lejos. Ya sea que necesite analizar los registros de prueba, generar informes o generar automáticamente scripts de prueba, un lenguaje de scripts que conozca bien puede ahorrarle mucho tiempo y dolor de cabeza. Mi idioma de elección es Ruby, pero otros en mi empresa prefieren otros idiomas como Perl o Python. La elección del idioma no es demasiado importante, elija uno y apréndalo bien.

Dependiendo de qué es lo que está probando, también puede tener algún tipo de herramientas de prueba integradas en el código que está probando. El código Java a veces se escribe con pruebas JUnit, el código Ruby puede usar el marco Test :: Unit, etc. Aquí hay una lista de marcos de prueba de unidades para una amplia variedad de idiomas. Si el código que está probando se creó teniendo en cuenta las pruebas unitarias, querrá aprender el idioma en el que se escribió el código para que pueda aprovechar estas pruebas unitarias.


  • Sí, puedes aprender selenio IDE, es solo un complemento en el navegador Firefox, con el que puedes grabar tus pruebas y reproducirlas cuando sea necesario. La limitación de IDE es que solo se puede usar en Firefox.

  • Si buscas probar en múltiples navegadores, necesitas Selenium Grid o WebDriver, que requiere un conocimiento de Java. Y una vez más, no es necesario ser un profesional de Java para hacer esto, un simple aprendizaje ayudará.

  • Puede buscar tutoriales de selenio en youtube.com.

Ventajas del selenio:

  1. ¡¡Su discurso abierto !!
  2. Es fácil de aprender e implementar ...
  3. Admite múltiples navegadores.
  4. Admite múltiples scripts / lenguajes de programación.
  5. Flexible a su elección, simple registro y reproducción (IDE), diseño de Comple Framework a su elección mediante el uso de su lenguaje de programación favorito.
  6. Admite la ejecución paralela.

Espero que esto te ayudará.


También agregaré un pequeño comentario

Hay una nueva plataforma de automatización de pruebas XML2Selenium

Esta plataforma está construida sobre el framework Selenium classis y ofrece muchas funciones útiles

Pero es bastante fácil de usar

No necesita aprender java o ruby, puede escribir en XML

SMth así:

<!-- here we have some imports Frame - is like a class, you can extend it with extends --> <import resource="Demo.a-server/03Registration/framesRegist.xml" name="frames"/> <import resource="Demo.a-server/01Action/FramesAction.xml" name="framesAct"/> <import resource="Demo.a-server/03Registration/FramesLogin.xml" name="framesLog"/> <property resource="Demo.a-server/LogValue.properties" name="logValue"/> <test name="creatAction" description="create and check action"> <frame extends="frames:logAdmin"/> <frame extends="framesAct:createAct"/> // here we upload the image <upload id="img_id0" resource="image.jpg"/> // click save button with id=save <button id="save" /> // make a screen shot <screenshot/> // sleep for 3 seconds <pause time="3000" /> // make a screenshot again <screenshot/> // navigate to the given URL: <navigate to="${logValue.baseUrl}/admin"/> <frame extends="framesLog:logOutAdmin"/> <pause time="1000"/> </test>

Aquí puede ver el informe con errores: http://xml2selenium.com/demored/xml2selenium/

Y aquí puede ver el informe con un estado exitoso: http://xml2selenium.com/demogreen/xml2selenium/

PD: admite pruebas en Todos los navegadores, no solo en Firefox como Selenium IDE