Mercado mundial de servicios de nube pública creción un 40.7% en 2020

010101 1

Actualmente, en el mundo de la calidad de software existe una cantidad exuberante de herramientas disponibles que pueden elegir los ingenieros de calidad. Entre las opciones disponibles podemos encontrar tanto, gratuitas como de licencia comercial y esto nos da un abanico de posibilidades los cuales, inclusive podríamos agrupar por el tipo de prueba que necesitemos realizar, ya sea una prueba de rendimiento, regresión entre otras. Es importante conocer y explorar las distintas herramientas que permiten gestionar de manera integral el aseguramiento de la calidad del software para discernir entre cual se ajusta a nuestra necesidad.

Que necesitamos considerar:

Para elegir la herramienta correcta hay que tener presente ciertos factores que van a inclinar nuestra decisión hacia cuál es la herramienta que se adecua a nuestro proyecto; no solamente hablamos de temas de costos, que, si bien es un factor importante, no es el único.

Entre los factores que debemos tomar en cuenta están:

  • La compatibilidad de la herramienta, por ejemplo: cuando es web, el comportamiento entre navegadores o entre plataformas a usar.
  • La curva de aprendizaje de nuestros recursos acá es importante valorar, cuánto le tomaría al equipo aprender de la herramienta y adaptarla.
  • Los requisitos de hardware y software que la herramienta necesita.
  • Los requerimientos del proyecto, siempre es bueno mantener una estructura única para nuestras pruebas, entonces debemos elegir conforme el proyecto, no es muy conveniente elegir nuestras pruebas en C# en un proyecto React Native por ejemplo.
  • El soporte al cliente y políticas de actualización de la herramienta.
  • Y por último el costo de la licencia, como habíamos mencionado, no todas las empresas optan siempre por herramientas libres.

Teniendo en cuenta estos aspectos, dividiremos las herramientas por el tipo de prueba en que nos pueden ayudar, además se incluyó una alternativa a cada una de las herramientas a modo de ejemplo esto para hacer una comparación y decidir cual opción más viable.

Herramientas para pruebas funcionales

Para las pruebas funcionales, donde validamos varios aspectos tal como la interfaz gráfica de la aplicación mencionamos dos herramientas y un framework, que nos ayudan con esta parte. Sobra decir que las tres opciones son gratuitas.

Selenium

01 02 2

Es un entorno de pruebas de código abierto y proporciona pruebas funcionales de varios módulos de aplicaciones web en plataformas y distintos navegadores, también nos ayuda en las pruebas de regresión porque consigue pruebas automatizadas que luego se pueden reutilizar cuando lo necesitemos. Lo interesante de Selenium es que admite muchos lenguajes de programación como Java, Ruby, C #, Python, entre otros, haciéndola muy amoldable a un proyecto. Quizá la mayor limitante de Selenium sería que solo nos ayuda para aplicaciones web.

Más info: The Selenium Browser Automation Project :: Documentation for Selenium

Katalon Studio

01 03 3

Admite una amplia gama de tecnologías, robusta y gratuita para pruebas de API, web e inclusive móviles. Comparado con la competencia, una de sus ventajas es que no requiere habilidades de programación para casos de prueba simples. El objetivo de esta herramienta es hacer que la automatización esté disponible para todos.

Más info: The Selenium Browser Automation Project :: Documentation for Selenium

Cypress

01 04 4

Si buscas una herramienta que te englobe diferentes tipos de prueba en una sola, la opción ideal es Cypress, es una herramienta de testing de última generación construida para la web moderna, permite escribir todo tipo de tests: End to end, de integración, unitarios, entre varios más, básicamente como lo mencionan en su página web, “Cypress puede probar cualquier cosa que funcione en un navegador”. Solo tomar en cuenta que la herramienta está enfocada totalmente en el lenguaje Javascript.

Más info: Why Cypress? | Cypress Documentation

Herramientas para pruebas de rendimiento

Cuando nuestro enfoque es evaluar requisitos de rendimiento de nuestra aplicación y determinar cómo se va a comportar ante ciertos escenarios, estas herramientas nos ayudarán de la mejor forma.

LoadRunner

01 05 5

Es adecuado para evaluar el rendimiento de un sitio web o una aplicación web en condiciones de alta carga ya que simula miles de usuarios utilizando el software para registrar y analizar el rendimiento de la aplicación. Un detalle a tomar en cuenta es que aunque está creado para realizar los scripts en lenguaje C, también permite desarrollar scripts en Java, por ende vamos a necesitar conocimientos en esos dos lenguajes de programación, y por último y no menos importante la herramienta no es Open Source, sino que es gratuito hasta 50 usuarios concurrentes, y si requerimos más de eso, vamos a necesitar de una licencia.

Más info: Introducing LoadRunner Professional (microfocus.com)

JMeter

01 06 6

La más conocida en este ámbito, es una herramienta de código abierto dándole una gran ventaja sobre otras, que podemos utilizar para probar el rendimiento de sitios web y aplicaciones web dinámicas. Una ventaja de Jmeter es que funciona en varios tipos protocolos como SOAP, FTP, LDAP, JDBC, TCP, entre otros. Tiene un gran comunidad detrás de ella, lo que la vuelve muy versátil, con mucho soporte y muchísima documentación.

Más info: Apache JMeter – User’s Manual: Getting Started

Herramientas para el seguimiento de defectos

Estas herramientas nos van a ayudar en el flujo de trabajo de un extremo a otro y en la gestión de los errores que los ingenieros de calidad detecten. Estas herramientas van a rastrear el progreso del equipo y nos darán una trazabilidad en el proyecto.

Jira

01 07 7

Jira se ha convertido en una poderosa herramienta de gestión del trabajo para una variedad de casos de uso, desde la gestión de requisitos y casos de prueba hasta el desarrollo ágil de nuestro software. Para lo que es la gestión de pruebas, Jira nos ayuda integrando una alta variedad de complementos, por lo que veremos nosotros como ingenieros de calidad que las pruebas se van a poder integrar sin problemas en el ciclo de desarrollo de software y así el equipo puede realizar pruebas iterativas efectivas.

Más info: Jira | Software de seguimiento de proyectos e incidencias (atlassian.com)

Azure DevOps

01 08 8

Es producto de Microsoft que nos va a ayudar a cubrir todo el ciclo de vida de una aplicación y así, habilitar las características de DevOps. Esta herramienta nos brinda capacidades de gestión de pruebas tanto manuales como automatizadas. Azure DevOps lo vamos a poder utilizar como back-end para numerosos entornos de desarrollo integrados, pero claramente está diseñado para Microsoft Visual Studio y este punto es muy importante tenerlo en cuenta si lo vamos a elegir.

Más info: Azure DevOps documentation | Microsoft Docs

Herramientas para el análisis de código:

Uno de los problemas que podemos observar en los equipos de aseguramiento de calidad es que no se le toma el tiempo pertinente a la corrección del código, a depurarlo, a corregir vulnerabilidades del mismo, y eso a la larga nos puede generar bastantes problemas, una herramienta que nos ayuda con este tema, es SonarQube.

Sonarqube

01 09 9

Es una plataforma de software libre que nos ayuda a evaluar la calidad de nuestro código fuente, realizando un análisis estático sobre dicho código, esto lo hace obteniendo métricas que pueden ayudar a mejorar la calidad del código de la aplicación. Un punto a favor de la herramienta es que nos da la facilidad de poder analizar más de 20 lenguajes de programación.

Más info: SonarQube Documentation | SonarQube Docs

Herramientas para probar API

Estas herramientas ayudan a probar protocolos como REST o SOAP que actualmente tienen mucho auge en el mercado del software.

SoapUI

01 10 10

Es una herramienta multiplataforma de código abierto que se utiliza tanto para pruebas funcionales como de carga en API. También puede realizar llamadas HTTP y JDBC. La herramienta es gratuita hasta ciertas funcionalidades, para acceder a las demás, se nos solicitara una licencia.

Más info: Docs | SoapUI

Postman

01 11 11

Nace como una herramienta que principalmente permite crear peticiones sobre APIs de una forma muy sencilla y poder, de esta manera, probar la funcionalidad de la API. Una ventaja es que la herramienta es gratuita, y tiene una interfaz muy amigable.

Más info: Introduction | Postman Learning Center

Rest Assured

01 12 12

No es una herramienta como tal sino más bien un framework escrito en Java y diseñado para simplificar las pruebas sobre servicios basados en REST. Este framework soporta las operaciones POST, GET, PUT, DELETE, OPTIONS, PATCH y HEAD y contiene herramientas para invocarlas y verificarlas. Podríamos darle una oportunidad, valdrá la pena.

Más info: GettingStarted · rest-assured/rest-assured Wiki · GitHub

Herramientas para pruebas en Móviles

Espresso

01 13 13

Es una herramienta de prueba en móviles para Android, desarrollada por Google, con un marco simple de código abierto, que es fácil de usar e interpretar. Da resultados rápidos, consistentes, confiables y estables. La herramienta es gratuita.

Más info: Espresso  |  Desarrolladores de Android  |  Android Developers

Appium

01 14 14

Es una herramienta de automatización de interfaz de usuario basada en Selenium para aplicaciones móviles, nativas o híbridas en iOS y Android, esto la hace la herramienta más usada para este fin. Este es un proyecto bastante desarrollado que tiene su propio IDE que incluye un emulador. La herramienta es gratuita.

Más info: Espresso  |  Desarrolladores de Android  |  Android Developers

_____________________________________________________________________

Esta lista de herramientas son un ejemplo de ideas que se pueden utilizar para cada tipo de prueba, aun así, hay muchas otras opciones disponibles. Sin embargo, la elección de las herramientas para pruebas de software va a depender completamente de los requisitos del negocio, siempre con un único objetivo en nuestra mente: software de calidad.

Edit

Aprenda a crear una organización de TI resistente mediante la combinación adecuada de estrategia, tecnología y talento.

Edit

Obtenga orientación sobre estrategias innovadoras de análisis y datos que impulsan nuevas fuentes de ingresos y valoran los activos de información de la organización al tiempo que se integran en la estrategia general de su organización.

Edit

Obtenga información sobre cómo transformar los programas de seguridad para enfrentar un nuevo mundo de desafíos de privacidad, ética y seguridad. Comprender los aspectos técnicos y comerciales del riesgo de seguridad de la información y comunicar esos riesgos en un idioma que comprenda la empresa.

Edit

Aprenda a desarrollar la excelencia operativa para entregar sistemas existentes confiables mientras navega por los cambios necesarios para avanzar, desde el legado a la nube

Edit

Obtenga información sobre cómo modernizar el diseño y la ejecución de aplicaciones y plataformas. Comprenda el impacto y el potencial de las tecnologías emergentes en sus estrategias de TI y cómo impulsarán las prioridades comerciales

Edit

Cree equipos de negocios digitales multidisciplinarios para garantizar una transformación digital exitosa
Alinee estrategias entre TI y el negocio.
Cree equipos híbridos de “fusión” de TI y negocios.
Desarrolle una visión común del valor mediante el establecimiento de métricas compartidas.
Transición de un modelo de entrega centrado en el proyecto a uno centrado en el producto.