martes, 3 de mayo de 2022

Herramientas de Prueba de Desarrollo de Software

Competencia Específica

Utiliza   las   herramientas   de   unidad   de prueba  de  desarrollo  orientado  software para la integración validación y seguridad a partir de aplicaciones propietarias.

Resultados de Aprendizaje

Identificar los   elementos,   y   herramientas   de   una prueba  de  desarrollo  orientado  software  a  partir  de aplicaciones propietarias.

Implementarlos  elementos  y  las  herramientas  que permitan  la  ejecución de  pruebas  en  el  desarrollo orientado al software.

Links de Interés:

Las 18 mejores herramientas de prueba de software que debe conocer como evaluador 

Las 10 mejores herramientas de prueba de software

Las mejores herramientas para realizar pruebas de software

Las mejores herramientas de calidad de software

Atento saludo.

M.Ed. NÉSTOR ANAYA CHÁVEZ

martes, 29 de marzo de 2022

Como subir un proyecto local a GitHub

 

desde la web de github

Creamos un nuevo repositorio en https://github.com. Le damos nombre, descripción, seleccionamos si va a ser un proyecto publico o privado si es el caso, y dejamos el check de crear README sin marcar. Le damos a crear repositorio y con esto ya tenemos el repositorio donde alojaremos nuestro proyecto.

desde la terminal del equipo donde esta el proyecto que queremos subir a github

Nos vamos a la carpeta del proyecto y ejecutamos estos comandos.

git init

git add .

git commit -m "first commit"

git remote add origin https://github.com/NOMBRE_USUARIO/NOMBRE_PROYECTO.git

git push -u origin master
Subir un Proyecto

Ejercicios resueltos en JavaScript para aplicar en Proyecto de Aula

Definición de varias Clases

Consumir API Pública


Teoría y Ejercicios en JavaScript

 Ir al Sitio

martes, 22 de marzo de 2022

Integrar los Lenguajes HTML-CSS-JAVASCRIPT

                                                       HTML - CSS - JAVASCRIPT




Vue.JS es un Framework JavaScript para crear asombrosas aplicaicone web modernas. Vue.JS es una librería para crear interfaces web. Vue.JS es una herramienta que aprovecha el uso de la arquitectura MVVM.

Vue.JS fue creado por Evan You, cuando se encontraba trabajando en uno de los proyectos de Google Creative Labs, necesitaban crear un prototipo rápido de una interfaz de usuario, en donde utilizaban mucho código repetitivo de HTML, en donde claramente se podía notar un consumo excesivo de tiempo y recursos.
Evan, comenzó a buscar una herramienta existente para este propósito, para su sorpresa no encontró lo que buscaba, no encontró ninguna librería, Framework (marco de trabajo) que encajara con lo que realmente necesitaban.
En ese entonces, Angular era ampliamente utilizado por muchas personas, React.JS estaba en sus comienzos, y Backbone.JS se estaba utilizando para aplicaciones a gran escala con arquitecturas MVC.
Para el tipo de proyecto que Evan necesita, ningunos de estos marcos complejos en ese momento era el que necesitaba.
Cuando te das cuenta que algo bueno no existe y eres capaz de crearlo, ¡hazlo!, y eso es lo que Evan hizo empezó a trabajar en crear su propio marco de trabajo. Empezó a trabajar en la creación de su propio Framework, que ayude en el prototipado rápido, al ofrecer una forma fácil y flexible con acceso a datos.

Lo más importante sobre Vue.JS

  • Vue.js le permite vincular simplemente sus modelos de datos a la capa de representación.
  • También permite reutilizar fácilmente los componentes en toda la aplicación.
  • No necesita crear modelos o colecciones especiales ni registrar objetos de eventos.
  • No necesita seguir alguna sintaxis especial. No necesitas instalar interminables dependencias.
  • Sus modelos son objetos simples de JavaScript. Están obligados a mostrar lo que quieras en sus Vistas (texto, texto de entrada, clases, atributos, etc.), y simplemente funciona.
  • Simplemente puede agregar el archivo vue.js a su proyecto y usarlo. Alternativamente, puedes usar vue-cli con la familia Webpack y Browserify, que no solo arranca todo proyecto, pero también es compatible con la recarga en caliente y proporciona herramientas de desarrollo.
  • Puedes separar la capa de Vista de los estilos y la lógica de JavaScript o puedes ponerla todo junto en el mismo archivo Vue y construya la estructura y lógica de sus componentes en el mismo lugar. Hay soporte de complemento para todos los IDEs modernos y de uso común.
  • Puede usar los preprocesadores que desee y puede usar ES2015. Puedes usarlo junto con su marco favorito en el que ha estado desarrollando, o puede usarlo por sí mismo.
  • Puede usarlo solo para agregar una funcionalidad pequeña, o puede usar todo el ecosistema Vue para construir aplicaciones complejas.

Vue.JS – Inicio Rápido.

Para hacer un ejemplo de inicio rápido con Vue.JS, vamos a empezar sin instalar nada en tu PC, para ello vamos a utilizar la herramienta JSFiddle (https://jsfiddle.net/).
Una vez que ingresemos a la herramienta, vamos a encontrar 4 cuadrantes, un primer cuadrante en donde vamos a escribir nuestro código HTML, un segundo cuadrante para el código JavaScript, un tercer cuadrante para el código CSS, y un último y cuarto cuadrante para ver el resultado que estamos obteniendo.

En nuestro código HTML, vamos a ingresar lo siguiente:


<div id="app">
 {{ 'Unidades Tecnológicas de Santander' }}
</div>

Podemos apreciar un div que tiene un identificador llamado “app”, como segundo paso nos vamos al cuadrante JavaScript, y vamos a indicarle que trabaje con Vue.JS, y para ello seleccionamos de la lista de Framework que acepta la herramienta, de la siguiente manera:

Languaje: JavaScript

Frameworks & Extensions: Vue 2.2.1

Load Type:  onLoad

Ahora vamos a escribir el siguiente código en el cuadrante JavaScript:


new Vue({
   el:"#app"

});

En el código anterior, lo que hacemos es crear una instancia de Vue, al crear esta instancia debemos pasarle algunos parámetros a su constructor, en este caso le estamos pasando el parámetro “el”, que se refiere al objeto DOM de nuestra página, esto indica el alcance (scope) de Vue.JS, indicando que utilizará el objeto que tenga el identificador “app”, es decir nuestro div.
Una vez que ejecutamos el ejemplo haciendo click en el botón Run, o presionando Ctrl + Enter, veremos el resultado en el cuadrante de Resultados, y podemos apreciar que se muestra la información de ‘Hola Mundo’, claro sin las dobles llaves, y sin las comillas.
Entonces podemos apreciar el enlace desde la vista (HTML) con el código JavaScript, ahora hagamos el siguiente cambio, en donde vamos a notar mejor dicho enlace:
En el cuadrante HTML escribimos:

<div id="app">
 {{ saludo }}
</div>

En el cuadrante JavaScript escribimos:

new Vue({
  el:"#app",
  data:{
    saludo: 'Unidades Tecnológicas de Santander'
  }
});

Realizado este cambio, veremos que tenemos el mismo resultado pero ahora haciendo uso de un dato desde la instancia de Vue, y lo reflejamos en la Vista.

Conclusiones

Vue.JS, es uno de los Frameworks, con mayor crecimiento y demanda en la actualidad para el desarrollo FrontEnd, recomendamos mucho su uso y aplicación en tus proyectos.
Si deseas comparar Vue.JS con tros Frameworks puedes ingresar a la siguiente dirección web: https://vuejs.org/v2/guide/comparison.html

Depurar el código:

Lo que hacemos ahora es añadir un fichero index.html e incluimos tanto la librería de Vue, como nuestro fichero JS, donde desarrollaremos nuestro ejercicio.


<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8">
<title>VueJS Example</title>
</head>
<body>
<script src="node_modules/vue/dist/vue.js"></script>
<script src="app.js"></script>
</body>

</html>



CSS 3 - Hojas de Estilo en Cascada Nivel 3

 Manual y Ejercicios

martes, 1 de marzo de 2022

JSON (JavaScript Object Notation - Notación de Objetos de JavaScript)


JSON (JavaScript Object Notation - Notación de Objetos de JavaScript) es un formato ligero de intercambio de datos. Leerlo y escribirlo es simple para humanos, mientras que para las máquinas es simple interpretarlo y generarlo. 

Está basado en un subconjunto del Lenguaje de Programación JavaScript, Standard ECMA-262 3rd Edition - Diciembre 1999. JSON es un formato de texto que es completamente independiente del lenguaje pero utiliza convenciones que son ampliamente conocidos por los programadores de la familia de lenguajes C, incluyendo C, C++, C#, Java, JavaScript, Perl, Python, y muchos otros. 

Estas propiedades hacen que JSON sea un lenguaje ideal para el intercambio de datos.



<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" 
 integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">

    
     
</head>

<body>
<div id="main" class="container">
     <div class="row">
        <div class="col-sm-4">
          <h1>Lista Vuejs con AJAX </h1>
              <ul class="list_group">
                  <li v-for="item in lists" class="list-group-item">  
                      {{ item.name }} {{ item.username }} {{ item.address.city }}
                  </li>
              </ul>
        </div>
        <div class="col-sm-8">
           <h1> JSON </h1>
           <pre>
                {{ $data | json }}
           </pre>
        </div>
      </div>
</div>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.16/vue.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/vue-resource/1.5.1/vue-resource.min.js"></script>
    <script type="text/javascript">

    //https://www.youtube.com/watch?v=yqnT2VzJHHI&ab_channel=RimorsoftOnline video
    //var urlUsers='https://randomuser.me/api/ ? resultados = 10';

      var urlUsers='https://jsonplaceholder.typicode.com/users';
      new Vue({
            el: '#main',
            created: function() {
                this.getUsers();
            },
            data: {
                lists: []
            },
            methods: {
                getUsers: function() {
                    this.$http.get(urlUsers).then(function(response) {
                        this.lists=response.data;
                    });
                 }
            }
        });

    </script>

</body>

Formato JSON

 Trabajando con JSON

Python y JSON

 import json

import os


data = {}

data["alumnos"] = []

data["mean"]= []



data["alumnos"].append({"codigo":1, "nombre":"Ana Ortiz", "nota1": 4.5, "nota2": 3.5, "nota3": 4.0})


import statistics

ana = (4.5, 3.5, 4.0)

mean = statistics.mean(ana)


with open("data.json","w") as file:json.dump(data,file, indent=4)


with open("data.json") as file: data = json.load(file)


for alumn in data["alumnos"]:suma=0


print ("Codigo:", alumn["codigo"])

print ("Nombre del alumno: ", alumn["nombre"])

print ("Nota 1: ", alumn["nota1"])

print ("Nota 2: ", alumn["nota2"])

print ("Nota 3: ", alumn["nota3"])

print ("Nota definitiva: ", mean)

if (mean>=3):

    print("Alumno: Pasa a otro curso")

else:

    print("Alumno: Reprobado")

print ("----------------------------------------")


data["alumnos"].append({"codigo":2, "nombre":"Fideligna Gonzalez", "nota1": 4.0, "nota2": 3.8, "nota3": 5.0})


import statistics

fideligna = (4.0, 3.8, 5.0)

mean = statistics.mean(fideligna)


with open("data.json","w") as file:json.dump(data,file, indent=4)


with open("data.json") as file: data = json.load(file)


for alumn in data["alumnos"]:suma=0


print ("Codigo:", alumn["codigo"])

print ("Nombre del alumno: ", alumn["nombre"])

print ("Nota 1: ", alumn["nota1"])

print ("Nota 2: ", alumn["nota2"])

print ("Nota 3: ", alumn["nota3"])

print ("Nota definitiva: ", mean)

if (mean>=3):

    print("Alumno: Pasa a otro curso")

else:

    print("Alumno: Reprobado")

print ("----------------------------------------")


data["alumnos"].append({"codigo":3, "nombre":"German Majón", "nota1": 3.0, "nota2": 4.0, "nota3": 3.0})


import statistics

german = (3.0, 4.0, 3.0)

mean = statistics.mean(german)


with open("data.json","w") as file:json.dump(data,file, indent=4)


with open("data.json") as file: data = json.load(file)


for alumn in data["alumnos"]:suma=0


print ("Codigo:", alumn["codigo"])

print ("Nombre del alumno: ", alumn["nombre"])

print ("Nota 1: ", alumn["nota1"])

print ("Nota 2: ", alumn["nota2"])

print ("Nota 3: ", alumn["nota3"])

print ("Nota definitiva: ", mean)

if (mean>=3):

    print("Alumno: Pasa a otro curso")

else:

    print("Alumno: Reprobado")

print ("----------------------------------------")


data["alumnos"].append({"codigo":4, "nombre":"Dairo Cruz", "nota1": 2.0, "nota2": 2.7, "nota3": 2.6})


import statistics

dairo = (2.0, 2.7, 2.6)

mean = statistics.mean(dairo)


with open("data.json","w") as file:json.dump(data,file, indent=4)


with open("data.json") as file: data = json.load(file)


for alumn in data["alumnos"]:suma=0


print ("Codigo:", alumn["codigo"])

print ("Nombre del alumno: ", alumn["nombre"])

print ("Nota 1: ", alumn["nota1"])

print ("Nota 2: ", alumn["nota2"])

print ("Nota 3: ", alumn["nota3"])

print ("Nota definitiva: ", mean)

if (mean>=3):

    print("Alumno: Pasa a otro curso")

else:

    print("Alumno: Reprobado")

print ("----------------------------------------")


data["alumnos"].append({"codigo":5, "nombre":"Kendy Quiroz", "nota1": 5.0, "nota2": 2.0, "nota3": 3.9})


import statistics

kendy = (5.0, 2.0, 3.9)

mean = statistics.mean(kendy)


with open("data.json","w") as file:json.dump(data,file, indent=4)


with open("data.json") as file: data = json.load(file)


for alumn in data["alumnos"]:suma=0


print ("Codigo:", alumn["codigo"])

print ("Nombre del alumno: ", alumn["nombre"])

print ("Nota 1: ", alumn["nota1"])

print ("Nota 2: ", alumn["nota2"])

print ("Nota 3: ", alumn["nota3"])

print ("Nota definitiva: ", mean)

if (mean>=3):

    print("Alumno: Pasa a otro curso")

else:

    print("Alumno: Reprobado")

print ("----------------------------------------")

print('')

ESTE ARCHIVO LLAMARLO IMPORTAR.PY

{
    "notas": [
        {
            "Codigo": 1,
            "Estudiante": "Ana Quiroz",
            "Nota 1": 4.5,
            "Nota 2": 3.5,
            "Nota 3": 4.0,
            "Nota Definitiva": null
        },
        {
            "Codigo": 2,
            "Estudiante": "Fideligna Garzon",
            "Nota 1": 4.0,
            "Nota 2": 3.8,
            "Nota 3": 5.0,
            "Nota Definitiva": null
        },
        {
            "Codigo": 3,
            "Estudiante": "German Duarte",
            "Nota 1": 3.0,
            "Nota 2": 4.0,
            "Nota 3": 3.0,
            "Nota Definitiva": null
        },
        {
            "Codigo": 4,
            "Estudiante": "Dairo Roa",
            "Nota 1": 2.0,
            "Nota 2": 2.7,
            "Nota 3": 2.6,
            "Definitiva": null
        },
        {
            "Codigo": 5,
            "Estudiante": "Kendy Bernal",
            "Nota 1": 5.0,
            "Nota 2": 2.0,
            "Nota 3": 3.9,
            "Nota Definitiva": null
        }
    ]
}

ESTE ULTIMO LLAMARLO data.json


COLOCARLOS AMBOS EN LA MISMA CARPETA Y EJECITAR EL ARCHIVO DE PYTHON

Agenda en Python

 # Escribir un programa que implemente una agenda. En la agenda se podrán guardar nombres y números de teléfono. 

# El programa nos dará el siguiente menú:

# * Añadir/modificar: Nos pide un nombre. Si el nombre se encuentra en la agenda, debe mostrar el teléfono y, 

# opcionalmente, permitir modificarlo si no es correcto. Si el nombre no se encuentra, debe 

# permitir ingresar el teléfono correspondiente. 

# * Buscar: Nos pide una cadena de caracteres, y nos muestras todos los contactos cuyos nombres comiencen por dicha cadena.

# * Borrar: Nos pide un nombre y si existe nos preguntará si queremos borrarlo de la agenda.

# * Listar: Nos muestra todos los contactos de la agenda.

# Implementar el programa con un diccionario.


agenda = {}

while True:

    print("\n")

    print("1. Añadir/modificar")

    print("2. Buscar")

    print("3. Borrar")

    print("4. Listar")

    print("5. Salir")

    

    opcion = int(input("Dime opción:"))

    if opcion == 1:

        nombre = input("Nombre del contacto:")    

        if nombre in agenda:

            print("%s ya existe su número de teléfono es %s" % (nombre,agenda[nombre]))

            opcion = input("Pulsa 's' si quieres modificarlo!!!. Otra tecla para continuar.")

            if opcion == "s":

                numero = input("Dame el nuevo número de teléfono:")

                agenda[nombre]=numero

        else:

            numero = input("Dame el número de teléfono:")

            agenda[nombre]=numero

    elif opcion == 2:

        cadena = input("Nombre del contacto a buscar:")    

        for nombre, numero in agenda.items():

            if nombre.startswith(cadena):

                print("El número de teléfono de %s es el %s" % (nombre,agenda[nombre]))

    elif opcion == 3:

        nombre = input("Nombre del contacto para borrar:")    

        if nombre in agenda:

            opcion = input("Pulsa 's' si quieres borrarlo!!!. Otra tecla para continuar.")

            if opcion == "s":

                del agenda[nombre]

        else:

            print("No existe el contacto")

    elif opcion == 4:

        for nombre, numero in agenda.items():

            print(nombre,"->",numero)

    elif opcion == 5:

        break

    else:

        print("Opción incorrecta")


Ejercicio en Python

 import sys


from datetime import datetime


def main():

   Menu()


def Menu():

  

    numero = input("""

                      1.Registrar Partido

                      2.Ver Resultados

                      3.Tabla de Clasificación

                      4.Salir


                      Digite su opción: """)      

    if numero == "1":

        Registrar()

    elif numero == "2":

        Resultados()

    elif  numero == "3":

        Tabla()

    elif  numero == "4":

        sys.exit

              # os.system("cls")

    else:

        print("Su opción no es válida") 

        print("Por favor intente de nuevo")

        Menu()


def Registrar():

   global par

   par = ()

   i = 1

   while i > 0:

       par=par + fecha()

       print(par)

       opciones = input('\n Digite 5  si desea cargar otro partido o 6 si desea volver al Menú principal: ')

       if opciones == "6":

           i=0

           Menu()


         



def Resultados():

   #print (par)

   fechas = []

   for y in range(int(len(par)/4)):

       try:

           fec = datetime.strptime(par[y*4], '%d/%m/%Y').date()

           fechas.append(fec)

       except ValueError:   

           print("\n " + par[y*4])      

   

   limite1=len(fechas) 

   for y in range(len(fechas)):

       fecmayor=fechas[y]

       limite2=y+1

       for x in range(limite2,limite1):

           fecmayor2=fechas[x]

           

           if fecmayor2>fecmayor:

               fechas[y],fechas[x]=fechas[x],fechas[y]

               #print(fechas) 

       #print(fechas)     

       for x in range(int(len(fechas))):

           #print(x)

           for y in range(int(len(par)/4)):

               #print(y)

               fec = datetime.strptime(par[y*4], '%d/%m/%Y').date()

               if fec==fechas[x]:

                   print(par[y*4] + ' - UTS ' + par[(y*4)+3] + ' Versus ' + par[(y*4)+2] + ' ' + par[(y*4)+1] + '\n')

                   break

       Menu()

       

          



def Tabla():

   print('La Cantidad de partidos jugados por el equipo UTS es: '  + str(int(len(par)/4)))

   puntosuts=0

   golesuts=0

   golesotro=0

   perdidos=0

   empates=0

   for y in range(int(len(par)/4)):

       golesuts=par[(y*4)+3]

       golesotro=par[(y*4)+2]

       if golesuts>golesotro:

           puntosuts=puntosuts+3

       elif golesuts<golesotro:   

           perdidos=perdidos+1

       else:

           empates=empates+1

   

   print('La Cantidad de partidos ganados por UTS es: ' + str(int((puntosuts/3))))            

   print('La Cantidad de partidos empatados por UTS es: ' + str(empates))    

   print('La Cantidad de partidos perdidos por UTS es: ' + str(perdidos))    

   print('La Cantidad de puntos obtenidos por UTS es: ' + str(puntosuts+empates) )    




   Menu()


def fecha():

    w=1

    while w > 0:

        fecha_str = input('\n Ingrese fecha "dd/mm/aaaa"...: ')

        try:

            fecha = datetime.strptime(fecha_str, '%d/%m/%Y')

        except ValueError:

            print("\n No ha ingresado una fecha correcta...")

        else:

            w=0

    equipor = input("Ingrese el Nombre del Equipo Rival:")

    golesr = input("Ingrese la Cantidad de Goles del Equipo Rival:")

    golesuts = input("Ingrese la Cantidad de Goles de la UTS:")

    Partidos = (fecha_str,equipor,golesr,golesuts)

    print(Partidos)

    

    return (Partidos)

def ver_fecha(fecha):

    print(fecha[0],fecha[1],fecha[2],sep="/")



#the program is initiated, so to speak, here

main()

Python

 Tutorial