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
Hola Javier, soy miembro de un voluntariado en Antioquia y tenemos un ropero en el cual se llevan a cabo dos actividades ; se dona ropa a personas necesitadas o se vende a muy bajo costo. Quisieramos llevar un inventario de entradas y salidas de ropa que sea sencillo y que nos permita identificar la ropa que tenemos y las edades para las cuales pueden servir. Tu nos podrías recomendar un programa?
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
Selenium  ofrece la ventaja de ser una herramienta de código abierto. Esta herramienta esta diseñada exclusivamente para navegadores, es decir, que esta diseñada para tecnologías web. Se puede escribir los scripts tanto en C#, Java, Groovy, Perl, PHP, Python y Ruby. En cuanto al soporte, viene dado a través de la comunidad que lo desarrolla y colabora en ello, pero eso no garantiza una respuesta. Esta herramienta se puede usar en Windows, Linux y MacOS.
Antes de poder ejecutar pruebas automatizadas, es necesario disponer de un entorno con un controlador de pruebas y agentes de prueba. Un entorno es el conjunto de roles necesarios para ejecutar una aplicación concreta y las máquinas que se utilizarán para cada rol. Un controlador administra pruebas en varios equipos comunicándose con los agentes de prueba instalados en cada uno de ellos. Cada agente puede llevar a cabo distintas tareas: instalar software, ejecutar pruebas y recopilar los datos de las mismas.
Postman es una gran herramienta para probar APIs. Los probadores y desarrolladores pueden utilizar esta herramienta gratuita como una extensión de Chrome o un producto de colaboración en la nube para desarrollar, probar y documentar las API más rápidamente. Permite a los usuarios comprobar el historial de las solicitudes HTTP enviadas, personalizar secuencias de comandos, autocompletar URL, previsualizar imágenes, realizar pruebas de producción, organizar o configuraciones locales con una amplia gama de características y funciones.
La automatización del testeo de software permite reducir los costes de cualquier organización que necesite probar sucesivas versiones de un mismo producto, facilitando así las pruebas de regresión (1). Para llevar a cabo la automatización del testeo en una organización hay que evaluar la disponibilidad de recursos humanos para destinar a la automatización. Debido a que la automatización es también un proyecto de desarrollo, se necesita un perfil desarrollador/tester.

HP Unified Functional Testing era antes conocida como Quick Test Professional, QTP. Soporta una variedad muy extensa de tecnologías: Java, Sap, Siebel, Visual Basic .Net y Oracle entre muchas otras. Esta Herramienta se basa en el reconocimiento de objetos, aunque se puede utilizar el posicionamiento dentro de una pantalla para la realización de pruebas, así como reconocimiento de texto por OCR.  Al poseer un interfaz amigable y un código de generación de scripts en visual basic se consigue que se aprenda más fácilmente, obteniendo una curva de aprendizaje muy alta desde el primer momento. Esta herramienta se suele integrar con todas las herramientas de la suite de HP como Quality Center (gestor de requisitos, casos de prueba y defectos). También hay que decir que al estar una empresa detrás como HP, el soporte es muy amplio y hay gran cantidad de ingenieros de calidad para su soporte dando fiabilidad y eficiencia. Esta herramienta se instala en cualquiera de las versión de Windows recientes.
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.
• Vender funcionalidades en lugar de beneficios. Cuando hablamos de testing se nos olvida mencionar cómo beneficia al cliente, producto, o empresa. Tendemos a hablar de todo lo que vamos a poder hacer sin mencionar los beneficios. No importa lo avanzada que sea la herramienta de automatización o ese nuevo proceso manual que deseas implementar, si no puedes ligarlo a beneficios tangibles. Necesitas identificar que el testing, ya sea automatizado o no, sí beneficia al cliente, producto o empresa.
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.
Somos una empresa de automatización de pruebas de software basados en México, India y Dubái. Proporcionamos servicios de gestión de calidad y pruebas automatizadas. Además Somos un proveedor de soluciones para automatización de pruebas de seguridad, pruebas de aceptación, sistema de gestión de calidad QA, 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.
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.!
Daniel fundó su empresa de Software Internet en 1996, y se especializa en aplicar las nuevas tecnologías al mundo del comercio. Es dirigente de Cámaras Empresariales, fue Presidente y Vicepresidente de entidades regionales, y ha recibido el Premio al Mérito Industrial. Ha fundado 7 empresas, una de ellas Solo10.com SA que actualmente exporta a 17 países.

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.
La automatización de pruebas de carga se ha vuelto una necesidad para poder evitar así arriesgar la integridad del negocio con anomalías inesperadas además existen un sin fin de herramientas de prueba de carga como agileload (http://es.agileload.com) que te ayudan a crear guiones de prueba , a diagnosticar problemas además simula de manera realista la carga .
En este último aspecto debemos decir que TestComplete ofrece las pruebas dirigidas por palabras clave (en inglés “keyword-driven testing”). En las pruebas basadas en palabras clave, cada palabra clave corresponde a una acción de prueba individual, como un clic del ratón, la selección de un elemento del menú, pulsaciones de teclas, abrir o cerrar una ventana u otras acciones. Esto es lo que inicialmente, y poco a poco, deberemos configurar, para luego crear una prueba de palabras clave, la cual es una secuencia de operaciones, en formato de palabras clave, que simula las acciones del usuario en la aplicación probada. Básicamente, para realizar cualquier acción de prueba, los evaluadores simplemente arrastran y sueltan la palabra clave que corresponde a la operación deseada o simplemente pueden registrar sus acciones y la prueba dirigida por palabra clave se construye para ellos. Estas palabras clave las podremos reutilizar infinitas veces para prevenir el modelo “no te repitas tú mismo“. Asimismo, ofrece flexibilidad cuando cambia la aplicación a probar y para los nuevos usuarios beta que lleguen a trabajar les será más intuitivo el mantener las pruebas creadas, adquirir experiencia y crear nuevas pruebas dirigidas por palabras clave.
Razor SQL es una herramienta de SQL Query y Database Editor para Windows, Mac OS y Linux. Permite a los probadores importar, exportar y convertir bases de datos en varios formatos como MySQL, Oracle, DB2, PostgreSQL, SQLite, MS SQL Server y MS Access. Con Razor SQL, los usuarios también pueden explorar objetos de base de datos y realizar comparaciones de bases de datos.
Las pruebas de estrés permiten verificar que el sistema funciona adecuadamente bajo diferentes condiciones. Baja memoria o no disponible en el servidor, máximo número de clientes conectados y múltiples usuarios ejecutando la misma transacción, representan algunas de las condiciones descritas. La finalidad de las pruebas de estrés también es la de identificar el límite de las condiciones bajo las cuales el sistema falla.
×