Please enable JavaScript.
Coggle requires JavaScript to display documents.
Metodologías de Desarrollo de Software y técnicas de testeo - Coggle…
Metodologías de Desarrollo de Software y técnicas de testeo
Metodologías
STRIDE
Es una técnica de análisis de amenazas utilizada en el campo de la seguridad de la información y el desarrollo de software
Las letras en STRIDE representan 6 categorías de amenazas comunes:
S-SPOOFING
Esta amenaza se refiere a la posibilidad de que un atacante pueda hacerse pasar por otra entidad, como un usuario legítimo o un sistema, con el fin de obtener acceso no autorizado.
T-TAMPERING
Implica la posibilidad de que los datos o el código sean modificados o manipulados de manera no autorizada.
R-REPUDIATION
Esta amenaza se relaciona con la capacidad de negar o disputar acciones realizadas por una entidad.
I-INFORMATION DISCLOSURE
Se refiere a la amenaza de que la información confidencial sea expuesta o divulgada a personas no autorizadas.
D-DENIAL OF SERVICE
Esta amenaza implica intentos de interrumpir o degradar los servicios o recursos, haciendo que un sistema no esté disponible para los usuarios legítimos.
E-ELEVATION OF PRIVILIGE
Esta amenaza se refiere a la posibilidad de que un atacante pueda aumentar sus propios privilegios dentro de un sistema o aplicación.
DREAD
Es una técnica utilizada para evaluar y calificar la gravedad de las vulnerabilidades de seguridad en un sistema o aplicación de software
Cada letra en DREAD representa una categoría específica que se evalúa en una escala de 0 a 10, donde 0 es la calificación más baja y 10 la más alta.
E-EXPLOITABILITY
Mide cuán difícil o fácil es para un atacante aprovechar la vulnerabilidad.
A-AFFECTED USERS
Determina cuántos usuarios o sistemas se ven afectados por la vulnerabilidad.
R-REPRODUCIBILITY
Evalúa cuán fácil es para un atacante reproducir la explotación de la vulnerabilidad.
D-DAMAGE
Esta categoría evalúa el potencial daño que podría causar la explotación de la vulnerabilidad.
D-DISCOVERABILITY
Evalúa cuán fácil es descubrir la vulnerabilidad.
SREP
Es un metodo basado en activos y orientado a riesgos, que permite el establecimiento de requisitos de seguridad durante el desarrollo de las aplicaciones
Técnica
Test de mutación de datos.
Los test de mutación son pruebas para medir la calidad del código a largo plazo. Estas pruebas consisten en cambiar (mutar) ciertos puntos del código fuente y ver si se detectan estos cambios (errores) mediante los test unitarios.
El proceso general del test de mutación de datos se puede resumir en los siguientes pasos:
Ejecución de casos de prueba
Los casos de prueba existentes se ejecutan en el código original y en cada uno de los mutantes generados.
Detección de mutantes no asesinados
Se considera que un mutante ha sobrevivido si ninguno de los casos de prueba puede detectar la diferencia entre el comportamiento del mutante y el comportamiento del programa original.
Creación de mutantes
Se generan versiones modificadas del código fuente original, conocidas como mutantes, aplicando una serie de operadores de mutación que introducen errores comunes en el código.
Evaluación de la efectividad de las pruebas
La efectividad de las pruebas se evalúa según la capacidad de los casos de prueba para "matar" o detectar los mutantes generados.
Programación orientada a aspectos
Objetivo
El principal objetivo de la POA es la separación de las funcionalidades dentro del sistema
Funcionalidades propias de cada modelo.
Funcionalidades comunes utilizadas a lo largo de la aplicación.
Componentes principales
Puntos de corte
Consejos
Aspectos
Funcionamiento
Definición de puntos de corte para la ejecución del programa.
Aplicación de consejos en los puntos de corte identificados.
Identificación de preocupaciones transversales.
Beneficios
Mayor legibilidad del código al separar preocupaciones.
Capacidad de realizar cambios independientes en los aspectos del sistema.
Mejor modularidad y reutilización del código.
Referencias
https://www.mytra.es/blog-post/test-de-mutacion-la-calidad-es-prioritaria#:~:text=Los%20test%20de%20mutaci%C3%B3n%20son,errores)%20mediante%20los%20test%20unitarios
.
https://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_aspectos#:~:text=La%20Programaci%C3%B3n%20Orientada%20a%20Aspectos,o%20correspondencia%20de%20hacer%20algo
).
https://chat.openai.com/c/89ec2b05-abb7-4bda-968e-3bd04547bb00