2009-12-16 16 views
6

Estoy experimentando con el uso de QTP para algunas pruebas de automatización de la uba de aplicaciones web y me preguntaba cómo la gente suele escribir sus pruebas QTP. ¿Utiliza el mapa de objetos, la programación descriptiva, una combinación o de alguna otra manera todos juntos? Cualquier pequeño ejemplo de código sería apreciado, Gracias¿Cómo se escriben las pruebas QTP?

Respuesta

8

Aquí está mi sugerencia.

1) Cree su matriz de requisitos de automatización de prueba. Puede utilizar muestras de mi blog

http://automation-beyond.com/2009/06/06/qa-test-automation-requirements-usability/

http://automation-beyond.com/2009/06/07/qa-test-automation-requirements-usability-2/

http://automation-beyond.com/2009/06/10/qa-test-automation-requirements-5-maintainability/

http://automation-beyond.com/2009/06/08/qa-test-automation-requirements-robustness/

http://automation-beyond.com/2009/06/09/qa-test-automation-requirements-scalability/

2) Escoge tu automation approach

3) las secuencias de comandos de prueba de acuerdo con el planteamiento que eligió

Nota. QTP Repository way o Descriptive Programming pertenecen a la parte de reconocimiento de GUI de la automatización de pruebas funcionales frontales. Importan en términos de robustez y mantenimiento. Técnicamente, es casi lo mismo. En ambos casos, debe entender bien el concepto de reconocimiento de GUI, o tendrá problemas sin importar el enfoque.

  • Puede almacenar propiedades de reconocimiento de objetos GUI en una estructura de datos similar a XML y asignar el registro a un nombre similar al inglés. Cada vez que cambian las propiedades del objeto original, actualiza su registro en el repositorio, mientras que un código todavía se refiere a un nombre asignado.
  • O puede abordar objetos de GUI poniendo directamente las mismas propiedades de reconocimiento en una llamada de función. Cada vez que cambian las propiedades del objeto original, debe cambiar el código. Pero no es necesario que mantenga archivos adicionales junto con sus scripts.

Una buena estructura debe ser compatible tanto con las anotaciones de programación GUI como descriptivas operando al nivel de referencia del objeto. Es decir. debe mantener separadas las tareas de reconocimiento de objetos e interacción de objetos.

Tenga en cuenta que dependiendo del contexto notación de programación descriptiva puede desaceleración rendimiento de sus guiones y esfuerzo de mantenimiento siempre demandas extra, mientras que en otros casos el uso de repositorios objeto sólo puede conducir a la duplicación no deseada de las descripciones de objetos o puede limitar el reconocimiento de GUI dinámicamente cambiante.
ilustro algunos puntos mencionados en el artículo siguiente: A little QTP performance test: Object Repository vs. Descriptive Programming

ejemplos de código rectas (para una automatización práctica recomiendo GUI Function Wrapping).

Programación descriptiva: direccionamiento de objetos por propiedades de descripción física.

Dim sProfile 
sProfile = "Guest" 

Set objWebParent = Browser("title:=Select Profile").Page("title:=Select Profile") 
Set objWebObject = objWebParent.Link("text:="&sProfile) 
boolRC = objWebObject.Exist(0) 
If Not boolRC Then 
'error-handling 
End If 
objWebObject.Click 

Direccionamiento de objetos por nombres de interfaz gráfica de usuario asignadas

Browser("Select Profile").Page("Select Profile").Link("Guest").Click 

Gracias,
Albert Gareev
http://automation-beyond.com/

+1

Gracias por tu post Albert. Por lo que he reunido, ¿sugeriría un enfoque híbrido de Object Map con programación descriptiva cuando sea necesario? Un buen sitio, por cierto, tendría que decir que la robustez es la parte más molesta de la automatización de la interfaz de usuario. –

+0

Hola Josh. Sí, recomendaría encarecidamente tener funciones de biblioteca que reciban referencia de objeto como parámetro. Cuando llame desde el exterior, tendrá libertad para definir objetos, tanto mapeados como a través de descripciones. Sí, hacer que tus scripts sean sólidos es realmente desafiante, pero debe ser parte del framework y no de la lógica de prueba. –

+0

El enlace "enfoque de automatización" en la publicación de Albert es uno de los mejores resúmenes que he visto sobre este tema. Lindas cosas. – TheBlastOne

1

sé que estoy tarde aquí, y ya deben tener lo que buscas para, pero quería proporcionar mis entradas también para cualquiera que visite este tema.

En general, nunca uso O, a menos que encuentre un entorno en el que la Programación descriptiva es un no-go. Recientemente, trabajé con una aplicación de interfaz gráfica de usuario de Mainframe que no tiene absolutamente ninguna convención de nomenclatura para objetos. Si opta por utilizar la Programación Descriptiva con una aplicación de este tipo, la única forma de trabajar con sus objetos sería a través de los Identificadores Ordinales de Índice o Ubicación, lo cual no es la mejor línea de acción teniendo en cuenta cientos de objetos en cada panel.

Por lo tanto, la respuesta a su pregunta realmente depende del entorno y de su experiencia con OR y DP. La mayoría de las personas con las que he trabajado en mi trabajo y en las comunidades en línea prefieren trabajar con programación descriptiva siempre que sea posible. Sin embargo, también he visto a gente hacer maravillas con OR.

Tengo unas pocas muestras de código, pero, desafortunadamente, están relacionadas con la Programación Descriptiva. Por ejemplo, el siguiente artículo habla sobre la creación de clases modulares VBScript para dividir la funcionalidad de la aplicación en pequeños componentes manejables:

http://relevantcodes.com/qtp-using-classes-as-test-modules-i/

Del mismo modo, este artículo muestra cómo la programación descriptiva puede ser utilizado para verificar múltiples propiedades de los objetos de destino a través de una solo bloque de código:

http://relevantcodes.com/qtp-verify-multiple-object-properties-an-elegant-approach/

además, un marco de demostración también está disponible para que usted pueda ver aquí:

http://relevantcodes.com/relevantcodes1one-qtp-automation-framework/

La estructura se basa completamente en los principios de Programación descriptiva, pero en la próxima versión, se agregará una funcionalidad que permitirá a los usuarios trabajar con las RUP también.

Gracias,

Anshoo Arora

(Gracias por vincular a los artículos originales, Motti)

+0

Supuse que DP sería el método de elección cuando fuera posible. Simplemente no estaba muy seguro de si los QTP o el sistema eran realmente buenos o no. Actualmente utilizo TestPartner y evito por completo su sistema OR. Gracias por la información Anshoo. –

+0

Hola Arora, Tu sitio no está abriendo –

Cuestiones relacionadas