Introducci贸n al curso

1

Introducci贸n al curso de Profesional de Arquitectura de Software

Atributos de calidad

2

Definici贸n

3

Atributos: Idoneidad funcional

4

Atributos: Eficiencia de ejecuci贸n

5

Atributos: Compatibilidad

6

Atributos: Usabilidad

7

Atributos: Confiabilidad

8

Atributos: Seguridad

9

Atributos: Mantenibilidad

10

Atributos: Portabilidad

11

Tensiones entre atributos

12

Analizando PlatziServicios

Patrones de arquitectura

13

Patrones monol铆ticos vs distribuidos

14

Patrones: Modelo Vista Controlador

15

Patrones: Capas

16

Patrones: Orientado a eventos / Provisi贸n de eventos.

17

Patrones: Microkernel - Plug-ins

18

Patrones: Comparte-nada

19

Patrones: Microservicios

20

Patrones: CQRS

21

Patrones: Hexagonal - Puertos y adaptadores

22

Patrones: Dise帽o orientado al dominio

23

Combinando patrones de arquitectura

24

Analizando nuevamente PlatziServicios

Dise帽o de una arquitectura

25

Pararse en hombros de gigantes

26

Herramientas y partes de un dise帽o: Tipos de conectores

27

Conectores: Llamado asincr贸nico / sincr贸nico. Modelo Cliente servidor.

28

Conectores: Enrutador, difusi贸n

29

Conectores: Pizarra, repositorio, colas, modelo PUBSUB

30

Escenarios y t谩cticas

31

Escenarios: Disponibilidad, detecci贸n, reparaci贸n

32

Escenarios: Reintroducci贸n y prevenci贸n

33

Escenarios: Mantenibilidad

34

Escenarios: Prevenir efectos domin贸 y diferir enlace

35

Escenarios: Eficiencia de ejecuci贸n

36

Escenarios: Seguridad

37

Escenarios: Capacidad de prueba

38

Escenarios: Usabilidad

39

Validar las decisiones de dise帽o: Arquitectura en evoluci贸n

40

脷ltimo an谩lisis a PlatziServicios

Modelado y documentaci贸n de arquitectura

41

C贸mo comunicar la arquitectura: Vistas y Puntos de vista

42

Documentaci贸n vs implementaci贸n

43

Conclusiones del curso

A煤n no tienes acceso a esta clase

Crea una cuenta y contin煤a viendo este curso

Escenarios: Capacidad de prueba

37/43
Recursos
  • Capacidad de prueba, tenemos dos grandes familias, entradas y salidas, monitoreo que tiene en cuenta mas que nada la ejecuci贸n.

  • E/S Captura de la comunicaci贸n, para poder usar esa comunicaci贸n en un test de prueba. de esta forma podemos garantizar que el uso normal esta cubierto por un test. Es muy 煤til cuando queremos trabajar con sistemas externos. VCR es una herramienta muy 煤til aqu铆.

  • Separar la interfaz de la implementaci贸n, de esta forma podemos evaluar si la implementaci贸n esta recibiendo lo que se espera.

  • Acceso exclusivo para pruebas, trata sobre partes de la aplicaci贸n que no podemos funcionar desde fuera de la aplicaci贸n, para esto es posible que tenga que escribir c贸digo especifico para el contexto de test, es importante garantizar que no llegue a ambientes productivos.

  • Monitoreo interno, significa incorporar a la misma aplicaci贸n funcionalidades que nos permiten tener informaci贸n de lo que se esta ejecutando para mantener el control de lo que esta consumiendo cada aplicaci贸n.

Aportes 8

Preguntas 2

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

Apuntes:

Capacidad de prueba

El est铆mulo es la capacidad de probar que esta funcionalidad es la correcta y luego el resultado esperado ser谩 detectar fallas para repararlas y volver a iterar.

Entradas y salidas. C贸mo hacer para dado est铆mulo de pruebas evaluar esa salida.
鈥 Captura y reproducci贸n. Capturar la comunicaci贸n, es decir saber qu茅 es lo que le est谩n diciendo a la aplicaci贸n y luego usar esa misma comunicaci贸n en un test de prueba.
鈥 Separar interfaz de implementaci贸n. Cuando separamos la interfaz de la implementaci贸n podemos hacer pruebas remplazando la implementaci贸n con una implementaci贸n controlada y evaluar si esa implementaci贸n est谩 recibiendo los mensajes que deseamos que reciba.
鈥 Acceso exclusivo para pruebas. C贸mo hacer cu谩ndo tenemos una funcionalidad y hay cierta parte que no podemos controlar desde fuera de la aplicaci贸n. Entonces si queremos hacer una prueba desde fuera de la aplicaci贸n podemos darnos acceso a cierta parte como contexto de testing.

Monitoreo Interno. Va a tener en cuenta la ejecuci贸n de nuestra aplicaci贸n y c贸mo probar que se est谩 ejecutando correctamente.
鈥 Monitoreo incorporado. La aplicaci贸n sea consciente de los recursos que est谩 consumiendo, los pedidos que recibe e incluso que los pueda guardar y de cualquier informaci贸n que nos sirva para despu茅s entender y hacer debugging de qu茅 es lo que pas贸 cu谩ndo pas贸 un error.

Escenario: Capacidad de prueba.
Estimulo. Nueva funcionalidad
T谩cticas para controlar la capacidad de prueba

  • Entradas y salidas
    • Captura y reproducci贸n
    • Separar interfaz de implementaci贸n
    • Acceso exclusivo para pruebas
  • Monitoreo interno
    • Monitoreo incorporado

Resultado esperado. Detectar fallas para repararlas y volver a iterar

Escenarios: Capacidad de prueba

El est铆mulo es una nueva funcionalidad a implementar, lo que hay que probar es, cual es la capacidad de comprobar de que esta funcionalidad es correcta y luego que el resultado esperado sea la capacidad de detectar fallas para mejorar y volver a iterar.


Familias

  • Entradas y Salidas Dado la entrada de un estimulo de prueba se centra en evaluar la salida.
    T谩cticas:
  1. Captura y Reproducci贸n
  2. Separar interfaz de Implementaci贸n
  3. Acceso exclusivo para pruebas.

  • Monitoreo Interno: se trata de como probar de que se esta ejecutando correctamente.
    T谩cticas:
  1. Monitoreo Incorporado.

El objetivo de las pruebas de capacidad es evaluar el punto de quiebre de la aplicaci贸n, es determinar la carga m谩xima de usuarios que puede soportar la aplicaci贸n (escalabilidad).

Capacidad de prueba
猸愶笍猸愶笍猸愶笍
El est铆mulo es la capacidad de probar que esta funcionalidad es la correcta y luego el resultado esperado ser谩 detectar fallas para repararlas y volver a iterar.
Entradas y salidas. C贸mo hacer para dado est铆mulo de pruebas evaluar esa salida.
馃
鈥 Captura y reproducci贸n. Capturar la comunicaci贸n, es decir saber qu茅 es lo que le est谩n diciendo a la aplicaci贸n y luego usar esa misma comunicaci贸n en un test de prueba.
馃
鈥 Separar interfaz de implementaci贸n. Cuando separamos la interfaz de la implementaci贸n podemos hacer pruebas remplazando la implementaci贸n con una implementaci贸n controlada y evaluar si esa implementaci贸n est谩 recibiendo los mensajes que deseamos que reciba.
馃
鈥 Acceso exclusivo para pruebas. C贸mo hacer cu谩ndo tenemos una funcionalidad y hay cierta parte que no podemos controlar desde fuera de la aplicaci贸n. Entonces si queremos hacer una prueba desde fuera de la aplicaci贸n podemos darnos acceso a cierta parte como contexto de testing.
Monitoreo Interno. Va a tener en cuenta la ejecuci贸n de nuestra aplicaci贸n y c贸mo probar que se est谩 ejecutando correctamente.
馃
鈥 Monitoreo incorporado. La aplicaci贸n sea consciente de los recursos que est谩 consumiendo, los pedidos que recibe e incluso que los pueda guardar y de cualquier informaci贸n que nos sirva para despu茅s entender y hacer debugging de qu茅 es lo que pas贸 cu谩ndo pas贸 un error.

alguien mas vio el digivice 馃憖 ?

Separar la interfaz de la implementaci贸n, de esta forma podemos evaluar si la implementaci贸n esta recibiendo lo que se espera.

Acceso exclusivo para pruebas, trata sobre partes de la aplicaci贸n que no podemos funcionar desde fuera de la aplicaci贸n, para esto es posible que tenga que escribir c贸digo especifico para el contexto de test, es importante garantizar que no llegue a ambientes productivos.

Monitoreo interno, significa incorporar a la misma aplicaci贸n funcionalidades que nos permiten tener informaci贸n de lo que se esta ejecutando para mantener el control de lo que esta consumiendo cada aplicaci贸n.

A mayor mantenibilidad de c贸digo mayor capacidad de pruebas. Excelente tip para tener en cuenta en el dise帽o de software.