Además ten en cuenta, que una buena estrategia de automatización de pruebas conlleva más cosas que solo automatizar las pruebas en sí: crear un buen framework de automatización, parametrizar los tests, las ejecuciones para los distintos entornos, lanzar los test con distintos datos de prueba y gestionar dichos datos, sistemas de logs, buenos reportes con información que sirvan para obtener conclusiones, montar una buena infraestructura contra la que lanzar esos tests, paralelizarlos etc.
Nuestra metodología de pruebas automatizadas y gestión de calidad consiste en el uso de varios programas y frameworks especiales para controlar la ejecución de pruebas y resultados de pruebas de software. La automatización de pruebas permite hacer pruebas iterativas y necesarias dentro de un proceso de pruebas ya existente o bien adicionar pruebas cuya ejecución manual implicaría mucho trabajo como las pruebas de seguridad, pruebas de aceptación, pruebas de validación, pruebas funcional, pruebas de rendimiento, pruebas de regresión, pruebas de sistema, pruebas de integración y pruebas unitarias de software. Nuestra pasión por automatización de pruebas, nos ha ayudado a potencializar el ROI en los negocios de los clientes, reducir costos humanos y ayudar a los clientes en el ahorro de costo, calendarización y tiempo.

En Clavei, debido a la gran cantidad de configuraciones personales y programación a medida realizada sobre nuestras ERP se hacía imprescindible la automatización de ciertos procesos, que por su importancia y complejidad necesitaban pasar por pruebas de regresión en cada una de las versiones generadas. Por citar algunos, se trata de procesos como: recálculo de almacén, previsiones de compra, generación de órdenes de producción, facturación de compra y ventas, contabilizaciones, ….
· Sin desmerecer ningún lenguaje ya que todos son herramientas y/o formas de comunicación con una computadora creo que (es mi opinión personal) para una persona que no sabe o sus conocimientos sobre programación son muy pocos, un lenguaje del estilo C#, .NET, Java que son lenguajes compilados, se hace un poco mas costoso el aprendizaje, es decir que la curva se hace un poco mas pesada en la relación Aprendido/tiempo.
En el mercado existen muchos tipos de programas informáticos o software. Los hay para diferentes tipos de negocios, personalizados o únicos. Muchos programas pueden utilizarse tan pronto se instalan en un servidor (on premise) o se puede acceder a ellos a través de internet (cloud base). Algunos son compatibles con puertos periféricos, como los fabricantes de etiquetas y escáneres de código de barras.
AutoIT es una herramienta para automatizar la GUI de Windows y las secuencias de comandos generales usando una combinación de pulsaciones de teclas, movimiento del ratón y manipulación de ventana / control. Se utiliza para automatizar tareas que son difíciles de realizar con ciertos idiomas. Es muy utilizado por los probadores para crear scripts de automatización para el entorno de Windows.
en muchos de los casos,  el código es heredado o forma parte de un diseño orientado al reúso de componentes.  La arquitectura propuesta está conformada de 3  subsistemas. De acuerdo a la Figura 1, al primero subsistema  se le denomina inspector de código.  El objetivo de este subsistema es evaluar al sistema en reposo. La primera acción que realiza el inspector es inspeccionar el bytecode para obtener la arquitectura interna del sistema. Esta información se  contrasta con  la  información de  la  matriz de pruebas,  en donde se  encuentran los  registros de todos los parámetros necesarios para ejecutar correctamente cada caso prueba creado. El segundo subsistema es el evaluador de casos.  El principal objetivo de este subsistema es generar un ambiente de evaluación real, en  donde  un  grupo  de  evaluadores  virtuales  ejecutan  cada  uno  de  los  casos  de  prueba  de  acuerdo  a  la funcionalidad  del  sistema  en  cuestión.    Cada  evaluador  será  apoyado  con  un  aspecto  que  insertará  las cláusulas en la codificación de los parámetros necesarios para cada caso de prueba.  La gran ventaja de este enfoque  es  que  no  es  necesario  compilar  el  código  para  cada  clausula  insertada.  El  último  subsistema recopilará la información resultante de cada prueba, en este caso será generada una pequeña una bitácora en el cual será especifica si la prueba fue exitosa o no. La información de las bitácoras generadas se guardará en una base de datos para estimar las métricas, las variables y sus valores del contexto de ejecución en donde se dieron los fallos, para su posterior análisis.    El  proceso  de  evaluación  del  sistema  se  realizará  utilizando  la  técnica  de  simulación  orientada  a  eventos discretos.   En  cada evaluación  el tiempo  asignado  será ejecutado  por  el selector  de casos  y  cada evaluador virtual será generado de forma aleatoria y automática.       Figura 1.  Arquitectura de la herramienta de evaluación propuesta.    Las ventajas de nuestro framework de evaluación son:   •  La inspección de la arquitectura será  basada  en  el bytecode o código fuente y en  la  funcionalidad  del sistema.  •  La emulación de un grupo de evaluadores virtuales en entornos reales de ejecución.   •  El  control  de  los  casos  de  prueba  durante  la  ejecución  mediante  la  POA  permite  reducir  el  costo computacional.    Esto es  debido  a  que este  proceso  en  la  actualidad se  hace  mediante  complicados algoritmos genéticos.  •  La utilización la técnica de simulación orientada a eventos discretos permite modelar el comportamiento de los evaluadores de una forma más acercada a la realidad.  Conclusiones    El proceso  de  pruebas  siempre  ha  sido  muy  costoso,  pero  en  la  actualidad, los  esquemas  tradicionales de evolución no son suficientes.  Se tienen lenguajes como Java, en donde la mayor parte de su funcionalidad se resuelve a tiempo de ejecución. Esta situación dificulta la planeación y ejecución de pruebas.    De acuerdo  al análisis  de  los  instrumentos  de evaluación  reportados en  el  presente  trabajo, se determinó la mayoría de  los  trabajos  se  enfoca  en  la cobertura  del  código. Dichos  instrumentos,  utilizan  normalmente  un 

Fue necesario el uso del archivo .sh, debido a que algunos comandos como es el caso de calabash-android gen, exigen una segunda acción como es el para aceptar la creación del proyecto, una vez ejecutado el comando se utiliza el archivo .features solicitado al usuario para ejecutar la prueba, esto es almacenado en un directorio con el nombre del id que identifica la prueba en la base de datos.
Hablábamos hace unas semanas, en el post de una lista de herramientas de calidad software imprescindibles, sobre como en estos años se ha disparado el número de herramientas para el control de la calidad software. En aquel post hablamos de herramientas de calidad software “estáticas” (es decir, analizan sin ejecutar el software) y de “caja blanca” (analizan en base al código fuente). Y nos quedó pendiente mencionar otro grupo de herramientas de calidad software: las herramientas para pruebas software, de caja negra.
Appium es un framework de automatización de pruebas para probar aplicaciones web nativas, híbridas y móviles para plataformas iOS, Android y Windows en dispositivos reales y simuladores. Dado que soporta aplicaciones multiplataforma, permite probar aplicaciones en diferentes plataformas utilizando la misma API. Appium permite a los usuarios elegir el idioma que tiene las bibliotecas de clientes de Selenium como Java, Objective-C, JavaScript con Node.js, PHP, Ruby, Python, C # etc. para crear pruebas.
Otra forma de realizar estudios de mercado es detectando tendencias en Internet, con herramientas gratuitas como Google Trends, que refleja qué palabras clave busca la gente diariamente, “las modas de búsqueda del momento: por ejemplo, qué juguetes se han buscado más en Reyes”, añade Romero. O realizando tus propias encuestas por correo electrónico con soluciones como SurveyMonkey, también gratuita.
En este siglo XXI, los equipos pronto comenzaron a sobrepasar las capacidades de uso de sus propietarios y la potencia de cálculo nos permitió usarlos más allá del uso común y corriente. Una de esas tareas es la ejecución de herramientas para pruebas, orientadas hacia el campo que nos incumbe aquí: la monitorización. Las herramientas para pruebas se utilizan, por ejemplo, en la monitorización de Caja Abierta y Cerrada, y en el artículo sobre la optimización de rendimiento web os nombramos algunas de ellas (“Selenio, TestingWhiz y TestCompleto”). Por supuesto, Pandora FMS y la flexibilidad que le caracteriza combina todo ello en la Monitorización UX PWR. Os invitamos a leer dichas publicaciones y regresar con nosotros a este artículo para profundizar en las herramientas para pruebas.
×