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
Jenkins es una herramienta para iniciar pruebas continuas y construir la integración a través de la automatización. Proporciona una forma poderosa de administrar los cambios de código, las pruebas y el ciclo de vida del despliegue, junto con la administración de releases, acelerando el ciclo de vida general del desarrollo del software. Hoy en día, Jenkins ofrece soporte para más de 1.200 plugins que le permiten integrarse con cualquier tecnología.
Dadas las características de la automatización de pruebas funcionales que hemos descrito podemos deducir que no siempre y para todo sirven. Las pruebas están diseñadas para funcionalidades concretas - fueron pensadas para agilizar una parte del proyecto, no para gestionar toda la calidad del código (sí volvemos a la idea inicial). Por eso encontramos y encontraremos detractores de la automatización. Tenemos que ir con cuidado con el testing automation: es un arma de doble filo y como tal hay que saber usarla. Entonces, ¿qué casos de prueba se deberían automatizar?
La venta de paquetes de spa (upselling y cross-selling) es más fácil cuando el personal puede ver qué paquetes los clientes han comprado en el pasado. Los productos que se venden en una tienda de spa pueden ser etiquetados con códigos de barras para rastrear el inventario. De ésta forma, el software puede lanzar una alerta para informar cuando se está terminado un producto y poder reponerlo antes de que el estante quede vacío.
Con tantos dispositivos, plataformas y versiones de sistema operativo que se deben comprobar, necesitará tener de su lado el proceso de automatización para volver a tomar el control de los ciclos de lanzamiento. La automatización de las pruebas aprovecha la nube para mejorar la cobertura de las pruebas, evitando así el uso de costosas compilaciones de entornos de prueba.
Paint de Microsoft. Si, hay un montón de alternativas mucho más completas e interesantes, como Greenshot, del que hemos hablado aquí, o Jing, del que hablaremos en breve. Pero en muchos casos, con Paint es suficiente. Es un programa básico, incluído en todas las versiones actuales de Windows, por lo que si usas alguna versión de este sistema operativo, lo usarás a menudo. En 3 simples pasos puedes tener un pantallazo, y con poco más puedes destacar un punto en concreto y añadir un texto descriptivo en la imagen:

En la última década se ha puesto de moda -incluso es un oficio, y en algunos casos se ha convertido en profesión- el término usuario beta, para referirse al usuario de pruebas que está ubicado entre el programador y el usuario final. Pero, ¿se han preguntado quién o qué está primero o delante, hoy en día, del usuario beta? ¡Acompañadnos hoy en nuestra disertación sobre las herramientas para pruebas!
• Mejor organización de las pruebas. Cuando inicias la automatización de tus pruebas, analizas de manera más estructurada. Examinas tu sistema como ingeniero, ya no de manera empírica. Al crear casos de pruebas formulas preguntas tales como: ¿es repetible esta prueba?,  ¿con qué frecuencia necesito ejecutar esta prueba?,  ¿tiene alguna semejanza esta prueba a pruebas existentes?, ¿cómo automatizaría esta prueba?
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.

Beyond Compare. La última, pero no por ello menos importante, de las herramientas para pruebas de software que vamos a incluir en nuestra top ten de herramientas para testing es Beyond Compare, de la que ya os hablamos en nuestra entrada Beyond Compare. Compara archivos de texto, binarios y carpetas fácilmente. Como ya os indicamos entonces, esta herramienta nos permite comparar archivos y carpetas. Los archivos de texto pueden ser vistos y editados, con sintaxis resaltada y reglas de comparación específicas para documentos, código fuente y HTML.  Los contenidos de texto de archivos Microsoft Word y archivos PDF también se pueden comparar, pero no editar. Archivos de datos, ejecutables, binarios e imágenes, todos tienen visores dedicados, disponiendo siempre de una clara visión de los cambios.

mexERP un sistema integral que te permite registrar tu negocio/empresa de forma fácil y sin complicaciones. Una vez registrado podrás dar de alta, administrar y controlar todas tus transacciones, movimientos y actividades cotidianas de tu negocio. El sistema registrará toda la información y te proporcionará la información necesaria tales como: reportes, facturas, saldos, cuentas por pagar, entre otros que serán de vital importancia para la toma de decisiones en tu negocio.
hola, me parecen muy utiles los programas para el manejo de inventario, pero en el caso de necesitar ingresar un base de datos que tengo en excel, pues me parece muy tedioso el ingreso de mil articulos para el inventario, alguien sabe algun programa que tenga la opción de importar desde excel o algo similar? muchas gracias mi correo es ivan9006@gmail.com agradezco de ante mano

Como he comentado antes tenemos que valorar la capacidad de adaptación de nuestro sistema de gestión. Para ello elegiremos sistemas modulares. ¿Qué es un sistema de gestión modular? Los sistemas modulares son aquellos que tienen una estructura que se divide en varias “partes”, cada una de estas tiene como objetivo cubrir una necesidad en concreto (módulo de facturación, módulo de logística, módulo de RRHH…). Un sistema modular también nos ofrece una reducción de costes considerable, pues solo instalaremos los módulos que realmente sean necesarios en nuestro negocio.
Microsoft Test Manager es la herramienta de Microsoft para la gestión y automatización de pruebas. La interfaz y el código generado en los scripts son bastante intuitivos. Se integra con Team Foundation Server, donde se almacenan, entre otros, los casos de prueba y requisitos. El código generado se llama Coded UI, que graba operaciones de interfaz basado en Visual C#.NET. Las pruebas automáticas se pueden ejecutar tanto en máquinas virtuales como en máquinas físicas. Solo se puede utilizar en sistemas operativos Windows. 
Un proyecto de automatización de pruebas incluye el desarrollo de la suite de automatización, así como su utilización y mantenimiento. La utilización de la metodología TAKT de SOGETI no implica el uso de una herramienta de testing concreta, sino que, su implementación puede realizarse partiendo de herramientas ya presentes en su organización, lo que evitará una nueva inversión.
En Webimprints, estamos ayudando a las empresas a mejorar la eficiencia, reducir la posibilidad de error humano, acelerar el proceso de entrega de los nuevos servicios y permitir un rápido retorno de la inversión con soluciones de IT Procesos Automatización(ITPA). Como hoy la información es más compleja y variada. Las empresas están manejando estos retos en una forma inteligente a través de los soluciones de ITPA, también conocida como, Run Book Automatización (RBA) u Orquestación.
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.
×