Buscar este blog

Aviso

El autor de éste blog no se hace responsable de los posibles daños o perdidas de información, que pudieran ocasionarse en su sistema o su vida por la aplicación de la información aquí contenida.

miércoles, 17 de mayo de 2023

soft TDD (Test-Driven Development) o LazyTDD

Esta forma de aplicación de TDD rompe el problema típico al iniciarlo "no sé hacer pruebas ni sé el framework, por tanto no puedo hacer las pruebas primero", esto es cierto cuándo no estás familiarizado con el framework de testing o con la forma de mockear requisitos.

¿Cuál es la solución?

Todos los tests tienen el mismo esquema de funcionamiento, 1) "Arrange/Given", 2) "Act/When" y 3) "Assert/Then", dado eso es sencillo usar en primera instancia pseudocódigo o comentarios con lo qué debería hacer la prueba, para luego traducirlo en el lenguaje y framework respectivos.

De esta manera no existe límite para lo que puedes hacer en una prueba unitaria, y puedes aplicar TDD sin temor a iniciar por la prueba.

--- 

Update: Hace poco encontré un artículo de 2017 qué resulta ser un enfoque interesante de TDD perezoso, creo qué vale la pena pegarle una ojeada también.


jueves, 11 de mayo de 2023

Tecnicas de diseño de casos de pruebas - Testing

 Aseguramiento de calidad analítico

  • Estático
    • Revisiones / Revisiones Guiadas Walkthroughs
    • Análisis de Flujo de Control
    • Análisis de Flujo de Datos
    • Métricas compilador/analizador
  • Dinámico
    • Caja negra
      • Partición de equivalencia (segmentación de equivalencia)
      • Análisis de valores límite
      • Pruebas de transición de estado
      • Tablas de decisión
      • Algoritmo dual ("pairwise")
    • Caja blanca/negra
      • Técnicas basadas en la experiencia
    • Caja blanca 
      • Cobertura de sentencia
      • Cobertura de rama
      • Cobertura de condición
      • Cobertura de camino 

Refs:

- http://scrum-qa.blogspot.com/2013/04/tecnicas-de-diseno-de-pruebas.html

 

MetaProgramación e Inteligencia Artificial IA

La meta programación consiste en escribir programas que escriben o manipulan otros programas, a día de hoy hacer un script en bash es suficiente para decir qué lo estás haciendo, sin embargo, con la aparición de tecnologías como chat gpt, el prompt engineering es una forma de metra programación, solo que el lenguaje se asemeja más al lenguaje natural, pero el concepto se preserva.

Hace poco en mi emprendimiento Asesoría en Desarrollo de Software recibí el pedido de hacer una aplicación, de realizar el juego del ahorcado con ciertas restricciones, con ChatGPT fue muy sencillo, escribí un programa que escribió otro programa, modifiqué algunas condiciones que estaban mal expresadas además que se necesitaba solo con ciertas estructuras de control (while y for) sin recursividad básicamente.

He ahí que la metaprogramación será más frecuente en nuestra industria y solamente nos dedicaremos a mejorar constantemente nuestra composición de piezas que la IA puede hacer rápidamente.

domingo, 7 de mayo de 2023

Datos para compartir sin límites


Los proveedores de internet móvil en Colombia proveen planes de datos postpago qué permiten tener dos límites de descarga de datos diferentes.

Por un lado está el límite total de datos en la imagen de abajo son 70 GB, qué es lo que tienes permitido consumir como máximo.

Por otro lado está el límite para compartir qué en la imagen de abajo son 30 GB, qué son los datos qué puedes compartir con otros dispositivos a través de HotSpot (compartir por WiFi punto de acceso personal).


El problema viene en qué al estar separados, puede ser qué los datos para compartir se te acaben antes qué los datos totales. 


Para esto se pasarán los datos de los dispositivos conectados (ej. un computador) como datos consumidos por el propio dispositivo (teléfono móvil).

Pasos para compartir internet sin límites desde el smartphone android a un móvil:

1. Abre la Google Play Store e instala algún Android Proxy Server

2. Abre la aplicación instalada e inicia el servidor HTTP/HTTPs proxy

3. Conecta los dispositivos a través de una red WiFi

4. Abre la configuración del teléfono y mira cuál es la dirección IP para la red WiFi que comparte con el computador, para este ejemplo apareció la ip 192.168.1.150 (Ip teléfono móvil)

5. Abre la configuración de Proxy en tu computador y pon el servidor proxy HTTP/HTTPs usando la dirección Ip anterior 192.168.1.150 y el puerto 8080

6. Abre un navegador web como chrome y prueba qué tengas internet

7. Monitorea qué efectivamente ya no esté consumiendo los datos compartidos con con computador como datos para compartir

Saludos!







Más populares

Archivo del blog