[go: up one dir, main page]

0% encontró este documento útil (0 votos)
14 vistas9 páginas

EVIDENCIA DEL MES DE ABRIL de 2023

Cargado por

jlreyeste
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
14 vistas9 páginas

EVIDENCIA DEL MES DE ABRIL de 2023

Cargado por

jlreyeste
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 9

EVIDENCIA DEL MES DE ABRIL de 2023

En la presente evidencia presentamos una recopilación de herramientas, que podrían utilizar los equipos de
desarrollo durante el proceso de creación de aplicaciones, para la realización de pruebas sobre la calidad del
software producido. Estas pruebas de calidad se realizan de forma rutinaria y obligatoriamente durante dicho
proceso y están asumidas como parte fundamental del mismo.

Estas pruebas presentan la siguiente tipología: pruebas de Funcionalidad (Función, Seguridad y Volumen),
Usabilidad, Fiabilidad (Integridad, Estructura y Stress), Rendimiento (Benchmark, Contención y Carga) y
Soportabilidad (Configuración e Instalación).

A continuación se adjuntan los datos del archivo en el que hemos reunido esta serie de herramientas para pruebas
de calidad de software.
Este es el contenido de dicho fichero:

Herramientas para diferentes pruebas de calidad de software

Concepto de Calidad de Software.


Existen diversas definiciones de la Calidad del Software enunciadas por varios organismos, entre ellos ISO
(International Organization for Standardization) e IEEE (Institute of Electrical and Electronics Engineers) que
proponen normas y estándares para llevar a cabo una correcta práctica que garantice la buena ejecución de los
procesos. Una de estas definiciones es: “La calidad del software es el grado con el que un sistema, componente o
proceso cumple los requerimientos especificados y las necesidades o expectativas del cliente o usuario”.

“El conjunto de características de una entidad que le confieren su aptitud para satisfacer las necesidades expresadas
y las implícitas”.

En resumen, la calidad de software se puede decir que es: "La concordancia con los requisitos funcionales y de
rendimiento explícitamente establecidos, con los estándares de desarrollo explícitamente documentados, y con las
características implícitas que se espera de todo software desarrollado profesionalmente".

Para obtener un software de calidad se requiere de la utilización de metodologías y procedimientos estándares para
el desarrollo de los requerimientos, el análisis, el diseño, la implementación y, finalmente, las pruebas del software,
que son el elemento fundamental para el logro de la calidad de cualquier sistema o parte integrante de éste. Las
pruebas permiten evaluar la estrategia de trabajo en aras a lograr una mayor confiabilidad, mantenibilidad y
facilidad de las soluciones.

Garantía de Calidad.
Para algunos autores, La Garantía de Calidad del Software es la actividad que posibilita asegurar, proteger todo el
proceso de ingeniería de software.

Es un conjunto de procedimientos, técnicas y herramientas, aplicados por profesionales, durante el ciclo de


desarrollo de un producto, para asegurar que el producto satisface o excede los estándares o niveles de calidad
preestablecidos. (IEEE, 1990)

Es la guía de los preceptos, de la gestión y de las disciplinas de diseño para el espacio tecnológico y la aplicación de
la ingeniería del software. (IEEE, 2004)

La garantía de calidad comprende la auditoría y las funciones de información de la gestión. El objetivo de la garantía
de calidad es proporcionar la gestión para informar de los datos necesarios sobre la calidad del producto, por lo que
se va adquiriendo una visión más profunda y segura de que la calidad del producto está cumpliendo sus objetivos.
Por supuesto, si los datos proporcionados mediante la garantía de calidad identifican problemas, es responsabilidad
de la gestión afrontar los problemas y aplicar las medidas correctoras para resolver los mismos. (Pressman, 2002).

Pruebas de software.
En todo proceso de desarrollo de aplicaciones es indispensable la existencia de un proceso de Pruebas de Software
que coexista y se integre con este primero para garantizar así el buen funcionamiento y la calidad del producto final.
Para lograr, se debe partir del concepto de que estas pruebas desempeñan un papel fundamental en esta disciplina.
“Las pruebas constituyen una actividad en la cual un sistema o componente es ejecutado bajo condiciones
específicas, se observan y/o almacenan los resultados y se realiza una evaluación del sistema o componente
chequeado”.

Toda prueba de software desempeña un papel fundamental en el desarrollo de cualquier tipo de aplicación, pero si
se estudia la mejor forma de hacerlo, de acuerdo a los pasos señalados por especialistas en el tema, se incrementan
las posibilidades de que ésta llegue a feliz término y arroje resultados más cercanos a los esperados, permitiendo así,
realizar, a posteriori, un mejor análisis de la situación. Como ilustración de ellos, se exponen, a continuación, algunos
objetivos, características y principios que deben incluirse en las Pruebas de Software.

Objetivos de las Pruebas de Software.

 Probar si el software no hace lo que debe.


 Probar si el software hace lo que no debe, es decir, si provoca efectos secundarios adversos.
 Descubrir un error que aún no ha sido descubierto.
 Encontrar el mayor número de errores con la menor cantidad de tiempo y esfuerzo posibles.
 Mostrar hasta qué punto las funciones del software operan de acuerdo con las especificaciones y requisitos
del cliente.

Características de las Pruebas de Software.

 Alta probabilidad de encontrar un error. El ingeniero de software debe tener un alto nivel de entendimiento
de la aplicación a construir para poder diseñar casos de prueba que encuentren el mayor número de
defectos.
 No debe ser redundante. Uno de los objetivos de las pruebas es encontrar el mayor número de errores con
la menor cantidad de tiempo y esfuerzo posibles, por lo cual no se deben diseñar casos de prueba que
tengan el mismo propósito que otros, sino que se debe tratar de diseñar el menor número de casos de
prueba que permitan probar adecuadamente el software y optimizar los recursos.
 Una buena prueba no debería ser ni demasiado sencilla ni demasiado compleja.

Tipos de Pruebas de Software.

Las pruebas en conjunto tienen como objetivo general verificar y validar un software, independientemente
de las características y el entorno donde se desarrollen, además de los recursos y los factores vinculados al
proceso de desarrollo. Así veremos pruebas de:

Funcionalidad.

1. Función: Pruebas fijando su atención en la validación de las funciones, métodos, servicios, caso de uso.
2. Seguridad: Asegurar que los datos o el sistema solamente es accedido por los actores deseados.
3. Volumen: Enfocada en verificando las habilidades de los programas para manejar grandes cantidades de
datos, tanto como entrada, salida o residente en la BD.

Usabilidad.

Prueba enfocada a factores humanos, estéticos, consistencia en la interfaz de usuario, ayuda sensitiva al
contexto y en línea, asistente documentación de usuarios y materiales de entrenamiento.

Fiabilidad.

1. Integridad: Enfocada a la valoración exhaustiva de la robustez (resistencia a fallos).


2. Estructura: Enfocada a la valoración de la adherencia a su diseño y formación. Este tipo de prueba es hecho
a las aplicaciones Web asegurando que todos los enlaces están conectados, el contenido deseado es
mostrado y no hay contenido huérfano.
3. Stress: Enfocada a evaluar cómo el sistema responde bajo condiciones anormales. (extrema sobrecarga,
insuficiente memoria, servicios y hardware no disponible, recursos compartidos no disponible).
4.

Rendimiento.

1. Benchmark: Es un tipo de prueba que compara el rendimiento de un elemento nuevo o desconocido con
uno de carga de trabajo de referencia conocido.
2. Contención: Enfocada a la validación de las habilidades del elemento a probar para manejar aceptablemente
la demanda de múltiples actores sobre un mismo recurso (registro de recursos, memoria).
3. Carga: Usada para validar y valorar la aceptabilidad de los límites operacionales de un sistema bajo carga de
trabajo variable, mientras el sistema bajo prueba permanece constante. La variación en carga es simular la
carga de trabajo promedio y con picos que ocurre dentro de tolerancias operacionales normales.

Soportabilidad.

1. Configuración: Enfocada a asegurar que funciona en diferentes configuraciones de hardware y software.


Esta prueba es implementada también como prueba de rendimiento del sistema.
2. Instalación: Enfocada a asegurar la instalación en diferentes configuraciones de hardware y software bajo
diferentes condiciones (insuficiente espacio en disco, etc.)

Recopilamos, a continuación, una lista de herramientas útiles para realizar pruebas de software.

1. Herramientas para pruebas funcionales.


Las pruebas funcionales son un tipo de prueba de software que permite validar la aplicación frente a los
requisitos/especificaciones funcionales. La finalidad de estos test es probar, con los requisitos funcionales, cada
función de la aplicación de software, proporcionando la entrada adecuada y verificando la salida.

SoapUI es una herramienta multiplataforma de código abierto utilizada para pruebas funcionales y no funcionales,
ampliamente utilizada en pruebas de servicios web. Admite todos los protocolos y tecnologías estándar para probar
todo tipo de API. Su interfaz es muy sencilla lo que facilita el uso tanto a usuarios con pocos conocimientos como a
técnicos.

Selenium es una popular herramienta de prueba de software de código abierto compatible con la mayoría de los
navegadores y sistemas operativos. Ofrece compatibilidad con múltiples lenguajes de programación como Java,
JavaScript, Python, C# y más. Permite a los evaluadores automatizar muchos procesos de prueba como
pruebas funcionales.

2. Herramientas de pruebas de rendimiento.

LOAD RUNNER es una herramienta de prueba de rendimiento de software que permite detectar problemas de
rendimiento de los componentes clave de las aplicaciones web. Es muy útil para detectar cuellos de botella en una
fase previa a la implementación o despliegue de la aplicación, así como para identificar brechas de rendimiento
antes de implementar o actualizar un nuevo sistema.

LoadNinja es una herramienta para pruebas de rendimiento y carga basada en la nube para aplicaciones y servicios
web. Permite verificar si sus servidores web soportan una carga masiva y si los servidores son robustos y escalables.

3. Herramientas de seguimiento de defectos de código.

Sonarqube es una herramienta de código abierto para la inspección continua de código. Recopila y analiza el código
fuente y proporciona informes sobre la calidad del código de los proyectos. Aborda muchas partes de control de
calidad del código como errores de estilo, errores potenciales, defectos de código, duplicación de código, falta de
cobertura de prueba y exceso de complejidad.

Kiuwan es una herramienta de revisión de código online basada en análisis estático. Facilita indicadores de alto nivel,
sobre riesgo, calidad y defectos. Permite detectar errores de código críticos y vulnerabilidades de seguridad en su
software.

4. Herramientas de prueba de API’s.

Katalon es una herramienta gratuita de automatización de pruebas para sitios web, aplicaciones móviles y servicios
web. Es una herramienta gratuita de tecnología KMS pero no de código abierto. Dispone de grabación y
reproducción y modo manual para crear casos de prueba de automatización de manera efectiva.

POSTMAN es un entorno de desarrollo de API que ayuda a los/as desarrolladores/as a crear, probar, documentar,
monitorear y publicar documentación para sus API. Puede realizar varios tipos de solicitudes HTTP (GET, POST, PUT,
PATCH), guardar entornos para su uso posterior y convertir la API en código para varios idiomas como JavaScript y
Python.

5. Herramientas de pruebas de seguridad.

Netsparker es una solución de seguridad en sitios web y API que utiliza una tecnología de escaneo basado en
pruebas que verifican automáticamente las vulnerabilidades identificadas al explotarlas de una manera segura y de
solo lectura. Se utiliza principalmente para identificar problemas de seguridad de aplicaciones web, como
inyecciones SQL o Cross-site Scripting (XSS).

W3af es una aplicación web de código abierto que se utiliza para el análisis de seguridad. Esta herramienta
proporciona un escáner de vulnerabilidades y herramientas de explotación para aplicaciones web. El escáner
permite identificar más de 200 vulnerabilidades, incluidas las secuencias de comandos entre sitios, la inyección de
SQL o el comando del sistema operativo.

invicti puede escanear automáticamente sitios web, aplicaciones web y servicios web en busca de lagunas y
vulnerabilidades de seguridad. Puede identificar problemas y proporcionar pruebas de explotación sin falsos
positivos. Es un escáner en línea totalmente configurable que no requiere mantenimiento, no presenta
complicaciones, es escalable y admite la colaboración a nivel empresarial.

Puede escanear cualquier tipo de aplicación web, independientemente de la plataforma o el idioma en el que se
construyan. Puede integrar Invicti durante el ciclo de vida del desarrollo y rastrear las vulnerabilidades a través de
Jira, GitHub, etc.

6. Herramientas de pruebas entre navegadores.

LAMBATEST es una plataforma de pruebas entre navegadores basada en la nube donde se puede un sitio o
aplicación web en multitud de sistemas operativos y navegadores. Ayuda a garantizar que los elementos de la
aplicación web como JavaScript, CSS, HTLM5, vídeo, etc. funcionan en todos los navegadores web móviles y de
escritorio.

SAUCELABS es la única plataforma de pruebas continuas basada en la nube que permite ejecutar sus pruebas
automatizadas en más de 700 combinaciones diferentes de navegadores, sistemas operativos y dispositivos,
facilitando una infraestructura de prueba integral para pruebas automatizadas y manuales de aplicaciones móviles y
de escritorio utilizando Selenium, Appium y JavaScript.

7. Herramientas de pruebas móviles.

TestComplete es una plataforma funcional de pruebas automatizadas desarrollada por SmartBear Software.
TestComplete permite a los evaluadores crear pruebas automatizadas para aplicaciones de Microsoft Windows,
Web, Android (sistema operativo) e iOS. Se utiliza para la reproducción automatizada y el registro de errores.

Testsigma es una plataforma completa de automatización de pruebas basada en la nube que permite a los equipos
ágiles simplificar y acelerar el control de calidad para aplicaciones web, aplicaciones móviles y API.

Espresso Una herramienta de prueba de software móvil para Android de primera categoría, desarrollada por
Google, Espresso es un marco simple de código abierto, que es fácil de usar e interpretar. Da resultados rápidos,
consistentes, confiables y estables. Puede crear fácilmente pruebas de IU y registrarlas sin escribir ningún script o
código. La característica más llamativa de Espresso es su API sencilla, que proporciona escalabilidad y flexibilidad.
Espresso también cuenta con sincronización automática entre la aplicación y las pruebas, y se pueden automatizar
fácilmente las pruebas usando Java y Junit.

8. Herramientas de pruebas varias.


Telerik Test Studio facilita las pruebas automatizadas. Incluye código y capacidades sin código para probar funcional,
API y carga. Telerik tiene muchas herramientas de interfaz de usuario, y estoy seguro de que habrías oído hablar de
Fiddler, un software de depuración.

Testim es una herramienta de prueba de software automatizada inteligente que utiliza el aprendizaje automático
para acelerar el diseño, la ejecución y el mantenimiento de casos de prueba automatizados. Los casos de prueba se
pueden ejecutar en múltiples plataformas, incluidos dispositivos móviles. Testim usa anotaciones para encontrar
inconsistencias y errores en el sistema. Los errores que se registran se pueden reproducir automáticamente
simplemente haciendo clic en la prueba nuevamente. El rastreador de errores Testim se usa para compartir capturas
de pantalla anotadas y ver detalles de errores.

HeadSpin (Girar la cabeza) es la primera plataforma de IA de experiencia digital del mundo que combina la
infraestructura de dispositivos globales alojados en la nube y en las instalaciones, la automatización de pruebas y el
rendimiento basado en ML y el análisis de la calidad de la experiencia para dispositivos móviles, web, audio y video.
HeadSpin empodera a los equipos de ingeniería, control de calidad, operaciones y productos para garantizar
experiencias digitales óptimas en todos los canales de entrega a lo largo del ciclo de vida del desarrollo.

Algunas de las características son las siguientes:

a) Infraestructura global de dispositivos. Permite pruebas y monitoreo de extremo a extremo con miles de
dispositivos en cientos de ubicaciones en un operador real y redes WiFi en todo el mundo. No se requiere
SDK.
b) Automatización de pruebas y API. Se integra a la perfección en CI/CD workflows permitiendo pruebas
funcionales y de rendimiento antes y después del lanzamiento. Soporte para todos los marcos de prueba.
c) Rendimiento, QoE y aprendizaje automático. Revela automáticamente los problemas y señala las causas
raíz subyacentes en todas las capas de la pila, desde la cuantificación de QoE de audio/video hasta la
visibilidad del código y los paquetes.
d) Insights-to-Actions. Ofrece información de regresión y agregación a lo largo del ciclo de vida de la
experiencia digital, desde la planificación y el desarrollo hasta la emisión de tickets de problemas y las
operaciones. Tendencias, alertas y análisis.

9. Herramientas de prueba de carga.

Las herramientas de prueba de carga ayudan a determinar el tiempo necesario para cargar un sitio, una aplicación o
páginas. Estas herramientas evalúan el rendimiento del sitio web y ayudar a garantizar un acceso sin problemas de
ida y vuelta al sitio web.

WebLoad. Herramienta muy poderosa con capacidades de scripting, carga web puede probar escenarios de casos de
prueba complejos. Se puede utilizar para probar aplicaciones independientes y en la nube, y es compatible con todos
los principales protocolos web, aplicaciones empresariales y tecnologías. Con Webload, es fácil crear y cargar
escenarios de prueba, ya que la herramienta proporciona más de 80 tipos de gráficos e informes para identificar y
trabajar en problemas de rendimiento en el sistema.

También permite que la instalación ejecute casos de prueba de rendimiento desde la nube utilizando Amazon EC2
para generar carga. Webload tiene un componente llamado PMM, que puede recopilar estadísticas del lado del
servidor durante las ejecuciones de prueba, lo que proporciona datos adicionales para realizar análisis de causa raíz.

Blazemeter (Medidor de llamas) se utiliza para ejecutar casos de prueba de rendimiento en aplicaciones móviles, API
o aplicaciones web para evaluar el rendimiento en cualquier etapa del desarrollo de la aplicación. Asegura la entrega
de software de alto rendimiento al final. Puede crear una nueva configuración de prueba obteniendo nuevos datos
de Google Analytics e integrándolos.

De la misma manera, puede probar múltiples ubicaciones geográficas e incorporarlas en un solo informe. La
herramienta es 100% compatible con código abierto y lista para empresas, proporciona automatización de pruebas
inteligente y es ideal para un entorno de prueba continuo.
JMeter de Apache es una herramienta de prueba de código abierto que se utiliza para probar el rendimiento de
sitios web y aplicaciones web dinámicas. Una persona con muy pocos conocimientos técnicos también puede
interpretar los resultados proporcionados por JMeter.

Funciona en varios tipos de servidores como SOAP, FTP, LDAP, JDBC, TCP, etc., para pruebas de carga y rendimiento.
Los planes de prueba se almacenan en formato XML y se generan mediante un editor de texto. JMeter también se
utiliza para pruebas funcionales y automatizadas.

10.Herramientas de gestión de pruebas.

Las herramientas de gestión de pruebas ayudan a gestionar todo el ciclo de pruebas de un producto. Una
herramienta de gestión de pruebas útil debería poder integrarse con otros marcos de automatización e Integración
CI (integración continua).

XRay (Radiografía ) es una de las herramientas de gestión de pruebas preferidas para pruebas manuales y
automatizadas. Proporciona la estructura adecuada para organizar y clasificar conjuntos de pruebas y proporciona
resultados de prueba eficientes en menos tiempo.

Se integra perfectamente con marcos de prueba como Jira, Selenium, Junit, etc. Puede establecer condiciones
previas personalizadas que se pueden reutilizar y asociar con diferentes pruebas. Xray facilita las integraciones de CI
con Bamboo, Jenkins y proporciona una trazabilidad perfecta y una correspondencia entre requisitos, pruebas,
errores y ejecución.

También tiene la posibilidad de configurar entornos de prueba, planes de prueba y la generación de informes
integrados.

TestRail es una herramienta de gestión de casos de prueba basada en la web que se puede configurar y utilizar
fácilmente con la nube o la configuración local. Es altamente escalable y personalizable. Puede ver información en
tiempo real sobre el progreso de las pruebas a través de paneles interactivos, métricas, informes de actividad, etc.
Los casos de prueba automáticos y manuales se pueden administrar y documentar fácilmente mediante capturas de
pantalla, comparación de resultados esperados versus reales.

Existe una amplia gama de plantillas integradas y los usuarios también pueden crear plantillas personalizadas. Los
equipos pueden establecer hitos, objetivos personales, listas de verificación y notificaciones por correo electrónico
para mejorar la productividad. TestRail se puede integrar fácilmente con herramientas CI como Jenkins, JIRA, TFS,
etc., y es compatible con contenedores Docker.

Testpad utiliza planes de prueba inspirados en listas de verificación para pruebas ágiles, pruebas exploratorias,
gestión de casos de prueba tradicional, BDD resaltado por sintaxis y mucho más. Es una herramienta liviana con un
editor controlado por teclado y tiene una interfaz de usuario altamente receptiva impulsada por JavaScript.

Se puede invitar a varias personas a probar la aplicación a través de invitaciones por correo electrónico, y estos
probadores invitados no necesitan cuentas ni acceso de inicio de sesión. Puede agregar casos de prueba en cualquier
momento durante la prueba. Testpad proporciona una integración perfecta con JIRA.

11.Herramientas de seguimiento de defectos.

Las herramientas de prueba de software de seguimiento de defectos ayudan en el flujo de trabajo de un extremo a
otro y en la gestión de errores. Estas herramientas rastrean el progreso del equipo y registran quién está trabajando
en qué módulo.
Mantis es una herramienta de seguimiento de errores de código abierto simple pero potente. Puede colaborar con
los miembros del equipo sin problemas y personalizar completamente la herramienta en diferentes niveles, como
creación de problemas, notificaciones de flujo de trabajo, etc. Obtiene un panel interactivo que muestra elementos
pendientes, elementos asignados a un usuario en particular y filtros para ver solo elementos seleccionados.

Puede ver varias versiones del proyecto, lo que permite una mejor gestión de versiones. Mantis tiene su propia
función de seguimiento del tiempo; por ejemplo, los usuarios pueden registrar el tiempo dedicado a los problemas.
La herramienta crea automáticamente un informe del tiempo total dedicado a diferentes problemas. Mantis es
compatible con JetBrains y Eclipse y proporciona integración para varios complementos como TestRail, Slack,
HipChat, etc.

También tiene una función de correo electrónico, a través de la cual todos los compañeros de equipo pueden
conocer los cambios y actualizaciones realizados por otros usuarios.

Enlaces:

- https://sentrio.io/blog/herramientas-de-calidad-de-software/
- https://geekflare.com/es/software-testing-tools/
- https://www.ecured.cu/Pruebas_de_Calidad_de_Software

También podría gustarte