Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.

Temas - ANTRAX

Páginas: [1] 2 3 ... 68
1
Soluciones de Wargames / Solución CTF ICE s1-100
« en: Octubre 21, 2021, 04:36:49 pm »

Hola a todos! En esta ocasión vamos a ver como solucionar el CTF ICE s1-100 desde cero y paso a paso.
Requesitos Previos a configurar en el CTF

Configuración del router

Al iniciar con el CTF, me topé con el problema, el cual me demandó mucho tiempo investigar. El mismo fue que la VM tenia una IP fija, la cual es 192.168.1.100 y mi router estaba configurado para asignar IPs con el rango 192.168.0.X, por lo que me tocó configurar previamente el router con el rango 192.168.1.X para que le asignara la IP correcta a la maquina virtual.


Encontrar la IP de la VM

Para poder encontrar la IP de la máquina virtual, utilicé NMAP y así poder mapear toda la red.

El parámetro que utilicé fue: nmap -sP 192.168.1.1-255


Como se puede ver en el screenshot, la IP de la maquina virtual es: 192.168.1.100
Fortalezas del sistema

ping

Una de las fortalezas de esta máquina virtual, es que no resuelve los ping que se hagan a la IP 192.168.1.100, lo cual permite despistar a los atacantes, e incluso detener algunos tipos de DoS del tipo ICMP que se hagan a la maquina virtual.


FTP

Otra fortaleza de la plataforma, es que a pesar de estar abierto el puerto 21 del FTP, este no es vulnerable, por lo cual no se puede acceder por ese medio ni explotarlo.


Usuarios

Los usuarios no tiene privilegios de root. Además genera un reporte con el incidente al intentar elevar privilegio con un usuario que no tiene permisos para ello.


Recolección de información - enumeración de puertos y servicios
El primer paso para resolver el CTF, fue recolectar información de los puertos abiertos, servicios corriendo en cada puerto y sus versiones. Para ello utilicé NMAP con los siguientes parámetros:

nmap -sV -O 192.168.1.100

Con el cual obtuve la siguiente información:


Vi puertos que se podrían explotar como el 21 de FTP, 22 con el SSH y vi que el puerto 80 estaba abierto, el cual me sirvió para saber si tiene página web.

Website

Al ingresar a You are not allowed to view links. Register or Login me topé con el sitio web de la máquina virtual.


Además noté que tiene algunas secciones más como las siguientes:

You are not allowed to view links. Register or Login


You are not allowed to view links. Register or Login


You are not allowed to view links. Register or Login


Esta última me llamó la atención ya que poseía varios mails y nombres de personas. En la mayoría de los casos, se pueden utilizar esos mismos nombres o mails como credenciales para ingresar al ssh o ftp en este caso, ya que los puertos de esos servicios estaban abiertos.
Pentesting

SSH

Al tener el puerto del SSH abierto, se puede intentar ingresar por ese medio


Solo resta averiguar usuarios y contraseñas. Para ello, crearé un diccionario con los nombres y correos electrónicos que aparecen en la página web y también combinaré sus nombres y apellidos intentando lograr credenciales válidas.


En total logré 71 combinaciones utilizando nombres, apellidos y mail. El paso siguiente es hacer un bruteforce usando esta lista para obtener el usuario y contraseña del SSH.

Para realizar el ataque, utilizare la herramienta ncrack, la cual es una tool desarrollada por la misma empresa que el NMAP.

ncrack -p 22 -U pass.txt -P pass.txt 192.168.1.100

En el archivo pass.txt tengo el listado o diccionario que cree con las combinaciones mencionadas anteriormente.


Después de unos minutos, la herramienta arrojó usuario y contraseña.

User: bbanter
Pass: bbanter


Al probarlo con el SSH de la maquina virtual, podemos ver que logramos ingresar.


Si volvemos a la maquina virtual y probamos las mismas credenciales, podremos ver que también podremos ingresar


Al intentar entrar a la carpeta FTP, me topé con que el usuario bbanter no tiene permisos


Por lo que intentaré loguearme como root colocando sudo su


Tampoco me deja entrar al /etc/shadow


Al no dejarme, voy a intentar romper alguno de los otros usuarios (aadams – ccoffee) para ver si alguno de ellos tiene mas privilegios.

Elevación de privilegios

Para ello volveré a usar ncrack, pero esta vez utilizando otro diccionario más extenso, ya que la última vez no salió. El diccionario que utilizaré será el famoso rockyou.txt

(You are not allowed to view links. Register or Login)

ncrack -p 22 –user ccoffee -P rockyou.txt 192.168.1.100
ncrack -p 22 –user aadams -P rockyou.txt 192.168.1.100



Como se puede ver en la captura, se pudo obtener la contraseña del usuario aadams. Nuevamente procederemos a probar si este usuario tiene privilegios en la plataforma.

Al probarla en el servidor, no tiene privilegios de root, pero si puede entrar al fichero /etc/shadow en donde se encontraba el usuario root con la contraseña hasheada.


root:$1$TOi0HE5n$j3obHaAlUdMbHQnJ4Y5Dq0:13553:0:::::

Romper pass de root

Utilizando John The Ripper y un diccionario, podemos probar si se puede obtener la password. Utilizaré el mismo diccionario rockyou.txt para hacer la prueba.

john.exe -wordlist:..\..\rockyou.txt ..\..\root.txt


Con esto hemos obtenido el user y pass de root

Usuario: root
Pass: tarot


Ahora si probaremos elevar privilegios. Para ello colocamos su nuevamente con el usuario aadams y ponemos la password que hemos obtenido.


Desencriptar CSV (CTF)

Al ingresar ahora a la carpeta /home/ftp me he topado con un archivo de salarios encriptado. Para poderlo descargar, simplemente puedo copiarlo al directorio del sitio web /var/www/htdocs y descargarlo con el navegador.


Una vez descargado, trataremos de romper el cifrado. Existen muchos tipos de cifrado, y tras probar con varios, logré dar con el correcto, el cual es aes128.

En una consola tecleamos openssl y dentro colocamos lo siguiente

enc -d -aes128 -in salary_dec2003.csv.enc -pass pass:tarot -out salario.txt

Esto generará un archivo llamado salario.txt con toda la información de ese CSV. Ahora solo resta abrirlo con exel para ver la información obtenida:


Como se puede ver en la imagen, se han obtenido los salarios de varias personas a pesar de haber estado encriptado.

Website

Además de esto, la página web también puede ser editada o eliminada.


Espero que les guste y les sirva para practicar!
ANTRAX

2
Underc0de / Underc0de APP
« en: Octubre 21, 2021, 09:10:42 am »

Hola Underc0ders!

Queremos anunciar oficialmente el lanzamiento de la primer versión de nuestra app!
Por el momento solo esta disponible para Android, pero muy pronto estará disponible para iOS también. (la vamos a empezar a testear en breve)
Esta primer versión es una credencial digital, la cual acredita que son miembros de la comunidad y podrán usarla para tener descuentos en negocios y cursos.
Para poder usarla, deben estar registrados en Underc0de: You are not allowed to view links. Register or Login
Una vez logueados, les mostrará una credencial con sus datos y su actividad. Mientras mayor sea su actividad en el foro, más grande será el descuento en los negocios.
Al foro lo utilizamos para publicar dudas, dejar algún aporte, o responder algún post. Cualquiera de estas 3 cosas incrementarán los descuentos en la app.

Además cuenta con una sección de noticias flash, en donde podrán ver noticias cortitas de 2 parrafos para mantenerse con lo último que esta pasando en la red.

Próximamente estaremos sacando nuevas versiones con más funcionalidades y beneficios para ustedes!

Para descargarla, pueden buscarla en Play Store como "Underc0de"

Aprovecho para agradecer a todos los que colaboraron para realizarla

- Jioxep
- Alex
- WHK
- Denisse

Esperamos que la disfruten!
HAIL UNDERC0DE!

3
Hacking / Leak de Twitch completo (125gb)
« en: Octubre 07, 2021, 06:23:28 pm »

Este miércoles el hacker anónimo publicó un archivo de 125 gigas en 4chan con el objetivo según él de causar más polémica y competitividad en una comunidad que ya de por sí considera tóxica. Una fuente de anónima de la compañía declaró al medio VGC que toda la información revelada es legítima, por lo que Twitch, la plataforma de streaming propiedad de Amazon, se enfrenta a un grave problema una vez su código fuente ha sido desvelado.

Entre lo publicado, destacan las cifras que cobran los streamers más populares del planeta en el mes de septiembre y los 100 que más han cobrado de agosto de 2019 a octubre de 2021. Cifras de auténtica locura entre las que destacan varios nombres.

Twitch afronta un grave problema

Si las dudas ante la plataforma no eran pocas en los últimos tiempos, algo así no hace más que acrecentarlas. Muchos streamers se sentirán indefensos ante la publicación de sus datos personales y ganancias económicas.

El streamer que más ganó en el mes de septiembre es Félix «xQc» Lengyel, con una mareante cantidad de 752.467 dólares, más del doble de lo que ha ganado el siguiente: summit1g con 362.987 dólares.


Entre los españoles el más destacado es Ibai Llanos habiendo ganado 164.827 dólares en septiembre, una cifra que más o menos pudimos conocer por una filtración del propio streamer en uno de sus directos.

De agosto de 2019 a octubre de 2021 el que más ganancias ha generado es CriticalRole con 9 millones y 626 mil dólares, seguido de xQc con cerca de 8 millones y medio. El español que más ha ganado en ese periodo de tiempo es Auronplay con algo más de 3 millones de dólares.

Cantidades apabullantes de un problema que acaba de comenzar y va a revolucionar internet en los próximos días.

Descarga del Leak completo por torrent: magnet:?xt=urn:btih:N5BLZ6XECNEHHARHJOVQAS4W7TWRXCSI&dn=twitch-leaks-part-one&tr=udp%3A%2F%2Fopen.stealth.si%3A80%2Fannounce


Fuente: esportmaniacos

4

Para continuar con la seguidilla de posts de Postman y de testeo de APIs, ahora vamos a ver que son las variables de entorno, las variables globales y como utilizarlas para hacernos la vida más facil a la hora de testear APIs.

Para este ejemplo, voy a usar la URL que vengo utilizando en todos estos tutoriales, que es la siguiente: You are not allowed to view links. Register or Login

Variables de entorno

Tal y como lo indica su nombre, una variable de entorno es en donde se guarda el entorno de trabajo. Estas se pueden crear de manera estática o dinámica. Para agregarlas, debemos clickear el ícono del ojo que aparece en la esquina superior derecha, luego clickeamos en “Add”


La declaración de variables es muy sencillo, simplemente colocamos el nombre de la variable en la columna “Variable” y su valor en la columna “Initial Value”


Seguido a esto, debemos activar el environment


Ahora lo que resta, es ir a un request de nuestra colección y reemplazar la URL por la variable que creamos. Para poderla usar, debemos poner la variable entre doble llaves. Es decir, debería quedar de la siguiente manera {{URL}} y si clickeamos en SEND, podremos ver que envía la petición con normalidad.


Esto sirve para evitar tener que poner la URL de forma manual en todas las peticiones.

Variables globales

La diferencia con las variables de entorno es que las globales son visibles y accesibles desde cualquier entorno con el que trabajemos. Por lo tanto, son comunes a todos los entornos de trabajo que se hayan creado.

Para crearlas es exactamente igual a las variables de entorno, solo que debemos clickear en Agregar, en la parte de “Globals”


El funcionamiento es el mismo a las variables de entorno, con la diferencia de que se pueden utilizar en diferentes entornos de trabajo.
Esto es todo por el momento! Muy pronto se viene un post sobre como automatizar testeos de APIs con postman.

Saludos,
ANTRAX

5
QA (Quality Assurance) / Testeo de APIs con Postman
« en: Octubre 03, 2021, 02:11:19 pm »

En el tutorial anterior sobre APIs, vimos como testearlas con Swagger. En esta ocasión vamos a realizar los mismos ejercicios, pero utilizando Postman. Antes de empezar, voy a colocar la misma introducción del post anterior, para refrescar un poco la teoría sobre APIs. (Si ya lo leyeron en el post de Swagger, pueden saltarse esta primera parte)

¿Qué es una API?

El término API es una abreviatura de Application Programming Interfaces, que en español significa interfaz de programación de aplicaciones. De forma resumida podemos decir que se utiliza para permitir la comunicación entre dos aplicaciones a través de un conjunto de reglas.

Es esta comunicación podemos establecer como un módulo de un software interactúa con otro, para cumplir una o muchas funciones dependiendo de los permisos que les dé el propietario de la API a los desarrolladores de terceros.

De cara al usuario final, lo único que se ve de una API, son los resultados. Un ejemplo de esto, es cuando entramos a una aplicación móvil o web y nos permite loguear utilizando nuestra cuenta de Facebook o Google. En este caso, esa aplicación se esta conectando a la API de estas empresas para obtener tus datos de sesión.

Las API pueden ser privadas para el uso de una empresa, abiertas sólo para partners, o públicas para que cualquier desarrollador pueda interactuar con ellas. También es muy común ver APIs locales para que aplicaciones se comuniquen dentro de un mismo ambiente.

¿Para qué sirve una API?

Una de las principales funciones de una API es la de poder facilitarle el trabajo a los desarrolladores y ahorrar tiempo y dinero. Para explicar esto con un ejemplo y que quede claro, vamos a suponer que nos piden desarrollar una tienda virtual que tenga una web y una aplicación móvil. Esta tienda tendría una estructura como la siguiente:

    Versión web de la tienda (para acceder desde la PC o desde el movil de forma responsive)
    Versión mobile (para instalar en el móvil)
    Base de datos para almacenar los productos
    Módulo de pago

Cuando un usuario entra a la página web de la tienda y de 10 teléfonos compra 2, el sistema debería descontarlos del stock y nos quedarían 8 teléfonos. Si entramos desde la aplicación móvil y revisamos ese producto luego de la compra, deberíamos ver 8 productos y no 10.

Toda esta conexión se puede lograr a través de APIs, ahorrandole al desarrollador tener que escribir un código para la web y uno para la versión móvil, debido a que ambas plataformas consumen el mismo backend. (Esto es un ejemplo de una API local)

Por otro lado, en el listado de funcionalidades mencionamos al módulo de pago. En este caso para ahorrarnos tiempos de desarrollo, podemos usar APIs existentes para la pasarela de pago y así permitirle al usuario poder pagar a través deMercadoPago, Paypal o cualquier otra plataforma similar sin tener que desarrollar algo de cero. (Esto es un ejemplo de una API externa, debido a que estamos interactuando con una API no creada por nosotros)

¿Qué son los EndPoint y los métodos?

De forma resumida podemos decir que los EndPoint son las URLs de una API y cada EndPoint puede tener varios métodos. Los métodos son todas las formas que tenemos de poder interactura con ese EndPoint.

Entre los métodos más comunes encontramos a los siguientes:

    POST:crear un recurso nuevo.
    PUT: modificar un recurso existente.
    GET: consultar información de un recurso.
    DELETE: eliminar un recurso determinado.
    PATCH: modificar solamente un atributo de un recurso.

Para explicarlo con el ejemplo de la tienda podemos decir que con el método POST, podemos crear un nuevo producto. Con el método PUT podemos modificar un producto de la tienda, con el GET podemos traer todos los productos o un producto en específico, con el DELETE podemos eliminar el producto y con el PATCH podemos modificar un atributo de un producto.

¿Qué es Postman?

Postman es un cliente que permite gestionar peticiones a las APIs. Es una herramienta muy completa y muy utilizada, y su mayor ventaja es que permite crear tests automatizados. Otra de sus ventajas, es que ahora se puede usar la versión web y también la versión cliente, pudiendo sincronizar nuestras colecciones. Y también, nos permite compartir nuestras colecciones con nuestros compañeros de trabajo, lo cual la vuelve nuestra nueva mejor amiga.

Para empezar, debemos ir a la web de Postman y descargarlo. (You are not allowed to view links. Register or Login)

Abrimos el programa y nos vamos a Workspaces >> + New Workspace


Le colocamos un nombre y lo creamos.


Acá podemos invitar a nuestros compañeros para que puedan ver y colaborar en nuestro espacio de trabajo.

Una vez creado, debemos crear una colección. Las colecciones son basicamente el conjunto de peticiones que tendrá un endpoint. Para este caso, utilizaré la misma API que en el post anterior.

You are not allowed to view links. Register or Login


La colección que haré ahora, servirá para testear los metodos principales del endpoint “pet”


Una vez creada la colección, comenzaremos a agregar request. Uno por cada metodo que deseemos a testear. El primero será el GET para listar a todas las mascotas segun su estado.

Una vez creado el request, vamos al Swagger y vemos a que URL hay que realizarle el request.

Ejemplo método GET (Listar)


Y esa misma URL es la que debemos poner en el GET de Postman


Al clickear en SEND, podremos ver los resultados que devuelve la petición.

Algunas cosas a aclarar…

Para hacer este GET, debemos especificar si o si el estado. Es decir, si queremos listar mascotas disponibles, vendidas o pendientes. Swagger, nos da la opción de seleccionarlas desde la interface web. Pero en Postman debemos pasarla como un parámetro. Esto automáticamente la pondrá en la URL, o si la colocamos en la URL, de forma automática se colocará como parámetro.


Ejemplo método POST (Crear)

Para agregar un nuevo Request, debemos ir a los 3 puntos de nuestra colección y clickeamos en “Add Request”


Para el método POST, debemos enviarle un body tal cual indica la documentación de Swagger


Copiamos ese contenido del body, y dentro de Postman debemos pegarlo el body. Tener en cuenta de que debemos seleccionar la opción RAW e indicarle que es de tipo JSON


Al clickear en SEND, podremos ver que nos devuelve una respuesta con un Status 200, lo cual indica que se creó correctamente.

Ejemplo método PUT (Update/Actualizar)

Muy similar al anterior, colocamos en el Body, el JSON con las modificaciones a realizar. Recuerden que para este método es sumamente importante especificar el ID de la mascota, para que Postman sepa que mascota modificar.


Al clickear en el botón SEND, se enviará la petición y realizará el cambio. En este caso, actualicé el nombre de la mascota que creamos anteriormente.

Ejemplo método DELETE (Eliminar)

Con este último método, lo que haremos será eliminar una mascota. Para ello, debemos colocar el ID en la URL del request.


Al presionar SEND, esto eliminará a la mascota con ese ID.



Esto es todo por ahora, proximamente haré uno o dos posts de Postman más explicando como colocar variables y sobre como automatizar las ejecuciones de los tests.
Nos leemos en el próximo post!
ANTRAX

6
Criptomonedas / Como minar Solana (SOL) paso a paso
« en: Octubre 02, 2021, 11:48:47 am »

You are not allowed to view links. Register or Login es una criptomoneda que esta creciendo muchisimo ultimamente y es por ello que decidí hacer una prueba y ponerme a minarla. Encontré muy poca información al respecto, pero por suerte no es muy dificil. Es por ello que decidí hacerles un pequeño tutorial por si también quieren minar esta cripto.

Minando Solana

Lo primero que vamos a necesitar, es el minero. En mi caso voy a usar You are not allowed to view links. Register or Login que lo pueden descargar de su página oficial.

Una dez descargado, lo descomprimimos y nos encontraremos con un archivo llamado start_miner.bat le damos click derecho >> Editar


Puede que no lo vean igual al mio, porque el mio esta modificado para optimizar mi placa, pero la linea que más importa, es la que esta resaltada en AZUL.

PhoenixMiner.exe -pool ethash.unmineable.com:3333 -wal SOL:MI_WALLET.Rig001 -pass x

Con esa linea debería bastar. Lo único que debemos modificar es el ID de nuestra wallet de Solana y el nombre del minero, que en mi caso le puse “Rig001” que es el nombre que se le pone para identificarlo.

Una vez hecho esto, guardamos los cambios, lo ejecutamos y comenzará a minar


A los resultados de lo minado, lo podremos ver en la siguiente web: You are not allowed to view links. Register or Login


Colocamos nuestra Wallet y podremos ver nuestros rendimientos.


Como pueden ver, es muy sencillo y facil de realizar. Espero que les sirva y les sea de utilidad.

Aprovecho para agradecerle a You are not allowed to view links. Register or Login por ayudarme con el armado de mi nuevo RIG, y justamente el fue quien me pidió este post.

Nos leemos en un próximo post.
ANTRAX

7
Criptomonedas / Overclocks para distintas Placas / Criptos
« en: Septiembre 20, 2021, 08:35:53 am »

En este post voy a ir dejando los distintos OC para las distintas placas dependiendo cada cripto que quieran minar.
La idea es que sea colaborativo y que ustedes también puedan dejar los OC que usan.



Software: MSI AfterBurner
Criptomoneda: RVN
GPU: 3090 RTX

Core Clock: -200
Memory Click: +600
Power Limit: 95%
Temp Limit: 80ºC
Fan Speed: 85%

Total: 71.58 MHS



Software: MSI AfterBurner
Criptomoneda: ETH
GPU: 3070 RTX

Core Clock: -200
Memory Clock: +1600
Power Limit: 55%
Temp Limit: 78ºC
Fan Speed: 75

Total: 63.4 MHS



Software: MSI AfterBurner
Criptomoneda: ETH
GPU: 3090 RTX

Core Clock: -200
Memory Click: +1100
Power Limit: 95%
Temp Limit: 80ºC
Fan Speed: 100%

Total: 120.10 MHS MHS



Software: HIVEOS
Criptomoneda: ETH
GPU: 3070 RTX

Core Clock: -200
Memory Clock: +2800
Power Limit: 150W
Fan Speed: 60

Total: 63.13 MHS



Espero sus comentarios!

8
Base de Datos / Solucion: Instalar Workbench en Windows 7 - 32 bits
« en: Septiembre 15, 2021, 09:04:09 pm »
Hola a todos!
Escribo este post debido a que varios alumnos de EGG estan teniendo problemas para instalar Workbench en Windows 7.
El problema está en que la última versión (8.x) son para computadoras más recientes, es decir, para procesadores de 64 bits.
La solución es simple, solo debemos descargar una versión compatible con nuestro procesador de 32 bits.

Para descargarlo, vamos a la siguiente web: You are not allowed to view links. Register or Login


Seleccionamos la versión 5.2.47 y descargamos la primer opción (MSI Installer)

Una vez descargado, procedemos con la instalación:







Al finalizar, ya podremos buscarlo en el menú de inicio y ejecutarlo


Eso es todo! Espero que les sirva!

Creditos: You are not allowed to view links. Register or Login

9
Criptomonedas / Como armar un rig usando HiveOS (Instalacion y configuracion)
« en: Septiembre 14, 2021, 09:47:42 am »

Hola Underc0ders! Para continuar con la seguidilla de posts sobre criptomonedas, hoy día les voy a enseñar a instalar y configurar HiveOS para que puedan armar sus propios rigs.

Para este experimento conté con la ayuda algunos miembros de Underc0de como de Lucas (me prestó componentes de una PC que no usaba), Ricardo (me regaló una mother con un i3), Jioxep (me ayudó con la instalación del rig), Rodo o “El Cresta” (siempre tirando tips de como optimizar absolutamente todo y salvando las papas cuando más se necesita), Juampi (el doble 5, que nos trajo tostados mientras instalabamos todo) y Roman de Compugarage a quien le compré la fuente de 750w para alimentar la placa.

Como les mostré en otra guía que hice sobre como minar ETH, yo tengo una GPU NVIDIA 3070, y esa fue la placa que usé para colocarla en este rig.


¿Qué es un Rig?

Es un sistema basado principalmente en tarjetas gráficas que trabajan para obtener el hash de un bloque y obtener así una recompensa. Un rig de minería se basa en los mismos componentes que un ordenador convencional, con la salvedad que en vez de una tarjeta gráfica, tenemos varias. La cantidad de tarjetas gráficas se ven limitadas por el diseño de la placa base y del chasis donde montemos las tarjetas gráfica

Obviamente para esta PoC solo usé una sola tarjeta gráfica, pero la idea es que tenga varias. En caso de querer ampliarla, voy a tener que cambiar varios componentes, como por ejemplo,

Componentes mínimos necesarios:

– Motherboard (que tenga PCI Express)
– Microprocesador (yo usé un i3)
– Ram (con 4gb debería bastar)
– Fuente (capaz de soportar la placa que vayamos a ponerle) > Revisar esta web: You are not allowed to view links. Register or Login
– GPU (en mi caso una 3070)
– Teclado
– Mouse
– Monitor
– Botón para el encendido (no es necesario, solo lo pusimos para que fuese más cómodo encenderla y apagarla)
– Pendrive con HiveOS (es live, no es necesario tener un HDD)

¿Qué es HiveOS?

HiveOS es una distro utilizada pura y exclusivamente para la minería. Posee un panel web y para poder monitorear en todo momento el comportamiento del rig. Además podemos cambiar parámetros desde esa misma UI.

También posee una app para el movil que es posible descargarla desde Play Store (You are not allowed to view links. Register or Login).

Configuración e instalación de HiveOS

Lo primero que debemos hacer, es ir a la web oficial de HiveOS y registrarnos. Con esta cuenta podremos configurar y poder ver el rendimiento de nuestro rig.


Colocamos un mail, user y password. Verificamos la cuenta con el código que nos llegará al correo y podremos entrar a nuestra cuenta.


A penas ingresamos a la cuenta, nos va a aparecer un recuerdro que se llama como el usuario que hayamos puesto, en mi caso Underc0de farm (granja). Y el resto todo en cero, debido a que lo debemos configurar.

Clickeamos en esa granja y seleccionamos “Rig” (también es posible configurar ASICs en caso de que tengamos)


A continuación completamos con un nombre y password (los tags y la descripción no son requeridos) y clickeamos en ADD para agregarlo.


Una vez hecho esto, veremos la siguiente pantalla, y atención porque es muy importante!


En esta pantalla, debemos descargar el archivo rig.conf clickeando en el botón “Download”. Este archivo es el que conectará nuestro Rig a nuestra cuenta de HiveOS.

Una vez descargado, debemos ir a la web de descarga, para bajar el sistema operativo. Para ello pueden clickear el link azul que dice “Download” mostrado en la imagen anterior o ir directamente al siguiente link: You are not allowed to view links. Register or Login

Descargamos la versión GPU (ya que vamos a minar utilizando la GPU)


En mi caso la bajé por torrent, pero pueden hacerlo por ZIP. Es lo mismo.

Lo otro que necesitan descargar (de esa misma página) es el programa llamado “Etcher” que sirve para hacer booteable el pendrive con HiveOS. Pueden usar Rufus también.


Para resumir, necesitamos descargar 3 archivos:

– HiveOS (La ISO y descomprimirla)
– El archivo de configuración del rig
– Etcher (e instalarlo)

Una vez que tenemos las tres cosas, abrimos Etcher, seleccionamos la imagen de HiveOS, la unidad USB en donde lo instalaremos y por último clickeamos en el botón FLASH!


Una vez que termine, abrimos la unidad USB en donde quemamos la ISO y le copiamos el archivo de configuración (rig.conf)


Con esto, ya tendremos lista nuestra unidad USB lista para bootear.

Una vez hecho esto, entramos nuevamente a la web de HiveOS con nuestra cuenta, clickeamos en nuestra granja y vamos a ver lo siguiente:


Cuando aparece el simbolito del WIFI con un signo de exclamación, es porque aún no esta conectado. Le damos unos minutos a que arranque el sistema operativo. Mientras tanto, vamos a configurar una Wallet. Para ello vamos al tab llamado “Wallets”


En mi caso voy a minar ETH, es por ello que pondré mi dirección de ETH y clickeamos en el botón “CREATE”

Si revisamos el monitor de nuestro rig, podremos ver algo como lo siguiente una vez que encienda. (se abre una terminal, carga nuestra configuración y queda a la espera para empezar a minar)


Ahora volvemos al sitio de HiveOS, al tab de Workers y deberíamos ver algo como esto:


Ahora lo que debemos hacer, es crear una nueva Flight Sheet. Para ello, vamos al tab de Flight Sheets y veremos lo siguiente


Clickeamos en el botón agregar y la creamos. Acá es en donde configuramos que tipo de Moneda vamos a minar, seleccionamos la Wallet que creamos en el paso anterior, que pool vamos a usar (yo siempre uso flexpool porque tiene un servidor en Brasil y el ping es menor), y por último seleccionamos que minero vamos a usar. Como yo siempre uso PhoenixMiner, selecciono ese. Por último, clickeamos en el botón “Create Flight Sheet”


Ahora para aplicar estos cambios, debemos volver a Workers y entrar a ese worker en particular. Para ello clickeamos en el nombre del rig.


Seguido a esto, clickeamos el tab “Flight Sheet” que aparece con un símbolo de advertencia y clickeamos el Cohete que aparece en esa pantalla.


Una vez hecho esto, nos aparecerá una advertencia y clickeamos en Aplicar.


Lo que hará esto, es instalar el minero en el rig, en este caso PhoenixMiner y comenzará de forma automática a minar el la pool que le indicamos en los pasos anteriores.


Si volvemos al overview de ese minero, podremos ver que ya empezó a minar a 51.73mhs. Es decir, con esto, ya dejamos listo nuestro rig andando.


Lo último que nos queda ahora, es overclockear la placa para que rinda al máximo. Para ello clickeamos en el ícono de la derecha (el que tiene forma de velocímetro) o podemos ir al tab de Overclocking. Cualquiera de los dos es lo mismo. Y colocamos los valores para esa placa.


Aplicamos los cambios, y después de unos segundos, podremos ver el impacto en nuestro Overview


sto es todo por ahora! Espero que les haya gustado y les sirva!

Nos leemos en otro post!
ANTRAX

10
QA (Quality Assurance) / Testeo de APIs con Swagger
« en: Septiembre 06, 2021, 12:53:42 pm »

Antes de adentrarnos en el mundo de Swagger, vamos a repasar brevemente lo que es una API y para que sirven.

¿Qué es una API?

El término API es una abreviatura de Application Programming Interfaces, que en español significa interfaz de programación de aplicaciones. De forma resumida podemos decir que se utiliza para permitir la comunicación entre dos aplicaciones a través de un conjunto de reglas.

Es esta comunicación podemos establecer como un módulo de un software interactúa con otro, para cumplir una o muchas funciones dependiendo de los permisos que les dé el propietario de la API a los desarrolladores de terceros.

De cara al usuario final, lo único que se ve de una API, son los resultados. Un ejemplo de esto, es cuando entramos a una aplicación móvil o web y nos permite loguear utilizando nuestra cuenta de Facebook o Google. En este caso, esa aplicación se esta conectando a la API de estas empresas para obtener tus datos de sesión.

Las API pueden ser privadas para el uso de una empresa, abiertas sólo para partners, o públicas para que cualquier desarrollador pueda interactuar con ellas. También es muy común ver APIs locales para que aplicaciones se comuniquen dentro de un mismo ambiente.

¿Para qué sirve una API?

Una de las principales funciones de una API es la de poder facilitarle el trabajo a los desarrolladores y ahorrar tiempo y dinero. Para explicar esto con un ejemplo y que quede claro, vamos a suponer que nos piden desarrollar una tienda virtual que tenga una web y una aplicación móvil. Esta tienda tendría una estructura como la siguiente:

    Versión web de la tienda (para acceder desde la PC o desde el movil de forma responsive)
    Versión mobile (para instalar en el móvil)
    Base de datos para almacenar los productos
    Módulo de pago

Cuando un usuario entra a la página web de la tienda y de 10 teléfonos compra 2, el sistema debería descontarlos del stock y nos quedarían 8 teléfonos. Si entramos desde la aplicación móvil y revisamos ese producto luego de la compra, deberíamos ver 8 productos y no 10.

Toda esta conexión se puede lograr a través de APIs, ahorrandole al desarrollador tener que escribir un código para la web y uno para la versión móvil, debido a que ambas plataformas consumen el mismo backend. (Esto es un ejemplo de una API local)

Por otro lado, en el listado de funcionalidades mencionamos al módulo de pago. En este caso para ahorrarnos tiempos de desarrollo, podemos usar APIs existentes para la pasarela de pago y así permitirle al usuario poder pagar a través deMercadoPago, Paypal o cualquier otra plataforma similar sin tener que desarrollar algo de cero. (Esto es un ejemplo de una API externa, debido a que estamos interactuando con una API no creada por nosotros)

¿Qué son los EndPoint y los métodos?

De forma resumida podemos decir que los EndPoint son las URLs de una API y cada EndPoint puede tener varios métodos. Los métodos son todas las formas que tenemos de poder interactura con ese EndPoint.

Entre los métodos más comunes encontramos a los siguientes:

    POST: crear un recurso nuevo.
    PUT: modificar un recurso existente.
    GET: consultar información de un recurso.
    DELETE: eliminar un recurso determinado.
    PATCH: modificar solamente un atributo de un recurso.

Para explicarlo con el ejemplo de la tienda podemos decir que con el método POST, podemos crear un nuevo producto. Con el método PUT podemos modificar un producto de la tienda, con el GET podemos traer todos los productos o un producto en específico, con el DELETE podemos eliminar el producto y con el PATCH podemos modificar un atributo de un producto.

¿Qué es Swagger?

Actualmente no existe una sola forma estandarizada de escribir una API, es decir, cada programador puede programarla a gusto suyo, debido a que no existe una sola forma de desarrollarlas. Pero que pasa si viene otro programador que quiere utilizarla o un QA que quiera testearla…?

Acá es en donde entra en juego Swagger. Esta potente herramienta nace como intención de solucionar este problema. Su objetivo es estandarizar el vocabulario que usan las APIs. Es una especie de diccionario.

Cuando mencionamos a Swagger, nos referimos a una serie de reglas, especificaciones y herramientas que nos ayudan a documentar nuestras APIs, documentación que todo el mundo pueda entender.

Existen varias plataformas que hacen esto mismo, pero la más conocida es Swagger, tiene una buena interfaz de usuario que se llama Swagger UI, que permite no solo ver los endpoint y métodos, sino que también permite probarlos.
Basta de teoría, ¡empecemos a testear!

Para este tutorial/taller, les traje una URL que suelo usar en mis capacitaciones

You are not allowed to view links. Register or Login

Se trata de un ejemplo de un Petstore con varios endpoints y métodos que se pueden usar para practicar.


En la parte superior de Swagger UI vamos a encontrar la URL Base, que es muy importante saberla por si después queremos usar estos mismos métodos en Postman (que lo explicaré en otra guía). Lo otro importante a ver, es el botón de Authorize. En esta web de Petstore no hace falta autenticación, pero en muchos casos, si.

En caso de que sean QA, y necesiten autenticarse, lo recomendable es hablar con el desarrollador para que nos indique de que forma hay que hacerlo, ya que como dije antes, no hay una sola forma correcta de hacer una API, y la autenticación puede ser a traves de un usuario y contraseña, un token, etc.


Lo siguiente que vamos a ver, van a ser todos los endpoint que tiene el sistema y los métodos de cada uno de ellos. Es decir, que cosa podemos hacer con cada uno de esos endpoints.


Por último, vamos a ver los modelos. Estos nos indican que tipo de estructura y que tipo de datos debe tener cada json.

Para este taller, vamos a ver un ejemplo de cada método. Antes de arrancar, quiero hacer una aclaración. Para poder utilizar los métodos desde Swagger UI, debemos clickear el botón Try it out, de lo contrario, los campos aparecerán bloqueados.


POST (Crear nueva mascota)

Para enviar un POST, si o si debemos ver como esta hecho el modelo, debido a que necesitamos respetar la misma estructura.
Recuerden también que debemos respetar el tipo de dato, es decir, si es un string, un integer, boolean, etc.
Una vez que tenemos completo el json, clickeamos en el botón azul “Execute”


Lo que estamos haciendo acá, es enviar un “REQUEST”, con la información que deseamos enviar o solicitar. Y recibimos un “RESPONSE” con una respuesta por parte del servidor.


En este caso, devuelve un 200, que es un response de cuando la consulta fue efectuada correctamente. Y acá creó a una nueva mascota llamada “Titan”

GET (Traer todas las mascotas y traer una en específica por ID)

Como podemos ver en la imagen, podemos traer TODAS las mascotas filtrandolas por un estado, o traer una sola en específico por ID.


Vamos a probar primero traer a todas las mascotas. Seleccionamos un estado y damos click en “Execute”


En este caso trajo a TODOS los animales con ese estado (si el listado es largo, puede demorar un poco en traer los resultados).
Ahora vamos a intentar traer a una sola mascota, para ello vamos al GET que filtra por petID y colocamos el ID de alguna mascota.


Como vemos en la imagen, solo trae esa mascota en específico.

PUT (Modificar una mascota existente)

Para poder modificar una mascota, entramos al método PUT y enviamos el nuevo Json con los datos MODIFICADOS y clickeamos en el botón “Execute”. Algo que debemos tener en cuenta, es que necesitamos enviar el ID de la mascota que intentamos modificar para que le aplique los cambios a esa mascota en específico.


DELETE (Eliminar una mascota por ID)

Para el caso del DELETE, solo debemos especificar el petID de la mascota que deseamos eliminar y clickeamos en el botón “Execute” para efectuar la acción


El caso del PATCH no lo voy a poder mostrar debido a que este ejemplo no lo trae, pero el mecanismo es exactamente el mismo.

Algo a tener en cuenta, es que no siempre va a ser así tal cual mostré en el ejemplo, dado a que como mencioné en un principio, no hay una sola forma de crear APIs, pueden variar campos, modelos, métodos y demás. Pero la mecánica para testearlas, siempre va a ser la misma.

Espero que les haya gustado y les sirva. Nos vemos en el próximo post!

ANTRAX

11
Criptomonedas / Como minar ETH, RVN, entre otras criptos
« en: Agosto 30, 2021, 08:36:35 am »

Ultimamente varios me han preguntado sobre como minar, que se necesita y demás. Es por ello que decidí hacerles un post paso a paso y lo mejor explicado posible para que sepan como se mina y que puedan empezar a hacerlo.

Hace un tiempo, en Underc0de tuvimos una charla sobre criptomonedas dictada por la You are not allowed to view links. Register or Login y por You are not allowed to view links. Register or Login sobre todo el universo del trading y la minería. Esta charla fue un detonante importante para que yo empezara a investigar e indagar cada vez más sobre como obtener criptomonedas. Tenía unos ahorros y con la ayuda de los chicos de You are not allowed to view links. Register or Login (sponsors de Underc0de) pude armar una computadora y comenzar a minar ETH.

Los resultados fueron bastante buenos. Estoy minando con la PC con la que trabajo a diario, la misma no se traba en lo absoluto y puedo minar y trabajar al mismo tiempo. Si se duplicó el gasto de electricidad comparado con meses anteriores, pero no fue mucho.

¿Qué necesito para minar?

Quiero aclarar que solo cuento con 1 placa NVIDIA RTX 3070, no poseo un Rig ni mucho menos, pero actualmente me esta dejando casi 200usd al mes solo por tener la pc encendida.

Algo que tienen que tener muy en cuenta a la hora de minar, es que deben ser capaces de recuperar la inversión en un lapso de 10 meses aproximadamente. Esto quiere decir, que si compramos una GPU, debemos usarla para minar una criptomoneda que nos de una ganancia capaz de amortizar el gasto de la placa que hayamos comprado.

Una placa recomendada en cuanto a precio, calidad, temperatura, es la RTX 3070.

Otras cosas a tener en cuenta, es que debemos contar con una buena refrigeración y una buena fuente para alimentar la placa que compremos. Existe una web que sirve para calcular que fuente necesitamos ponerle a nuestra pc de acuerdo a nuestros componentes: You are not allowed to view links. Register or Login

Otra web muy útil, es la de You are not allowed to view links. Register or Login, que sirve para poder saber que criptomoneda es rentable minar con nuestra GPU o con la que queramos comprar.


En mi caso he seleccionado la placa 3070 que es la que yo tengo y la web arroja un listado ordenado de que criptomonedas es recomendable minar con dicha placa.


En mi caso, me recomienda minar ETH y también aparece RVN en tercer lugar y estas son las dos criptos que les voy a enseñar a minar en este post.

Minando ETH

En todas las criptomonedas, necesitamos basicamente 3 cosas. El software para minar, configurarlo y optimizar nuestra GPU.
Para este primer ejemplo, voy a utilizar un software llamado You are not allowed to view links. Register or Login que lo pueden descargar de su sitio oficial.

Descomprimimos el *.zip y editamos el archivo llamado start_miner.bat

Debemos asegurarnos de tener algo como esto:

Código: (text) You are not allowed to view links. Register or Login
REM
REM Example bat file for starting PhoenixMiner.exe to mine ETH
REM

setx GPU_FORCE_64BIT_PTR 0
setx GPU_MAX_HEAP_SIZE 100
setx GPU_USE_SYNC_OBJECTS 1
setx GPU_MAX_ALLOC_PERCENT 100
setx GPU_SINGLE_ALLOC_PERCENT 100

REM IMPORTANT: Replace the ETH address with your own ETH wallet address in the -wal option (Rig001 is the name of the rig)
PhoenixMiner.exe -pool ssl://eth-br.flexpool.io:5555 -pool2 ssl://eth-us-east.flexpool.io:5555 -wal TU_WALLET.Rig001 -gpus 2
pause

Lo único que debemos modificar, es la linea de la pool. En este caso hay 2 pools configuradas, una de Brasil y la otra de USA. Para ver cual es la mejor (dependiendo del país en donde te encuentres) debes entrar a la siguiente web:

You are not allowed to view links. Register or Login

Yo utilizo FlexPool como pool de minería, debido a que estoy en Argentina y tienen un nodo en Brasil y la velocidad del ping es mucho mejor que si estuviese en otro sitio.


En segundo lugar, tengo configurado el de USA, que es el segundo más rápido.
Lo otro a especificar es nuestra wallet. Yo en mi caso uso TrustWallet como billetera y desde ahí mismo podemos obtener nuestra dirección de ETH que será en donde se depositará nuestro dinero minado. Seguido a la Wallet, aparece un “Punto Rig001” Esto es el nombre que le daremos a nuestro equipo para identificarlo en la pool, y por último, tengo un parámetro que quizas no lo utilicen, pero lo dejé puesto porque cuesta encontrarlo. En mi caso tengo 2 GPUs, uno en donde conecto los monitores y la RTC 3070 para minar. Entonces colocando el -gpus puedo especificar con cual placa minar. En este caso es la 2, ya que es la secundaria.

En Negrita resalto las líneas que deben modificar:

PhoenixMiner.exe -pool ssl://eth-br.flexpool.io:5555 -pool2 ssl://eth-us-east.flexpool.io:5555 -wal TU_WALLET.Rig001 -gpus 2

Teniendo esto configurado, ya podemos comenzar a minar. Simplemente debemos ejecutar el archivo start_miner.bat y automaticamente se conectará a la pool y comenzará con el proceso de minado.


Tras unos segundos de que conecta, empieza el proceso de minado.
Algo a tener muy en cuenta, es la velocidad de minado y este ya es nuestro punto numero 3 que mencioné anteriormente, y es el de optimizar la GPU.

Para lograr esto, usaremos un software llamado You are not allowed to view links. Register or Login. Lo instalamos y ejecutamos.


Lo que debemos modificar en este software es lo siguiente:

– Core Clock: -200
– Memory Clock: +1600
– Power Limit: 55
– Temp Limit: 78
– Fan Speed: 75


Esta es la configuración ideal para la 3070 y con ella logramos una velocidad de minado de 64.500MH/s aproximadamente.

Por último, para ver cuanto ETH llevamos minado, debemos entrar a la web de flexpool y colocar nuestra Wallet en el buscador, o reemplazarlo en esta URL

You are not allowed to view links. Register or Login


Eso es todo, con esto ya estaremos ganando dinero minando ETH.

Minando RVN

Ya vimos como minar ETH, ahora veremos como minar RVN utilizando otro minero y la web de 2miners, pero el concepto es básicamente el mismo.

Descargamos el minero, yo en este caso voy a usar You are not allowed to view links. Register or Login. Lo descomprimimos y editamos el archivo RVN-2miners.bat

Código: (text) You are not allowed to view links. Register or Login
t-rex.exe -a kawpow -o stratum+tcp://us-rvn.2miners.com:6060 -u TU_WALLET.PC-3070 -p x -d 0
pause

Al igual que el caso anterior, debemos modificar el servidor y nuestra wallet. Además, agregué el “-d 0” que es para especificar la GPU que usaremos.

Ahora entraremos a la web de You are not allowed to view links. Register or Login y seleccionaremos RVN que será la cripto que vamos a minar.


Ahora clickeamos en el botón Quick Start


Acá veremos el listado de servidores. Para saber cual es el más rápido, podemos hacerles ping y ver cual responde más rápido.


Respecto a la Wallet, entramos nuevamente a TrustWallet, obtenemos la dirección de nuestra billetera RVN y la colocamos en la configuración.

Una vez hecho esto, ejecutamos el archivo y comenzará a minar.


Por último, para ver los resultados de la minería, entramos a la web de 2miners y colocamos la dirección de nuestra billetera

You are not allowed to view links. Register or LoginTU_WALLET_RVN


Y esto es todo por ahora!

Espero que les guste el post y les sirva para comenzar en este mundo de la minería!

ANTRAX

12
QA (Quality Assurance) / Test Case – Test Suite – Test Plan
« en: Agosto 10, 2021, 08:58:33 pm »

Al fin llegamos a la parte “interesante” de ser QA. ¿Por qué resalto la palabra interesante? Por que la verdad es que yo creo que es muy aburrida, pero de esto dependerá la calidad de nuestro trabajo.

Vamos por parte diría Jack el destripador… Para entender bien que es cada cosa, las voy a definir rapidamente en una oración.

Test Case: Son todos los casos a los cuales vamos a someter el sistema a probar
Test Suite: Conjunto de test cases
Test Plan: Es el conjunto de suites o test cases que se ejecutarán, dependiendo de lo que se quiera probar


Quizas suena un poco engorroso, pero ahora lo voy a explicar con un ejemplo para que se entienda mejor.

Repasando un poco lo que vimos en mi post anterior sobre You are not allowed to view links. Register or Login, tomaremos el mismo desarrollo como ejemplo y explicaré en que parte entra el QA en el proceso de desarrollo, uniendolo con los conceptos nuevos que vamos a aprender hoy.

Test Cases

Cuando empieza un sprint, los desarrolladores comienzas sus tareas de programación, pero… ¿Qué hacen los QAs mientras esperan algo para testear? Es una pregunta que me han hecho varias personas que se inician en este mundo. Pero la respuesta es sencilla, mientras los Programadores desarrollan, los QA nos ponemos a escribir los test cases.

Si en el Sprint 1 se va a desarrollar el Login y el módulo de Productos, se comienzan a escribir cada cosa que se pueda probar en esos dos módulos.

Existen herramientas para gestionar test cases, como lo es TestLink, es una excelente herramienta y muy completa que permite elaborar suites de test cases y planes de prueba también.


Si bien es una herramienta muy completa, que permite tener un versionado de test cases, asigna automáticamente un ID, se puede describir las precondiciones, los pasos con sus respectivos resultados esperados, etc. Suele ser muy tedioso o poco práctico.

Hoy en día cada vez son más los QAs que me comentan que estan utilizando la escritura de test cases en modo de checklist.


Como se puede ver, en 1 linea, tengo 1 test cases. Este checklist esta hecho en un spreadsheet de Google Drive y lo puedo compartir con el resto de mis compañero QA para repartirnos las tareas y que cada uno escriba o ejecute ciertos test cases.

Comparandolo con TestLink, podemos decir que este método de checklist es más sencillo de hacer, mantener y ejecutar. Pero TestLink permite cosas mucho más complejas, como llevar un control de quien hizo cada test case, cuando se ejecutó y demás.

Para continuar con la explicación de los test cases, tomaremos de referencia el checklist que les compartí. Cada uno es libre de colocar las columnas que vea necesario, yo creo que las fundamentales son las que creé en esa tabla.

Para este caso, esos son los test cases para testear el Login.

ID: Un numero de identificación único para cada test case
Título: De que se trata la prueba que realizaremos (¿Qué se va a probar?)
Pasos: Los pasos a ejecutar para probar dicha funcionalidad (¿Cómo se prueba?)
Resultado Esperado: Lo que esperamos que pase cuando se ejecuten dichos pasos (Lo que debería hacer la app)
Pass/Fail: Si pasó o no el test. Yo incluí también el N/A que quiere decir que NO APLICA
Comentarios QA: Acá dejamos algún comentario si es necesario

¿Como creamos los test cases?

Esta es otra de las preguntas frecuentes que suelen hacerme… Si aún no hay pantallas, ¿cómo sabré que campos o como debe ser la aplicación?

La respuesta es fácil, cuando nosotros nos juntamos con el cliente o el PO, es nuestra misión tomar nota de todos los detalles de la aplicación. Ejemplo: Que campos debe tener el login, si se loguearán con un ID de cliente o con el mail, si habrá link de recuperación de password, si quiere mostrar el logo en el login, etc…
En base a toda esta información recaudada, imaginamos como sería la pantalla y escribimos los test cases pensando en cada cosa que podría probarse en ella.

En el caso del login, podemos probar loguearnos con usuario y contraseña corerctas, usuario correcto y contraseña incorrecta, intentar colocar un SQLi en el login, intentar acceder a la URL del dashboard sin estar logueados, etc.
Y en cada caso agregamos el resultado esperado.
Si ingresamos un usuario y contraseña correcta, ¿Qué debería hacer la aplicación? Redireccionar al dashboard…
Si ingresamos datos incorrectos… ¿Qué debería pasar? La aplicación debe mostrar un mensaje de error
Y así con todo lo que se nos cruce por la cabeza probar.
Además, agregar casos negativos, como por ejemplo el de probar con credenciales inválidas, o insertar letras en un campo en el que solo deberían ir números, etc.

Mientras más test cases escribamos, más escenarios cubriremos.

Quiero aclarar una cosa. Es imposible cubrir el 100% de todos los casos existentes. Quizás creando test cases, podemos cubrir un 80% de los posibles escenarios, es por ello que existen varias estratégias de testing para complementar esto y asegurar una mayor cobertura. (Más adelante, en otro post, veremos más estratégias de testing)

Test Suite

Como bien resumí al principio del post, una test suite no es más que un conjunto de test cases. En la imagen que mostré anteriormente, tenemos la Suite de Test Cases relacionadas al Login.

Seguramente tengamos luego otra Suite con los test cases del formulario de registro, otra para el dashboard, y así con cada módulo que tenga la aplicación.

En caso de que existan test cases que se repitan, yo los suelo poner en una Suite a parte llamada “Genérica” y ahí incluyo los test cases relacionados al header o al footer, que son componentes que se reflejan en todas las páginas del sistema.

Test Plan

Llegamos casi al final del post, acá voy a explicar que es un test plan basado en test cases. Básicamente el test plan es la planificación de como probar la aplicación. Puede incluir distintas estratégias de testing, pero como en este post hemos hablado sobre test cases, lo explicaré en base a ello.
El test plan también sirve como forma de probar integraciones o el conjunto de varios módulos relacionados.

Supongamos que ya se encuentra desarrollado el login, el registro, el módulo de productos y acaban de entregarnos para testear el módulo de VENTAS.

Si bien ejecutamos los test cases relacionados a este módulo, con casos positivos y negativos, también debemos probar la integración con el resto de los módulos. Y acá es acá en donde entra en juego el test plan.

Armamos una planilla por separado, en donde incluiremos los test cases que ejecutaremos para probar esta funcionalidad. Para que quede completo y bien hecho, podemos probar el siguiente flujo:

Registrar un usuario
Loguearse en la aplicación con el usuario creado
Dar de alta un producto
Ir al módulo de ventas y vender ese producto a ese usuario.
Verificar en el módulo de productos que se haya descontado del stock la misma cantidad que vendimos

No es necesario agregar TODOS los test cases de cada cosa. Es decir, TODOS los test cases de registrar un usuario, TODOS los del login, etc… Sino los necesarios para completar el flujo completo, desde que se registra un usuario, hasta que se le vende el producto.

Esto es todo por ahora, espero que en los comentarios cuenten un poco sobre que metodología o forma usan a la hora de crear test cases!

13
Underc0de / Underc0de en Netflix!
« en: Junio 12, 2021, 04:43:35 pm »
Hola a todos!
Ayer uno de nuestros usuarios encontró una serie en Netflix en la cual aparece nuestra comunidad!

Serie: El sabor de las margaritas
Temporada: 2
Episodio: 3
Minuto: 1:06:29




Saludos,
ANTRAX

14
Underc0de / VIP de Underc0de - Enterate como entrar!
« en: Mayo 24, 2021, 11:19:07 pm »
Hola Underc0ders!

Luego de un gran debate por Meet, hemos decidido nuevamente abrir el VIP de Underc0de!

Que cosas hay en el VIP?

- Cuentas premium (Disney+, Netflix, Spotify, Mega, etc)
- Aplicaciones premium para moviles
- Herramientas privadas
- Cursos de pago
- Libros premium
- Plantillas
- Plugins
- Y mucho más!

¿Cómo ingreso al VIP?

Para ingresar al VIP de Underc0de, solamente hay que estar activo en el foro. Las elecciones se harán al finalizar cada mes (Último día hábil del mes) e ingresaran los 10 usuarios que estuvieron más activos en ese último mes.

Pueden ir viendo el TOP 10 de miembros activos en tiempo real en la barra superior del foro:


¿De qué forma puedo ser activo?

- Publicando aportes
- Publicando dudas
- Respondiendo posts

NOTA IMPORTANTE: Serán eliminados todos los mensajes de farming cuya finalidad sea el de aumentar el contador de mensajes. Solo serán tenidos en cuenta mensajes que aporten a la comunidad.

Foro VIP: You are not allowed to view links. Register or Login

Esperamos que les guste esta nueva iniciativa!
Underc0de Team

15
La fundación de desarrolladores informáticos Underc0de tendrá su sede en el departamento de Godoy Cruz. Este viernes 16 de abril será el anuncio.


La Fundación Underc0de es una comunidad de desarrolladores informáticos de la provincia de Mendoza que brinda soluciones y proyectos sobre informática, tecnología, robótica, desarrollo de aplicaciones, de videojuegos, capacitaciones y alfabetización digital.

“Desde que abrió la Fundación Underc0de -en noviembre del 2020- está creciendo mucho en la provincia. La finalidad es capacitar a personas en forma gratuita y luego conseguirles trabajo, para ello tenemos acuerdos con algunas empresas”, explicó el presidente de Underc0de, Danilo Vezzoni.


“Lo que hacemos nosotros es tener el semillero de gente ya capacitada y preparada y cuando viene una empresa interesada en algún perfil en especial, nosotros hacemos el contacto. En muy poco tiempo hemos conseguido muchísimo trabajo para los postulantes”, agregó el analista y programador en sistemas.

Este viernes 16 de abril será un día muy importante para la Fundación, ya que finalmente tendrán su propia sede y estará ubicada en el departamento de Godoy Cruz. A través de un convenio con la Municipalidad, Underc0de instalará sus oficinas en el edificio de la ex­-Comisaría Séptima (en la esquina de Lavalle y Colón), frente a la Plaza Departamental.


“La idea es montar un cowork con una capacidad aproximada de 60 personas, con salas de reuniones, aulas, y laboratorios de electrónica”, expresó Vezzoni.

La firma del acuerdo con el Municipio de Godoy Cruz será a las 11.30 en el Mendoza TIC Parque Tecnológico. Utilizarán la plataforma Meet, debido a las restricciones que rigen actualmente en la provincia por la segunda ola del coronavirus.

Hasta el momento, Underc0de firmó un convenio con la Municipalidad de Las Heras, en donde el Municipio les brindó un cowork para que cualquier miembro de la fundación puede trabajar desde allí. A su vez, brindarán capacitaciones, talleres, tutoriales, guías de aprendizaje y distintas herramientas y actualizaciones tecnológicas e informáticas a los vecinos, pymes, comercios y todos aquellos que trabajan en la informatización o en avances tecnológicos.

16
Criptomonedas / Introducción a las criptomonedas y la minería
« en: Mayo 14, 2021, 07:15:28 pm »
Hola comunidad!
Les dejo el en vivo de este mes sobre criptomonedas y minería


Links útiles de la charla:

- You are not allowed to view links. Register or Login
- You are not allowed to view links. Register or Login

Saludos!

17

Los discos duros son el nuevo oro. Eso es lo que parecen demostrar las notables subidas de precio de unidades convencionales y también de SSDs en Asia, donde los precios se han disparado en los últimos días.

¿A qué se deben esas subidas? A la aparición y creciente popularidad de Chia, una criptodivisa que se puede minar pero no con GPUs, sino con discos duros: cuanto más espacio dediques a almacenar sus transacciones, más ganarás con ese singular proceso de minado.

Conseguir discos duros y SSD a buenos precios puede ponerse complicado

Detrás de la creación de Chia está Bram Cohen, que antes se encargó de revolucionar la filosofía P2P con la creación del protocolo BitTorrent.

Este desarrollo presume de ser mucho más eficiente y respetuoso con el medio ambiente. El mecanismo de consenso para añadir transacciones a su cadena de bloques se basa en el espacio de almacenamiento de los discos duros (cuanto más tengamos, más minaremos), y no en complejos cálculos que requieren muchísima energía.

Eso es lo que sucede con bitcoin u otras criptodivisas que se pueden minar con máquinas especializadas o con GPUs. Chia ya atrajo el interés de grandes grupos inversores como Andreessen Horowitz en 2018, aunque es ahora cuando realmente comienza a hacerse popular.

Se espera que Chia comience a entrar en el mercado de compraventa de criptodivisas el próximo 3 de mayo, y eso ha provocado que surjan especuladores que estén comprando montones de discos duros para anticiparse a la demanda y después tratar de sacar un jugoso beneficio.

En sitios chinos como Taobao o JD.com se han agotado varias unidades de disco duro empresariales de gran capacidad, con precios que se han disparado de forma notable.


Los precios han llegado a subir hasta el 66% en algunas unidades, y aunque las de menor capacidad no están tan expuestas, la fiebre por este tipo de componentes podría hacer que también dichos discos duros y SSD incrementen su precio de forma importante.

Con las unidades empresariales agotadas o a precios desorbitados, algunos especuladores y futuros "mineros" a gran escala están ahora yendo a por las unidades de disco duro orientadas a entornos de videovigilancia. Aunque no son tan fiables cuando se realizan masivas operaciones de lectura y escritura, siguen siendo al parecer una buena opción para esos inversores.

De momento esas subidas de precio no se han trasladado a otros mercados, pero habrá que estar atentos para que esa potencial nueva fiebre del oro no se acabe afectando a muchos más usuarios y mercados.

De hecho la amenaza es aún mayor que en el caso de las GPUs: muchos usuarios pueden prescindir de estas gráfias si no juegan de forma frecuente, pero los discos duros y las unidades SSD son un componente esencial de cualquier PC o portátil, y esas subidas podrían incidir en los precios de venta de estos equipos a medio (e incluso a corto) plazo.

Fuente: You are not allowed to view links. Register or Login

Como minar CHIA


Recursos:

Rendimiento SSD: You are not allowed to view links. Register or Login
Básico de Plottear: You are not allowed to view links. Register or Login
Calculadora: You are not allowed to view links. Register or Login
CHIA FAQ: You are not allowed to view links. Register or Login
CHIA Explorer: You are not allowed to view links. Register or Login
Minar en Windows/Linux (Repo): You are not allowed to view links. Register or Login

Espero que les sirva!
ANTRAX

18
Underc0de / Underc0de desembarca en México!!
« en: Abril 12, 2021, 09:05:13 am »
Hola a todos!

Como ya saben, nuestro mayor tráfico proviene de México, por lo que hemos decidido registrar la marca en ese país para proximamente empezar a hacer actividades y eventos con nuestros usuarios mexicanos.

Ya se iniciaron los trámites legales.



Muy pronto estaremos anunciando en este mismo post cuando el trámite quede 100% terminado, pero el registro ya es un hecho y esta en marcha, solo que demora unos días en ser publicado.

Actualmente ya existe un grupo de WhatsApp de dicho país: (Unirse solamente gente de ese país)

You are not allowed to view links. Register or Login

Nuestra embajadora en Mexico es You are not allowed to view links. Register or Login cualquier duda, pueden comunicarse con ella.

Seguimos en crecimiento y nos seguiremos expandiendo a más paises muy pronto!

Saludos a todos!
Underc0de Team

19

El municipio lasherino y Underc0de trabajarán en conjunto en informática y tecnología, capacitando y asesorando a los vecinos, comerciantes, Pymes y todos aquellos que se desarrollen en este rubro

Las Heras firmó un convenio con una fundación de desarrolladores informáticos para brindar capacitaciones, talleres, tutoriales, guías de aprendizaje y distintas herramientas y actualizaciones tecnológicas e informáticas a los vecinos, Pymes, comercios y todos aquellos que trabajan en la informatización o en avances tecnológicos.

Este acuerdo de colaboración mutua es entre la Municipalidad de Las Heras y la Fundación Underc0de con el objetivo de fomentar la economía del conocimiento 4.0 y las TIC (Tecnologías de la información y la comunicación), brindando su recurso humano en pos de soluciones y proyectos vinculados a la informática en beneficio del vecino, las Pymes, industrias, comercios y profesionales del departamento e incluso del mismo municipio.

El intendente Daniel Orozco y Danilo Vezzoni, presidente de la fundación, fueron quienes refrendaron este acuerdo con el que se buscará acercar herramientas a los vecinos, empresarios y comerciantes de Las Heras, entre otros, que desarrollan sus proyectos en el ámbito de la tecnología y la informática.

La Fundación Underc0de es una comunidad de desarrolladores informáticos y está para brindar soluciones y proyectos sobre informática, tecnología, robótica, desarrollo de aplicaciones, desarrollo de videojuegos, capacitaciones y alfabetización digital al municipio y al vecino de Las Heras. También a las Pymes, a quienes la fundación les brindará posibles soluciones, además de ser el semillero de Coworking de Desarrollo Estratégico.

Esto se traducirá en talleres, tutoriales, guías de aprendizaje, herramientas y actualizaciones informáticas, todo con la mirada puesta en la mejora constante de la comunidad por medio de la tecnología. Los interesados en participar de proyectos informáticos y tecnológicos pueden solicitar información al mail [email protected]

Sebastián Castro, subdirector de la Dirección de Desarrollo Estratégico, expresó que “desde el municipio estamos encarando desde hace un tiempo el llamado conocimiento 4.0 y Las Heras TIC, con polos tecnológicos. Y para nosotros es muy importante este convenio con la Fundación Underc0de porque nos van a trabajar en ese aspecto”.

“Todo ese trabajo de tecnología está apuntado a darle soluciones al vecino, como por ejemplo la agricultura, que lo estamos haciendo con el proyecto de hidroponia de El Borbollón, donde Underc0de nos está desarrollando un software con el cual nosotros podemos trabajar de manera gratuita todas las variables del invernadero a través de una aplicación, lo que hace más efectivo el trabajo”, agregó Castro.

A nivel tecnológico, es inimaginable lo que se puede llegar a hacer, siempre pensando en lograr una Ciudad Inteligente que mejore la calidad de vida de los vecinos. Y eso es a lo que se apunta desde el área de Desarrollo Estratégico de la Municipalidad de Las Heras, fundamentalmente educando y acompañando a los emprendedores informáticos que hay en el departamento.

La Fundación Underc0de está conformada por gente que tiene estrecha relación con la informática, robótica, inteligencia artificial y afines y se dedica al desarrollo y a la seguridad del área informática, con el desafío de alcanzar la libre divulgación del conocimiento, compartir saberes, intercambiar aportes e interactuar para potenciar las capacidades y habilidades de cada uno de sus integrantes en un ambiente cordial.

Los asociados a la fundación son analistas de sistemas, programadores, desarrolladores web y audiovisuales digitales, todo relacionado a la informática y de los cuales buscará nutrirse el área de Desarrollo Estratégico de Las Heras en beneficio de todo el departamento.

El objetivo general del Convenio-Macro firmado entre la Municipalidad de Las Heras y Uncerc0de es el de realizar acciones tendientes al crecimiento de la industria del software y Tecnologías de la Información y la Comunicación, tendiente a articular acciones de colaboración entre estas Instituciones en los aspectos académicos.

Además, los asociados de la fundación podrán tener una práctica profesional en las instalaciones que el municipio disponga, en una retribución mutua entre las dos partes.

Fuente: You are not allowed to view links. Register or Login

20
Fundación Underc0de / Fundación Underc0de - ¿Qué es?
« en: Abril 12, 2021, 07:10:46 am »

Hola comunidad!
Oficialmente quiero comentarles a todos que Underc0de pasó de ser de un simple foro a una fundación de informáticos.

¿Qué cambios trae esto a la comunidad?

En principio estamos empezando desde muy abajo. Le hemos dado un marco legal a todo lo que es underc0de para convertirlo en una fundación sin fines de lucro, con la finalidad de ayudar a informáticos a aprender sobre las últimas tecnologías del mercado y para ayudar a nuestros miembros a conseguir trabajo rapidamente en empresas de software. Actualmente hemos hecho pruebas piloto y ya hay más de 50 personas que han conseguido trabajo gracias a Underc0de.

La fundación tendrá su SEDE principal en Mendoza - Argentina, en donde contaremos con un lugar físico en donde se dictarán talleres y funcionará las 24hs como un Cowork para que nuestros miembros tengan este lugar como punto de encuentro o para trabajar.

Se educarán:

Niños: En programación en bloque y robótica
Jóvenes: En las ultimas tecnologías del mercado
Adultos/Ancianos: Redes sociales, tramites online, office, internet, etc.

Actualmente contamos con 1000 miembros en la fundación, se realizan juntadas mensuales para compartir un buen rato entre amigos y muy pronto contaremos con el lugar físico anteriormente mencionado.

A futuro se busca extender los cursos y capacitaciones a toda la comunidad de manera online.

Más allá de tener un lugar físico, el lugar oficial de encuentro de Underc0de seguirá siendo siempre el foro. Ya que aquí es en donde nucleamos a todos nuestros usuarios.

Los seguiremos manteniendo al tanto de cualquier novedad y avance que vayamos teniendo!

Web oficial de la fundación: You are not allowed to view links. Register or Login

Saludos,
Underc0de Team

Páginas: [1] 2 3 ... 68