Herramientas de evaluación para sistemas orientados a objetos. JUnit XUnit es una de las herramientas más usadas para realizar pruebas unitarias automatizadas sobre software. Es una de las primeras herramientas de evaluación con la que la localización y detección de fallos es mucho más precisa. Ésta cuenta con una extensión llamada JUnit, creada por Kent Beck y Erich Gamma (Wahid & Almalaise, 2011). Esta herramienta se enfoca en realizar pruebas sobre el código en lenguaje Java. Sus principales ventajas son el uso simple y la automatización de las pruebas. Herramientas como Evosuite la utilizan como complemento para la generación de sus pruebas. JUnit es un framework de evaluación y su capacidad está en relación de la experiencia del evaluador que la utiliza. Herramienta LCT (Lime ConolicTester) LCT (al., 2011) utiliza un enfoque de pruebas concolic, es decir una combinación entre ejecución concreta y simbólica. Este enfoque se utiliza para estimar los diferentes caminos que tendrá el programa durante el tiempo de ejecución. La arquitectura del LCT se basa en tres componentes principales: el instrumentador el cual, examina el código para tener un conjunto de valores de entrada, el ejecutor de pruebas en el cual se hace la ejecución del programa con los valores ya preestablecidos, finalmente el selector de pruebas se encarga de construir un árbol de ejecución simbólica basado en la información recolectada por los ejecutores de pruebas y selecciona en el árbol la ejecución simbólica siguiente. Este es uno de los primeros frameworks de evaluación que existen, teniendo buenos resultados en su aplicación. Una de sus principales desventajas es que el costo computacional es muy alto y sólo se enfoca en la revisión del código sin tomar en cuenta la funcionalidad de sistema. PET y jPET. PET (Albert E. a.-Z., 2010) es una herramienta que utiliza archivos bytecode de Java para generar criterios de cobertura de evaluación, este enfoque se complementa que se complementa con técnicas heurísticas para determinar la efectividad de la ejecución del programa, los parámetros de cobertura son: sentencias, caminos y loop-K (ciclo de ejecución). jPET (Albert E. a.-M.-Z., 2011), es una extensión de PET y su función es proporcionarle al evaluador un ambiente grafico para la creación de casos de prueba. jPET tiene un visor de su comportamiento en cada caso y agrega un método de analizador de precondiciones escritos en JML, esta funcionalidad no existe en PET. Una de sus principales desventajas es que la cobertura de los casos de pruebas se limita al diseño del sistema, y nuevamente la funcionalidad queda ignorada. Herramienta EvoSuite. Una de las mejores herramientas es EvoSuite (Fraser, 2011), debido a que tiene un buen proceso de localización de fallos. Su funcionamiento se basa en producir series de pruebas que permiten alcanzar una alta cobertura de código utilizando solo el bytecode. Para este proceso se implementan varias técnicas como son la búsqueda hibrida, la ejecución simbólica dinámica y la trasformación del alcance de prueba. EvoSuite tiene dos objetivos principales: la cobertura total del conjunto de pruebas, utiliza un enfoque de búsqueda evolutiva que muta conjuntos de pruebas completas respecto a un criterio de completitud de cobertura. Otro objetivo importante es que la generación de aserciones basadas en mutación, utiliza pruebas basadas en mutación para producir un conjunto reducido de aserciones que maximiza el número de defectos introducidos en una clase que está en relación con los casos de prueba. Es sin duda una de las mejores herramientas de evaluación, sin embargo su costo computacional es muy alto para cualquier entorno de ejecución real. Esta herramienta genera millones de casos de prueba, lo cual implica un desgaste muy alto en tiempo y esfuerzo. De esta forma retornamos el problema de origen: costos altos y pocos recursos. Arquitectura propuesta En el presente trabajo se propone una arquitectura para una herramienta de evaluación de sistemas orientados a objetos. La evaluación de sistemas de software es un proceso costoso, pero en la actualidad a ese costo también hay que incluir que las técnicas tradicionales de evaluación no son suficientes, los nuevos paradigmas de programación hacen difícil la planeación y ejecución de pruebas. Nuestra propuesta se basa en la planeación de pruebas y en la ejecución de casos de prueba mediante el paradigma orientado a aspectos. El diseño de la arquitectura propuesta es independiente del código fuente, ya que se puede tomar como base el bytecode. Esto es debido a que en muchos sistemas, las aplicaciones no contienen archivos fuente, debido que


Resumen La calidad de software se ha convertido en un tema de gran importancia y la base de un gran número de investigaciones. Para obtener mejores niveles de calidad, se han utilizado modelos matemáticos e instrumentos de evaluación. Sin embargo el costo de la evaluación de un sistema es muy alto, esto es debido, a que las pruebas que se realizan a un sistema de software, normalmente son del orden de miles. El objetivo de evaluar un sistema es encontrar la mayor cantidad de fallos posibles optimizando los recursos que se tienen asignados al proyecto. A pesar de muchos esfuerzos, en la actualidad los paradigmas de programación como el orientado a objetos (POO) y el orientado a aspectos (POA), tienen características en donde las técnicas clásicas de pruebas no son suficientes. En este trabajo se propone un novedoso esquema de evaluación para sistemas orientados a objetos, en donde se combina la planeación de las pruebas, apoyada con técnicas de programación orientada a aspectos. Este enfoque mejora la eficiencia de la técnica de pruebas de caja negra para lenguajes como Java. Nuestra herramienta de evaluación se enfoca en medir los niveles de confiabilidad mediante la emulación de un ambiente controlado con evaluadores virtuales, lo que permite reducir los costos y mejorar la eficiencia en el proceso de evaluación. Abstract Quality software has become an issue with great relevance and it has been the basis of many researches. To obtain best quality levels it has been used different math models and assessment tools. However, the cost to evaluate any system is high, due to the test that have been implemented, it must be run thousands of times. Aim of evaluate a software system is to debug most errors so optimize resources allocate to the project of software. In spite of many efforts, currently the programming paradigms like object-oriented programming (OOP) and aspect-oriented programming (AOP), have characteristics where the testing classic techniques are not enough. In this paper we propose a novel evaluation scheme for object-oriented systems, where planning of tests and techniques supported with aspect-oriented programming are combined. This approach improves the efficiency of the technique of black box testing for programming languages like Java. Our assessment tool focuses to measure the levels of reliability by emulating of a controlled environment with virtual evaluators, thereby reducing costs and improvement the efficiency of process of evaluating. Palabras clave: Confiabilidad, pruebas, calidad, programación orientada a objetos. Introducción Durante el proceso de desarrollo de software, la etapa de localización y corrección de fallos, es decir, la fase de pruebas, puede llegar a ocupar desde un 40% hasta 60% de los recursos totales asignados al proyecto de software (Sommerville, 2007). En un contexto ideal, se espera que un sistema desarrollado de una forma adecuada, presente la menor cantidad de fallos posibles. Sin embargo y a pesar de muchos esfuerzos, los

Como podéis imaginar, habrá decenas de herramientas para pruebas software, de las que he querido destacar en esta lista tres: Selenium, Jmeter y Testlink. ¿Por qué estas tres? Porque son herramientas para pruebas software, son de software libre y son de las más usadas en proyectos. Las dos primeras, Selenium y Jmeter, trabajan en la automatización de las pruebas funcionales, la tercera, Testlink, en la gestión de los casos de prueba. Aquí os dejo un breve resumen de estas herramientas para pruebas software.
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.
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.
• Capacidad para aplicar pruebas complicadas. Algunos tipos de prueba son difíciles de aplicar o muy complicadas de ejecutar de manera manual; entre esta rama podemos encontrar aquellas en las que es necesario el acceso a la base de datos para verificar que la información del sistema sea correcta, o tal vez sea preciso hacer cálculos manuales para verificar la validez de los resultados arrojados por el sistema. Muchas herramientas de automatización proporcionan estas funcionalidades. Además, los sistemas de automatización nos pueden auxiliar a introducir grandes cantidades de información, configurar la versión de prueba de la base de datos, y generar información aleatoria entre otras cosas.

Framework open-source de automatización de pruebas con versiones de descarga para Windows, Mac y Linux. Sus características permite: Crear proyectos desde plantillas para aplicaciones Web, Móvil y Testing sobre API Generación de casos de pruebas desde grabación, su entorno IDE o codificación Entorno integrado de ejecución sobre los navegadores más […]
El software de negocios, como el que en Evolve-It ponemos a su alcance, crea vínculos entre varios procesos empresariales, lo que lleva a la creación de informes más detallados, facturaciones automatizadas y mayores resultados de ventas. Mediante su empleo, cada vez que se realice una nueva entrada de datos, se mostrarán campos opcionales para vincular la información ya sea a proyectos, usuarios, clientes, recursos, etcétera. Además, no siempre tienen que introducirse los datos manualmente, ya que cierta información puede ser recolectada automáticamente con la ayuda de mecanismos prediseñados de integración. Cabe señalar que la información sobre los perfiles de clientes se actualiza con frecuencia reflejando así los progresos de los procesos de ventas.

En primer lugar quería felicitarte, es muy útil todo lo que posteastes, y aprovecho la oportunidad para preguntarte lo siguiente: acabo de abrir una escuela de informática, quería un software que me sirva para cargar mis alumnos, horarios, cuotas mensuales, y que eso lo pueda llevar paralelo con los gastos, en síntesis que me ayude a administrar la escuela..
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.
De conformidad con la Ley 34/2002 de Servicios de la Sociedad de la Información y con la normativa aplicable en materia de Protección de Datos, le informamos de que sus datos serán tratados por PANEL SISTEMAS INFORMÁTICOS, S.L. con la finalidad de enviar comunicaciones comerciales/newsletters que sean de su interés, por cualquier medio electrónico o no, basándonos en su consentimiento previo obtenido a través de este sitio web www.panel.es.
inspector de código para crear los casos de prueba necesarios. Algunas propuestas utilizan los archivos fuente de Java y otras se basan en diagramas UML para conocer la arquitectura del sistema. Nuestra propuesta se basa en retomar la parte de planeación y ejecución de pruebas que marca la teoría clásica, apoyada con técnicas de programación novedosas como la POA para mejorar la ejecución de cada caso de prueba. En este caso la combinación de la evaluación del sistema en reposo y en tiempo de ejecución robustece el proceso de evaluación para lenguajes como Java y nos permite planear y ejecutar los casos de prueba de una forma efectiva. De acuerdo a los resultados que hemos obtenido con este enfoque en otro tipo de aplicaciones (Davila-Nicanor, 2005), los costos se reduce en al menos el 50%. Este enfoque permite obtener sistemas productivos más confiables y eficientes. Trabajo a futuro El principal objetivo de nuestro trabajo a futuro es implementar el esquema propuesto para la herramienta de evaluación de sistemas orientados a objetos. Para evaluar la certeza de esta propuesta, serán utilizados algunos casos de estudio que tiene disponibles en su base de datos la Nasa (Rathore, 2012). El objetivo de esta base de casos, es que los instrumentos de evaluación que se proponen puedan contrastar sus resultados con los reportados en esta organización. Otro objetivo importante es que el costo computacional deberá ser bajo en la ejecución de la herramienta. En este caso los algoritmos implementados deben ser eficientes y confiables. Finalmente la técnica que elegimos POA en la ejecución de los casos de prueba, representa un gran reto, porque de acuerdo al estudio realizado en este reporte, pocas herramienta la utilizan como parte central de su proceso de evaluación. En este caso se utilizan en su mayoría técnicas de algoritmos evolutivos, lo cual genera costos muy altos de ejecución. Referencias al., K. e. (2011). LCT: an open source concolic testing tool for Java programs. In In: Proceedings of the 6th Workshop on Bytecode Semantics, Verification, Analysis and Transformation (pp. pp. 75-80). Albert, E. a.-M.-Z. (2011). jPET: An Automatic Test-Case Generator for Java. In Proceedings of the 2011 18th Working Conference on Reverse Engineering (pp. 441--442). IEEE Computer Society. doi:10.1109/WCRE.2011.67 Albert, E. a.-Z. (2010). PET: A Partial Evaluation-based Test Case Generation Tool for Java Bytecode. In Proceedings of the 2010 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation (pp. 25-28). Madrid, Spain: ACM. doi:10.1145/1706356.1706363 Basili, V. R. (1996). A Validation of Object-Oriented Design Metrics As Quality Indicators. IEEE Trans. Softw. Eng., 22(10), 751--761. doi:10.1109/32.544352 Bhatnagar, N. (2004). A Survey of Aspect-Oriented Programming Languages. Cheon, Y. a. (2010). Automating Java Program Testing Using OCL and AspectJ. In Proceedings of the 2010 Seventh International Conference on Information Technology: New Generations (pp. 1020-1025). IEEE Computer Society. doi:10.1109/ITNG.2010.123 Davila-Nicanor, L. a.-A. (2005). Reliability evaluation of Web-based software applications. In Computer Science, 2005. ENC 2005. Sixth Mexican International Conference on (pp. 106-112). doi:10.1109/ENC.2005.36 Fraser, G. a. (2011). EvoSuite: Automatic Test Suite Generation for Object-oriented Software. In {Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering (pp. 416--419). Szeged, Hungary: ACM. IEEE. (2014). IEEE Spectrum. Retrieved Agosto 111, 2014, from http://spectrum.ieee.org/static/interactive-the-top-programming-languages
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
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 

Como podéis imaginar, habrá decenas de herramientas para pruebas software, de las que he querido destacar en esta lista tres: Selenium, Jmeter y Testlink. ¿Por qué estas tres? Porque son herramientas para pruebas software, son de software libre y son de las más usadas en proyectos. Las dos primeras, Selenium y Jmeter, trabajan en la automatización de las pruebas funcionales, la tercera, Testlink, en la gestión de los casos de prueba. Aquí os dejo un breve resumen de estas herramientas para pruebas software.


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.
HOLA BUENAS TARDES. INTERESANTE LABOR. TENGO MI NEGOCIO, LLEVO 1 AÑO, PERO NECESITO UN SISTEMA DONDE TENGA LOS NOMBRES DE MIS CLIENTES, YA QUE EL SERVICIO QE LES DOY SE RENUEVA CADA 12, 18 Y 24 MESES, Y NECESITO ESTAR AL PENDIENTE. LO MANEJO MENSUALMENTE. QUE LLEVE NOMBRE, TEL, FECHA DE INICIO SU PLAN Y FINALIZACION, Y QE ME INDIQUE CUANDO PUEDE EMPEZAR A RENOVAR. ME PUEDEN AYUDAR O SI HAY O EXISTE ESE PROGRAMA O HAY AGUIEN QUE SEENCARGUE EN HACERME ESE SISTEMA O COMO UN ADMIN. SALUDOS
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
¿Cómo sabes que el sistema funciona? Una respuesta común a esta pregunta es “porque el equipo de testing le echó un vistazo”.  El problema viene al tener que determinar la extensión y profundidad de las pruebas realizadas. Si eres afortunado y trabajas en una empresa con buenos procesos, podrás acreditar lo probado a través de una lista de casos de prueba. Si trabajas en una empresa de clase mundial, entonces hay una gran posibilidad de que tengas la fortuna de tener a tu disposición herramientas para la gestión y automatización de pruebas.De acuerdo con Elfriede Dustin, las herramientas de automatización de pruebas consolidan y mejoran la efectividad de las pruebas siempre y cuando se manejen las expectativas, se entiendan las herramientas, y se seleccione una herramienta compatible con el ambiente de programación. Si necesitas probar un sistema no trivial que conste de algo más que unas cuantas pantallas y reportes, entonces es muy posible que por medio de pruebas manuales no logres realizar todas las pruebas que necesitas para verificar la calidad del sistema. Con la ayuda de herramientas de automatización puedes ejecutar más pruebas, lo cual se traduce en una mayor cobertura del sistema que se está probando.
• Las herramientas de Micro Focus Borland cubren todo el ciclo de vida del desarrollo de aplicaciones corporativas, desde la gestión de requerimientos pasando por testing multi-plataforma y control de versiones, con un reconocido prestigio internacional. Gartner ha situado en 2014 a Borland, como líder en su Cuadrante Mágico de “Suites Integradas de Calidad de Software” por tercer año consecutivo.
Javier: hay un tema que generalmente queda por fuera de los sistemas tradicionales de hotelería y restaurantes y es el de gestión de pedidos a proveedores. Con http://horecabot.com (tiene versión gratis) eliminas "malos entendidos" con los proveedores a la hora de comunicarles lo que necesitas así como hacer seguimiento de tus costos. Aquí lo explica https://www.youtube.com/watch?v=irW-aaZa5mk
Como podéis imaginar, habrá decenas de herramientas para pruebas software, de las que he querido destacar en esta lista tres: Selenium, Jmeter y Testlink. ¿Por qué estas tres? Porque son herramientas para pruebas software, son de software libre y son de las más usadas en proyectos. Las dos primeras, Selenium y Jmeter, trabajan en la automatización de las pruebas funcionales, la tercera, Testlink, en la gestión de los casos de prueba. Aquí os dejo un breve resumen de estas herramientas para pruebas software.
Con la plataforma RuedasdeNegocios.com hemos organizado dos eventos internacionales recientemente. Una Rueda de Negocios donde empresarios de Brasil, con el apoyo de APEX, hicieron Negocios con empresas de Paraguay. Y luego una Misión Comercial proveniente de Uruguay, apoyados por su agencia de promoción de exportaciones Uruguay XXI. La plataforma nos facilitó aspectos organizativos y ahorramos mucho tiempo, generándose productivas reuniones de negocios! Excelentes Resultados!
La interacción con el software. Aquí es donde entra la computación en la nube, que nos permite el almacenamiento remoto de la información y el acceso a la misma desde dondequiera que estemos, y el modelo de Software as a Service (SaaS), que no requiere la costosa compra e instalación de software en las computadoras de la empresa, sino solo una suscripción y el pago por utilización.
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.
×