Una tendencia común entre las empresas comerciales de todo el mundo es el aumento de las expectativas de los clientes, las actualizaciones tecnológicas y la imprevisibilidad. Muchas empresas están siguiendo procesos de desarrollo de software Agile debido a la magnitud de estos cambios y las incertidumbres que los acompañan.
Cada paso que damos (laboralmente hablando y específicamente en el área de Testing), está compuesto de una serie de decisiones que nos pueden llevar al éxito o al fracaso, entonces, ¿Cómo sabemos que estamos tomando una buena decisión?, la respuesta debería ser sencilla: Basado en la historia, especialmente en aquella que es cuantificable (Métricas); y si la respuesta es simple, ¿Por qué no tenemos bases de conocimiento?… y si la tuviera, ¿para qué me serviría?.
Escribir código que las máquinas entiendan es difícil, pero escribir código que entiendan los humanos es aún más complicado. Aprende cómo con AssertJ puedes escribir Pruebas Unitarias que sean más fáciles de leer y mantener. Quedan tan legibles, que parecen simples oraciones en inglés. Aquí te explicaremos cómo utilizar esta librería desde cero y los mejores tips para sacarle jugo.
La automatización de pruebas es una técnica de prueba de software que se realiza utilizando herramientas especiales de software de prueba automatizada para ejecutar un conjunto de casos de prueba. Por el contrario, la prueba manual es realizada por un ser humano que ejecuta cuidadosamente los pasos de la prueba. La automatización de pruebas de software exige inversiones considerables de dinero y recursos.
La automatización de pruebas es una técnica de prueba de software que se realiza utilizando herramientas especiales de software de prueba automatizada para ejecutar un conjunto de casos de prueba. Por el contrario, la prueba manual es realizada por un ser humano que ejecuta cuidadosamente los pasos de la prueba. La automatización de pruebas de software exige inversiones considerables de dinero y recursos.
El Formal Testing (denominado por la ISO como Formal Language-Based Testing) usa extensiva e intensivamente, y de manera integrada, implementaciones (compiladores o intérpretes) de lenguages informáticos (una clase especial de lenguages formales, de ahí “Formal Testing”) en actividades de prueba.
Hacer testing en el desarrollo de software no es opcional en estos días. Entender la importancia de saber e incorporar los diferentes tipos de testing que existen, puede ser crucial para el éxito de nuestras soluciones. Tomemos este tiempo para platicar sobre cómo hacer testing de la mejor manera.
Cada grupo de desarrollo de software prueba sus productos, pero el software siempre tiene defectos. Los ingenieros de pruebas se esfuerzan por encontrarlos antes de que el producto se libere, pero siempre se arrastran y reaparecen a menudo, incluso con los mejores procesos de prueba manuales. La automatización de pruebas es la mejor manera de aumentar la eficacia, la eficiencia y la cobertura de sus pruebas de software.
Selenium automatiza los navegadores. ¡Eso es todo! Lo que hagas con ese poder depende de ti. Principalmente, es para la automatización de aplicaciones web con fines de pruebas, pero ciertamente no se limita a eso. Las tareas aburridas de administración basadas en web pueden (¡y deben!) ser automatizadas. Una definición muy concreta y directa, pero vamos a ampliar un poco más la definición.
A lo largo de la relativamente corta historia de la ingeniería de software se han desarrollado varios enfoques para elevar la calidad de productos de software. En esta sesión se abordarán dos de ellos, la prueba de software y los métodos formales: se mostrarán los alcances algorítmicos de la prueba de software y las estrategias heurísticas creadas para superarlos; se mostrará un ejemplo de un método formal, sus aplicaciones y alcances.
Con la proliferación de la heterogeneidad de los dispositivos, sistemas operativos, resoluciones de pantallas, configuraciones, se hace necesario que el software se ejecute de manera idónea, de tal forma que los datos se procesen correctamente y los resultados estén disponibles en todas las plataformas.
En esta sesión se revisarán las herramientas de automatización de pruebas que se tienen disponibles con Visual Studio 2012. Se revisará la automatización de pruebas funcionales con los Coded UI Test, pruebas de desempeño y pruebas de carga. También se describirán los principales frameworks participantes y recomendaciones en el uso de estas herramientas.
Comentar un breve contexto acerca de Agile Testing y profundizar en los siguientes puntos:
- Análisis de modelos de testing y sofware life cycle.
- Planeación de Pruebas
- Ambiente de Pruebas
- Ejecución de Pruebas
- Feedback
- Validacion de Pruebas
- Cotización de tiempo
El presente artículo pretende mostrar una visión de las pruebas de software(Testing) a partir de la experiencia del autor, mediante el uso de metodología Ágil(SCRUM) y herramientas de software libre y abierto aplicadas a un proyecto en particular: SWEST – Software para Empresas de Servicios Temporales.
A pesar de la "ingenierización" de las tecnología de información, incluso metodologías tan formales como CMMI simplemente ignoran el proceso de pruebas de software, llevando a la industria a entregar productos mediocres, de alto costo y fuera de calendario.
Una estrategia de Pruebas de Software formal e integrada con un proceso también formalizado de desarrollo de Software (CMMI, MAAGTIC, ITIL) regularmente entregará productos de mayor calidad, a mejor costo.