La automatización de pruebas es la práctica que permite controlar la ejecución de un producto software de manera automática, comparando los resultados obtenidos con los resultados esperados. Esta práctica permite no solo realizar pruebas repetitivas dentro de un proceso sino probar ejecuciones que manualmente serían difíciles de controlar. Sin embargo, la automatización de pruebas funcionales, no tiene como objetivo eliminar el testing manual, sino ayudarlo y complementarlo. Si automatizamos aquello que puede ser automatizado, entonces los testers tendrán más tiempo y podrán centrar sus esfuerzos en resolver los aspectos más complejos que se le escapan a la automatización de pruebas unitarias o repetitivas. En palabras de Alexandra Blasco: “la automatización consiste en la construcción de un conjunto de scripts reutilizables, con los que podemos aumentar drásticamente la capacidad de testear software en lo que respecta a pruebas de regresión antes y después de la publicación de una nueva versión. Dichos scripts se ajustan a cada funcionalidad y nos aportan una información del impacto de los cambios realizados”.
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 

De las técnicas anteriormente descritas me llamaron atención Monkey testing, ADB Input y BDD, estas tres técnicas se ejecutan a través de la terminal con comandos de tipo adb shell en el caso de la primera y la segunda, la tercera a hace uso de la gema (ruby) android-calabash, lo que buscaba con la herramienta es ofrecer una experiencia similar (guardando las proporciones) de lo que ofrece servicios como firabase test Lab y AWS Device Farm, la cual consiste en pedir la APK y seleccionar los dispositivos a probar.

Buenos dias Javier. Gracias por tus interesantes aportaciones al manejo de Pymes. Tengo un negocio de venta de comidas, boquitas, otros, pero solamente en venta a empresas, bancos, cooperativas, otros, no hay venta directa al público. Deseo saber si existe un programa de uso gratuito para el control de compras de materiales, de fabricación de los diferentes menus, facturación a clientes (contado, credito), control de isv (impuesto sobre venta), pagos de luz, alquiler, agua, impuestos varios, control de pago de planillas, gastos varios, control de bancos, mantenimiento de equipo, compra de insumos, declaracion y controles contables. Tienes alguna recomendación ???? puede ser un solo programa ?? o deben ser varios????? Aguardo tu pronta recomendación. Muchos saludos y éxitos mil !!!!
objetos, la ejecución de pruebas sobre los métodos de una clase, pueden considerarse como pruebas unitarias. Las ventajas de realizar pruebas unitarias son: encontrar errores de forma temprana, evitando la propagación de estos en el sistema completo, lo cual permite mejorar el comportamiento de la aplicación en las pruebas de integración. Otro beneficio es la posibilidad de documentar el código para facilitar su implementación. Pruebas Integrales Otro aspecto importante en el proceso de evaluación son las pruebas de integración. Estas pruebas se basan en probar un conjunto de unidades las cuales interactúan de acuerdo a la funcionalidad en relación con la especificación de los requerimientos. Las pruebas integrales evalúan que las secuencias de interacción entre componentes se realicen correctamente. Esto se debe hacer ya que pueden haber fallos que se mantiene ocultos y solo pueden ser detectados cuando una unidad de código interactúa con otra dentro del mismo sistema. Las ventajas de realizar estas pruebas son: descubrir interacciones inadecuadas entre los componentes, interfaces y arquitectura de diseños deficientes. Enfoque actual de programación ! Programación Orientada a Objetos De acuerdo al ranking de la revista IEEE Spectrum (IEEE, 2014) el lenguaje Java es el más utilizado para el desarrollo de sistemas empresariales, aplicaciones móviles y web. En este caso las propiedades que la Programación Orientada a Objetos (POO) ofrece, tiene grandes ventajas como son: la portabilidad, la reutilización de componentes y la sencillez de sus cláusulas, que también son fáciles de entender. El mayor representante de este paradigma es el lenguaje Java con más de 9 millones de desarrolladores en todo el mundo (Oracle, 2014). Sin embargo evaluar aplicaciones en Java no es sencillo y los esquemas tradicionales de pruebas no son suficientes, en este caso la planeación de pruebas tradicionales no es aplicable. Esto se debe a que la mayor parte de la funcionalidad de estos sistemas se resuelve a tiempo de ejecución. Las características de la POO que influyen en este aspecto son las siguientes: • Encapsulación: esta propiedad limita el acceso que se tiene a los atributos internos de una clase, y solo se puede acceder a ellos mediante la instancia de la clase. • Herencia: esta propiedad permita a una clase hija comportarse como una clase padre y a sí mismo una clase padre puede comportase como una clase hija, pero con un comportamiento limitado. • Polimorfismo: esta propiedad permite seleccionar los métodos que se utilizan durante tiempo de ejecución haciendo el código más flexible. Programación orientada a aspectos Este enfoque es relativamente nuevo el área de desarrollo de software, pero se ha consolidado como un paradigma el cual facilita la encapsulación de requerimientos no funcionales. Una de las funciones más importante de este nuevo paradigma es mejorar la modularidad del código en sistemas de software y reducir su complejidad. Esto es posible mediante enfoques como el entrelazado de asuntos (crosscutting concern) en el código, estos asuntos generalmente son requisitos no funcionales que debe de cumplir un sistemas, por ejemplo la seguridad y el inicio de sesión de usuarios. Este entrelazado es un concepto que se implementa en diversas secciones del código, mediante la implementación de corte en puntos (pointcuts), de acuerdo a la definición de puntos de unión (joint points) los cuales son puntos donde los asuntos (concerns) son aplicados. Un aviso (advice) es un comportamiento adicional que tendrá el código, el cual es ejecutado en un asunto. Entre los representantes más importantes de este paradigma tenemos a AspectJ (Laddad, 2003), que funciona como una extensión para el lenguaje Java. Actualmente forma parte del proyecto de código abierto Eclipse de IBM. La unidad principal de AspectJ es el aspecto, el cual combina los conceptos corte en puntos, avisos y declaraciones. Este nuevo paradigma ofrece nuevas posibilidades para el área de pruebas de software. En trabajos de investigación como en (Cheon, 2010) se desarrolla un enfoque que utiliza una combinación entre OCL (Object Constariant Language) y aspectos para colocar restricciones en la invocación de métodos para validar los rangos y datos de las variables de entrada.
Las herramientas de gestión de la reputación online te ayudarán a saber qué dicen de ti y dónde. La más recomendada es Google Alerts, un sistema de alertas que te avisa cuando alguien publica algo sobre tu nombre o marca. Aunque tal y como señala el webmaster Dean Romero, “no hacen falta demasiadas herramientas para saber qué se está diciendo de ti en Google. El algoritmo está muy cualificado para encontrar los términos que busques. Basta teclear tu nombre o tu marca y listo”.
31 ideas de marketing app atención al cliente branding capacitación creatividad desarrollo de carrera desarrollo de clientes discriminación ecommerce emprendedoras emprendedores emprendedorismo empresa de familia entrevista equipos de trabajo españa estrategias de marketing facebook gestión del tiempo guias de viaje género ideas de negocio innovación liderazgo linkedin motivación mujeres de empresa networking nutrición personalidad emprendedora planificación financiera productividad pymes redes sociales seguridad informática social media software ted trabajar desde casa twitter técnicas de venta video violencia de género vitaminas

La realización de pruebas manuales y automatizadas no debería ser excluyente entre sí. Mientras que unas garantizan la calidad, las otras incrementan la velocidad, de forma que puede seguir el ritmo de desarrollo y los ciclos rápidos de lanzamiento Agile. Mediante nuestro enfoque híbrido, puede escalar las pruebas para satisfacer todas sus necesidades, reducir laboriosos procesos manuales por medio de la automatización, y conservar aun así el toque humano.


Si considera que es momento de implementar software de negocios en su compañía, con más de 24 años de experiencia en la implantación de sistemas administrativos tanto en la administración del talento humano (Nóminas, Control de Asistencia, Gestión del Capital Humano), así como en el sistema administrativo (Fortia ERP), Fortia Technology se ha convertido en un aliado de negocio que a través de su personal altamente calificado, proponiendo las mejores alternativas de solución y prácticas de negocio, resulta mucho más que un implantador de sistemas, y funge un importante rol de consultor operativo y de negocio que propone estrategias que ofrecen valor agregado a su organización.

Hola, lo mejor es que pruebes algunos de los programas del listado (cada uno tiene una breve descripción para que te hagas una idea de sus características) y así podrás determinar cuál es el más conveniente para usar en tu negocio. Recuerda que cada negocio es único y tiene necesidades especiales, por ello tu más que nadie podrás encontrar el software de gestión más adecuado.
El término engloba una amplia variedad de aplicaciones informáticas que incluyen desde programas de contabilidad y de ofimática, hasta sistemas de planificación de recursos empresariales (ERP), pasando por programas de gestión de clientes (CRM) y de recursos humanos, así como programas de administración de la cadena de suministros (SCM), etc. Con estos se suele incluir un servicio para dar soporte técnico a las empresas que los usan, como también orientarlas en problemas y dar soluciones, según los protocolos de cada distribuidor.
“Sin olvidarnos de herramientas para analítica y medición de apps. Las de medición, como Appfigures, te ofrecen información del número de descargas, ventas, ranking de tu app, valoraciones, etc. Las de analítica, como Appanie https://www.appannie.com/en/ , te indican quién hace qué dentro de tu aplicación. Igual que Amplitude. Son algo así como el Google Analytics para aplicaciones. Otra alternativa es Mixpanel, que vale para analíticas de webs y apps. Ésta te da información extra que no te ofrece Google Analytics en web (quién hace exactamente el qué)”, explica Emilio Rodríguez.

Estimado Javier. Felicitaciones por el post y por el nivel de respuestas y comentarios que obtienes. Necesito una aplicativo de preferencia online (en web), gratis o de bajo costo que permita a mis vendedores reportar sus visitas y ventas a clientes (farmacias y medicos) Sabes si existe algo que se acerque a ello y que me pueda ayudar? Infinitas gracias.!
Otra herramienta privativa, de la mano de “SmartBear Software”®, que también utiliza VBScript y además maneja C#Script, C++Script, DelphiScript, JScript, JavaScript y Python, ¡sin ningún problema! A pesar de todos los lenguajes interpretados que soporta, igualmente no se necesitan habilidades extraordinarias de programación y su instalación es relativamente sencilla. Tiene tres módulos principales: como aplicación de escritorio, web y móvil. En muchos aspectos se parece a su contrincante UFT, ya que también se integra con Jenkins y mantiene actualizados los guiones u objetos grabados al cambiar alguno de ellos, lo que significa ahorro de tiempo y esfuerzo.
Principalmente, porque la interfaz de usuario es la parte más propensa a cambios de toda la aplicación, y para automatizar pruebas y tener fiabilidad sobre lo que estamos ejecutando necesitamos cierta estabilidad: un cambio en la interfaz podría hacer fallar la prueba automática, y en ese caso, tendríamos que readaptarla para que volviera a funcionar.
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, ….

El problema de armar algo a medida desde cero (o sea desde la programación) es la actualización del mismo. Un alternativa mucho más razonable por su sencillez, costo y posibilidades de actualización es hacerlo tu misma mediante una base de datos con capacidades gráficas, ahí mi programa preferido es sin duda FileMaker, que, además ofrece muchísimos plantillas de gestión de negocios específicos que puedes adaptar muy rápidamente a tus necesidades.

Son herramientas para mejorar la productividad. Entre las gratuitas, la más recomendada es Rescue Time . Está también Teamviz. “Rescue Time es una de las que más y mejores resultados me da. Un servicio de analíticas personales que muestra cómo empleas tu tiempo, desde que enciendes el PC o portátil, y te proporciona herramientas para ayudarte a ser más productivo”, comenta Isra García.

El software E.S. Plan de empresa es producto de más de 10 años trabajando con miles de emprendedores y clientes, viendo qué funciona y qué no en el mundo real. Este software arregla los planes de negocio por donde están rotos, que es en ser largos, centrados en lo que no importa, inútiles para el día a día y que no se aplican porque acaban en un cajón, incompletos o con el hartazgo de haberlo hecho para nada.
Insistiendo en el tema de la conversión, asegura que, en el caso de los ecommerce, Doofinder “ayuda a aumentar las ventas entre un 15% y un 20%” dado que ha ido desarrollándose hasta convertirse en una herramienta de marketing. Otra de sus funcionalidades más potentes es “sin duda, su panel de estadísticas, donde el propietario del negocio o el gestor de esa web puede comprobar ratios de clicks en los productos mostrados , y de conversión en base a las sesiones de búsqueda”. Doofinder ofrece 30 días gratuitos de prueba, se instala en 5 minutos sin necesidad de programar, es compatible con todas las plataformas de comercio electrónico y de gestión de contenidos.
×