sistemas que se desarrollan en la actualidad siguen presentando fallos en su ejecución, dichos fallos tienen costos significativamente altos. El propósito general de evaluar sistemas es localizar la mayor cantidad de fallos posibles para corregirlos. De acuerdo al estándar IEEE 1633-2008 (Norman F. Schneidewind, 2008), un fallo es una condición accidental que hace que una unidad funcional falle al ejecutar su función requerida. La funcionalidad del sistema queda establecida desde la etapa de análisis y especificación de requerimientos del proceso de desarrollo de software. La importancia de un buen proceso de evaluación se debe a que si no se realizan las pruebas de forma pertinente y adecuada, es imposible asegurar que un producto de software cumple con la funcionalidad de acuerdo a las especificaciones establecidas en relación con los requerimientos del sistema. Sin embargo el número de pruebas que se realizan para localizar y corregir fallos presenta una tendencia exponencial (Jelinski, 1972). Durante la etapa de pruebas, se tienen dos enfoques que son de gran importancia para lograr identificar los fallos existentes en un sistema, estos son la Verificación y Validación. Durante la Verificación se determina si el sistema o una parte de él operan de una manera satisfactoria. Bajo el enfoque de Validación se determina si un sistema o parte de él satisface los requerimientos establecidos por el cliente. Así esta fase del proceso de desarrollo es una forma de medir y mejorar la confiabilidad de software. Este artículo está organizado de la siguiente forma, en la sección 2 se presenta el marco teórico en donde el concepto de confiabilidad de software es abordado. En la sección 3 se describen algunas herramientas de evaluación de sistemas orientados a objetos. En la sección 4 se presenta la propuesta del presente trabajo. Finalmente en la sección 4 se exponen algunas conclusiones y el trabajo a futuro. Marco teórico La confiabilidad de software se define como la probabilidad que tiene un sistema de operar libre de fallos durante un tiempo determinado en un ambiente específico (Musa, 2004). Esta es un área de gran importancia en el proceso de desarrollo de software. En la actualidad la confiabilidad es un atributo de calidad que se exige en el desarrollo de cualquier aplicación de software. Cuando las aplicaciones de software carecen de confiabilidad se tienen consecuencias económicas, políticas y sociales. Para tener niveles adecuados de confiabilidad es necesario evaluar al sistema en cuestión, localizar y corregir la mayor cantidad de fallos antes de que el producto final sea liberado. Pruebas de software La fase de pruebas es una tarea que consume muchos recursos. Para ejecutar esta fase en la práctica las organizaciones que desarrollan software asignan un grupo de evaluadores físicos, los cuales realizan este proceso de forma manual en un lapso de varios meses e incluso años. Este enfoque consume mucho tiempo y conlleva altos costos. Para lograr una cobertura adecuada en la evaluación del sistema en cuestión, es necesario: seleccionar los datos de prueba, las variables del entorno de evaluación, determinar el número de pruebas y el tiempo asignado para este proceso. En la ejecución de la cobertura de evaluación, algunos autores desarrollan modelos de predecibilidad apoyados de métricas de software (Basili, 1996). Para optimizar los recursos que son empleados en la ejecución de miles o millones de pruebas es adecuado utilizar instrumentos de evaluación (Ragab, 2010). Se han realizado algunas propuestas para evaluar sistemas en Internet, entre estas propuestas esta (Davila-Nicanor, 2005), en donde se desarrolló un herramienta la cual automatiza la ejecución de las pruebas, reduciendo el tiempo proyectado para la ejecución de 5000 pruebas funcionales de 4 años a tan solo 6 horas. En la evaluación dinámica de un sistema de software, muchos autores se han enfocado principalmente en 2 tipos de pruebas: las pruebas unitarias y las pruebas de integración. Una cantidad importante de trabajos se han enfocado a pruebas unitarias. Mientras que en pruebas integrales existe una menor incidencia de trabajos. Es importante resaltar que para este último enfoque el contexto de operación es determinante, tal es el caso del lenguaje Java, en el cual las clausulas más importantes se resuelven a tiempo de ejecución, un ejemplo de ello son aspectos como el polimorfismo y la herencia. Pruebas Unitarias Durante la fase de pruebas, el proceso de evaluación tiene dos aspectos importantes, el primero está orientado al desarrollo de pruebas unitarias o modulares. Estas pruebas se basan en comprobar unidades individuales de código y determinar si estas cumplen con los requerimientos establecidos. Cuando hablamos de unidades nos referimos a secciones del código que pueden probarse de forma independiente. En un sistema orientado a
Un gestor de tareas es algo así como un bloc de notas muy sofisticado para crear listas de tareas y anotaciones de todo tipo y compartirlas con otros. Destaca sobre todas Evernote , con muchísima diferencia, seguida por RemembertheMilk . Y sólo algunos recomiendan la solución de Google Keep . “Evernote es la más completa para la parte de recopilar, procesar y compartir. Remember the Milk es un complemento perfecto a Evernote para administrar las listas de tareas y asignar tiempos (alarmas, listas automáticas, vencimientos, etc.), aunque se puede prescindir de ella. Las dos son multidispositivo y tienen una gran conexión con herramientas y apps de terceros”, comenta Emilio Rodríguez. Las dos son muy completas en sus versiones gratuitas, aunque en el caso de Evernote, “si la utilizas mucho, merece la pena recurrir a la versión de pago. Cuesta unos 40 euros al año”, explica Emilio Rodríguez.
Las pruebas no funcionales tienen como objetivo realizar comprobaciones que garanticen la calidad del producto desde el punto de vista técnico (comportamiento ante altas cargas, volumen y disponibilidad, entre otros) y al mismo tiempo permiten conocer con anterioridad las capacidades, los límites, los problemas y los riesgos relacionados con el desempeño de la arquitectura de las aplicaciones que se liberan en producción.
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
Aparte de los software para negocios simples y complicados existen los diseñados a medida que son desarrollados  para determinados tipos de empresas. Hay muchas empresas que tienen necesidades más específicas o dueños de negocios que tienen una preferencia en cuanto a la forma en que quieren que su software  ofrezca opciones para trabajar y consultar. Software que van desde la simple reunión de información hasta un amplio control de múltiples empresas y al ajuste especifico para una necesidad de cada área. Mejorando sus procesos e integraciones.
Selenium es tan avanzado -se necesitan habilidades plenas de programador para utilizarlo- que se convirtió en plataforma de desarrollo para otras herramientas de prueba tales como Katalon Studio, Watir, Protractor, y Robot Framework. ¿Su desventaja? Mano de obra costosa: para instalarlo, programarlo y adecuarlo a las necesidades precisa personal altamente capacitado y difícil de conseguir. Para todo aquel al que le quede alguna duda acerca de nuestra afirmación, Selenium tiene su propio lenguaje de guiones llamado Selenese (inexplicablemente también usaron dicho nombre para el protocolo de “Selenium Remote Control”), así que bien podemos guardar, por compatibilidad, nuestros guiones en su lenguaje original soportado por Selenium o en su lenguaje específico Selenese. Los componentes de Selenium son: IDE, Client API, Remote Control, WebDriver y Grid. Admite integración con Jenkins y “Cruise Control”.
Agile agile testing Android argentesting Automation Automatización automatización de pruebas Bstriker bugs Calidad Capacitación Cucumber curso Debate encuesta English estimación Eventos expoQA hangout Herramientas Ingles ISTQB ISTQB AL Jira jobs Mobile Mobile Testing Móviles performance PractiTest QA requerimientos Ruby Scripting scrum Selenium Selenium Webdriver testing Trabajo Tutorial uTest webinar webservices youtube
Es un sistema integral administrativo de recursos financieros a la medida de PyMes y grandes empresas, las herramientas brindan soluciones a sus necesidades de forma integral, segura y confiable en la nube, cumpliendo con todas las normas del SAT. mexERP tiene como finalidad la optimización y mejora de los procesos contables, manteniendo la integridad de los datos bajo un entorno confiable, preciso e inmediato.
IFS ofrece también un amplio soporte para múltiples modos de fabricación y procesos de negocio que permite que las divisiones compartan la misma solución de empresa, junto con el soporte de un esquema de impuestos de economías emergentes vitales como Brasil. Y además, una sólida organización de servicios globales con una amplia experiencia en gestionar implementaciones globales.
Son herramientas con utilidades diferentes. Para presentaciones almacenadas en la nube y totalmente gratuitas, las mejores son Google Slide y Prezi , sobre todo esta última. “Es muy visual, con efectos de zoom, etc. Ha evolucionado considerablemente hasta ofrecer muchas más opciones que antes. El handicap es que ya no eres original cuando usas Prezi, ya que la utiliza todo el mundo”, comenta Isra García. Otra cosa son las que nos ayudan a organizar la información de forma visual, como Infogram. “Crea increíbles infografías y gráficos en cuestión de minutos. Una herramienta muy útil a la hora de presentar datos”, añade.
Según mi punto de vista, todos los profesionales de calidad deberían formar parte del mismo equipo dentro de la empresa, a no ser que esta tuviera varias líneas de negocio extremadamente distintas. En cuanto a las personas especializadas en automatización de pruebas, estas deberían considerarse como un equipo autónomo incluido dentro del equipo de Testing. Esto ocurre debido a que las características de los procesos de automatización no son las mismas si las comparamos con las actividades de los Testers, Test Leads y Test Managers encargados de gestionar las pruebas manuales.
• Habilitación de pruebas de regresión. Con un conjunto apropiado de pruebas, y habilitados por una herramienta de automatización, cada que generamos un nuevo build de nuestro sistema de software podemos probarlo por completo. Esto es de vital importancia, ya que de acuerdo con un estudio realizado por Capers Jones, en promedio el 7% de las correcciones de defectos inyectan a su vez un nuevo defecto.
Es un sistema integral administrativo de recursos financieros a la medida de PyMes y grandes empresas, las herramientas brindan soluciones a sus necesidades de forma integral, segura y confiable en la nube, cumpliendo con todas las normas del SAT. mexERP tiene como finalidad la optimización y mejora de los procesos contables, manteniendo la integridad de los datos bajo un entorno confiable, preciso e inmediato.
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.
Me podrías asesorar sobre cual debería escoger,debido la bajada de ventas tenemos que prescindir del programa que tenemos actualmente por no poder asumir dichos costes y por eso busco otro.... necesitaría un programa para poder tener control de todas las ventas que han sido enviadas a distintos usuarios, subir de manera masiva un archivi en csv, también subir sus correspondientes trackings para que se enlacen en cada venta asociada (archivo masivo en csv tb y una vez entregadostodos ellos que se pudiera hacer una liquidacion para que cada proveedor la reciba y facture en base a esas ventas entregadas, también necesitaría el control de dichas devoluciones para que emitieran los proveedores tras esa liquidacion negativa su correspondiente abono.Espero tus noticias.deberia tener las opciones de importar y exportar dichos archivos. Muchas gracias por tu ayuda Javier. atentamente Isabel
Please. Alguien me puede mencionar alguna herramienta para testear gratis un exe generado con código de Visual Fox Pro, realizado en Genexus. en Microsoft Test Maneger me da el error Cannot perform ‘SetProperty of Text with value “SA”‘ on the control. Additional Details: TechnologyName: ‘MSAA’ Name: ‘CCW333V11’ ControlType: ‘Edit’ SA, es un valor que yo ingreso.. Muchas gracias por su ayuda
Posiblemente te dirán que la idea es que vos diseñes y codifiques los tests y luego los desarrolladores puedan mantenerlos/extenderlos pero creeme que eso nunca llegué a verlo. Si los desarrolladores tienen que hacer tests QUE HAGAN SUS TESTS UNITARIOS, bastante tienen con sus tareas como para que le agreguen una tarea mas que es la de las pruebas funcionales. A pocos desarrolladores les gustará la idea. Es lo que siempre vi.

TestLink es una herramienta de gestión de pruebas basada en la web ampliamente utilizada. Proporciona soporte para administrar y mantener casos de prueba, conjuntos de pruebas, documentos de prueba y proyectos en un solo lugar. Puede alojarse en un servidor e integrado con herramientas de seguimiento de errores como Mantis, JIRA, Bugzilla, FogBugz, etc. para facilitar el proceso de ejecución de pruebas. TestLink se puede utilizar tanto para pruebas manuales como automatizadas.
A problem which confronts the developers of concurrent logic programming (CLP) systems concerns the design of the programming environment, particularly the provision of debugging tools. Debugging tools are useful for many activities besides identifying bugs: they can help in program testing and demonstration, in software experiments, and in teaching the language semantics. For CLP languages the ... [Show full abstract]Read more
JMeter es una herramienta basada en Java diseñada para cargar el comportamiento de la aplicación y medir el rendimiento del sitio web. Puede probar recursos estáticos y dinámicos que incluyen servicios web SOAP / REST, sitios web HTTP y HTTPS, bases de datos, FTP y servidores de correo, así como PHP, ASP.NET y Java. Funciona simulando la carga en el servidor para analizar el rendimiento general de la aplicación / sitio web bajo prueba.

Un software muy usado es el de restaurante y hoteles, Ya muchos de estos negocios no funcionan como en el pasado. Ya los camareros no usan libretas donde escriben las órdenes o pedidos de los clientes, estas son reemplazados por  máquinas portátiles que notifican notifican a una computadora principal la que a su vez notifica al chef el cual inmediata mente empieza a preparar el pedido. Los Hoteles usan programas especiales que controlan el personal y lo que están obligados a hacer durante todo el día. Cuando un huésped de controles fuera de una sala de limpieza notifica a través de un ordenador que la habitación esté lista para la limpieza, el restaurante da una orden, y la recepción y conserjería de las solicitudes. Las facturas son impresas mucho más fácil y el registro le hace un seguimiento de todos los invitados, sus datos personales, direcciones, teléfonos, tiempos y otros preferencias.

Interesante artículo y un buen punto de partida para cuando se plantea automatizar parte del proceso de pruebas. Muchas veces vemos que se habla de automatización porque “es algo que está de moda”, lo cual lleva a las compañías a tomar decisiones apresuradas, decisiones que tarde o temprano tendrán consecuencias que a veces resultan nefastas. Definitivamente es clave saber donde realizar verdaderos esfuerzos para automatizar y hacer que esta actividad sea generadora de valor para el proceso mismo de desarrollo y que los resultados obtenidos contribuyan a la toma de decisiones informadas.

Me podrías asesorar sobre cual debería escoger,debido la bajada de ventas tenemos que prescindir del programa que tenemos actualmente por no poder asumir dichos costes y por eso busco otro.... necesitaría un programa para poder tener control de todas las ventas que han sido enviadas a distintos usuarios, subir de manera masiva un archivi en csv, también subir sus correspondientes trackings para que se enlacen en cada venta asociada (archivo masivo en csv tb y una vez entregadostodos ellos que se pudiera hacer una liquidacion para que cada proveedor la reciba y facture en base a esas ventas entregadas, también necesitaría el control de dichas devoluciones para que emitieran los proveedores tras esa liquidacion negativa su correspondiente abono.Espero tus noticias.deberia tener las opciones de importar y exportar dichos archivos. Muchas gracias por tu ayuda Javier. atentamente Isabel
Un gestor de tareas es algo así como un bloc de notas muy sofisticado para crear listas de tareas y anotaciones de todo tipo y compartirlas con otros. Destaca sobre todas Evernote , con muchísima diferencia, seguida por RemembertheMilk . Y sólo algunos recomiendan la solución de Google Keep . “Evernote es la más completa para la parte de recopilar, procesar y compartir. Remember the Milk es un complemento perfecto a Evernote para administrar las listas de tareas y asignar tiempos (alarmas, listas automáticas, vencimientos, etc.), aunque se puede prescindir de ella. Las dos son multidispositivo y tienen una gran conexión con herramientas y apps de terceros”, comenta Emilio Rodríguez. Las dos son muy completas en sus versiones gratuitas, aunque en el caso de Evernote, “si la utilizas mucho, merece la pena recurrir a la versión de pago. Cuesta unos 40 euros al año”, explica Emilio Rodríguez.
Con estas herramientas de Selenium podemos reducir considerablemente el tiempo en la creación de las pruebas automatizadas, y estas mismas pruebas pueden ser ejecutadas como un complemento en la ejecución de una prueba funcional. Así, podemos optar por la alternativa que más nos convenga. Lo único que nos queda es usarlas, conocerlas y familiarizarnos con ellas.
×