H.CASE - METODOLOGIA (-PRUEBAS) Flashcards

1
Q

HERRAMIENTAS CASE

Las herramientas CASE cuentan con un repositorios, el respositorio es una base de datos en la que se guardan metamodelos, guardamos de los digramas que estamos haciendo una parte semantica, que nos permite: hacer ingenieria inversa, directa, para hacer coherencia entre modelos.

Herramientas que nos ayudan al desarrollo de software. Fundamentemente en las fases de analisis y diseño (Futuro (construcción) ≡ MDA).

A

Clasificación de herramientas CASE:

  • Upper U-CASE: Se ocupan de la fase de Analisis de requisitos y planificación.
  • Middle M-CASE; Analisis y diseño. Diagramas de clase, paquetes…
  • Lower L-CASE; Generación de código, deputación y pruebas (Orientadas a RAD “desarrollo rapido de aplicaciones”)

Entornos i-CASE (lenguaje XMI de XML)→ Varios CASE integrados que cubren todo el ciclo de desarrollo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

EJEMPLOS DE HERRAMIENTAS

  • Modelo E/R → E/R studio, ERWin
  • Modelado de Requisitos → DOORS, RequisitePro
  • Modelo UML → Entreprise Architect, Rational Rose, ArgoUML, StrarUML, (Visio NO)
  • Modelado DFD → Visible Analyst
  • Visio no es una herramienta CASE por que no guarda nada de semantica, es una herramienta de dibujo.
A

CONTROL DE VERSIONES

Centralizados: Un servidor donde todos los desarrolladores trabajan contra un servidor centralizado.

Herramientas: CVS, Subversion (SVN) tiene un cliente que se llama TortoiseSVN, TFS (reeembrado a Azure DevOps Server)/SourceSafe. SourceSale

Distribuidos: En programación informática, el control de versiones distribuido permite a muchos desarrolladores de software trabajar en un proyecto común sin necesidad de compartir una misma red. Las revisiones son almacenadas en un sistema de control de versiones distribuido. Hay dos niveles de respositorio, uno local de cada desarrollador y uno centralizado.

Git, Mercurial (es una simplificación de las funcionalidades de Git), Bazaar, Dares, Bitkeeper.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

GIT: Creado por Linus Torvalds para el desarrollo del kernel de Linux

  • Distrubido: la mayor parte del trabajo se hace en local.
  • Soporte avanzado de ramas y mezclas.
  • Protocolos: Local, Compatible con HTTP(s) y SSH. Y el propio protocolo GIT
  • Uso de criptografia (SHA-1 sobre object): HASH
    • Tree
    • Blob (≈ file). Es la manera de hacer un hash a los ficheros.
    • Commit (Un commit apunta a un tree, y un tree apunta a otros tree o a un blob).
    • Tag (un tag apunta a un commit)
A

FASES DE GIT:

Fase 1: “Working Directory”: Aquí es donde podemos hacer cualquier cambio y no afectar nuestro repositorio en lo absoluto. En cuanto modificamos algo de nuestro código, éste tiene status de modificado.

Fase 2: “Staging Area”: Aquí es donde le podemos dar nombre a nuestra nueva versión. Y crear una “copia” de cómo quedaría nuestro repositorio en producción.

Para pasar nuestro código de staging area al Git Repository (aun no se publica el código en Github), escribimos el siguiente comando: git commit -m “Nombre del la nueva versión”

Nota que cuando haces el commit el código pasa de estado preparado a confirmado.

Fase 3. “Git repository”: Una vez que el código esta confirmado ya esta listo para sincronizarse con el servidor de Git (github, bitbucket,etc). Para hacer esto, escribimos:

git push -u origin master

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

PLATAFORMAS COLABORATIVAS DEL SOFTWARE

  • Concepto de Forja (forge)Concepto de Foss (Free and Open Source Soffware). Es basicamente repositorios donde ponde proyectos de forma publica.
    • Source Forge
    • GForge
    • Github (Flujos colaborativos Fork y Pull Request)

Flujos colaborativos Fork y Pull Request: Son utilizados para proponer cambios al proyecto de alguien más ó usarlos como punto inicial para desarrollar nuestra propia idea.

Por ejemplo, si queremos desarrollar una nueva funcionalidad o corregir un bug, lo que hacemos es:

  • Hacer un fork al repositorio principal (es decir, creamos una copia en la nube) - Trabajamos sobre nuestra copia de repositorio

Una vez listo nuestro fix o desarrollo, creamos un pull request desde nuestro fork al proyecto principal.

A

PLATAFORMAS COLABORATIVAS DEL SOFTWARE

  • Source Forge
  • GForge
  • Github (Flujos colaborativos Fork y Pull Request)
  • Gitlab
  • Bitcucket
  • Redmine
  • Google Code
  • forga (Se usa CTT en la administración) -> Para aquellas soluciones del CTT que desean construir una comunidad de desarrollo alrededor de su proyecto software libre, se ha creado la organization -ctt forge within a large public collaborative environment GITHUB
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Herramientas de integración continua (CI/CD):

Integración Continua (CI, Continuous Integration): La integración Continua (CI) permite que los diferentes desarrolladores suban y fusionen los cambios del código en una misma rama del repositorio de forma frecuente. Una vez subido el código, se procede a su validación de forma automática mediante pruebas unitarias y de integración (tanto el código subido como del resto de componentes de la aplicación). En caso de que se produzca algún error, este se puede corregir de forma más sencilla.

Distribución Continua (CD, Continuous Delivery): El código nuevo introducido y que ha pasado el proceso de Integración continua se publica automáticamente en un entorno de producción (esta implementación puede requerir la aprobación manual).

A

Herramientas de integración continua (CI/CD):

  • Jenkins
  • Travis CI
  • Circle CI
  • TeamCity
  • Code Ship
  • Bamboo
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

PLATAFORMAS DE DESPLIEGUE:

  • IaaS (Infrastructure as a Service)
  • SaaS (Software as a Service)
  • PaaS (Platform as a Service)
  • FaaS (Functions as a Service)
  • CaaS (Container as a Service)
A

PLATAFORMAS DE DESPLIEGUE:

IaaS (Infrastructure as a Service): IaaS es Infrastructure as a Service, la Infraestructura como Servicio.

SaaS (Software as a Service): Sin duda, es el servicio más utilizado por usuarios individuales. El SaaS, o Software as a Service, es también conocido como software bajo demanda, o software out-of-the-box.

PaaS (Platform as a Service): PaaS son las siglas de Plataforma como Servicio, que proporciona una plataforma y un entorno que permiten a los desarrolladores crear aplicaciones y servicios.

FaaS (Functions as a Service): FaaS, o Funciones como Servicio, se conoce como serverless architecture. Por serverless se entiende que los servidores se utilizan como un elemento más de la infraestructura gracias a las ventajas de la computación en la Nube —y no significa «sin servidor», como podría suponerse

CaaS (Container as a Service): El Contenedor como Servicio se encuentra en un punto intermedio entre el IaaS y el PaaS. Se trata de una forma de virtualización basada en contenedores en la que los motores de contenedores, la orquestación y los recursos informáticos subyacentes se entregan a los usuarios como un servicio de un proveedor en la Nube.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Plataformas de despliegue:

IaaS (Infraestructura)

  • Digital Ocean
  • OpenStack
  • Azure
  • Amazon Web Service (AWS)
  • VCloud

PaaS (Plataforma)

  • Heroku
  • OpenShift
  • Google App Engine

SaaS (Software)

  • Office 365 Outlook
  • Gmail, Skype

FaaS (Funciones)

CaaS (Contenedor)

  • OpenStack Magnum
  • Docker Universal Control Plane.
A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

METODOLOGÍAS DE DESARROLLO

ESTRUCTURAS (ORIENTADAS A PROCESOS)

  • SSADM
  • MERISE
  • METRICA3: Creada por la administración pública para homogeneizar. Se concibe como una metodología de planificación, desarrollo y mantenimiento de sistema de información. Metrica2 tecnologia estructurada, Metrica3 es una tecnología hibrida tiene una parte estructurada y una parte orientada a objetos.

ORIENTAS A OBJETOS: RUP (Iterativo Increm.)-> OPEN UP

  • PROCESO UNIFICADO ABIERTO (OPEN UP): Proceso mínimo y suficiente. Tiene los componentes básicos que pueden servir de base a procesos especificios. Donado por la fundación Eclipse → Licencia libre.
  • PROCESO UNIFICADO AGIL (AUP): V_ersión simplificada del Proceso Unificado de Rational (RUP)_. Describe de manera sencilla la forma de desarrollar aplicaciones con tecnologías ágiles.
A

METODOLOGÍAS AGILES: Permiten adaptar la forma de trabajo a las condiciones del proyecto. Flexibilidad e inmediated de respuesta.

  • XP (Programación Extrema).
  • SCRUM.
  • FDD: Desarrollo basado en funcionalidades.
  • TDD: Desarrollo orientado a pruebas.
  • BDD: Desarrollo guiado por el comportamiento.
  • KARBAN: Pizarra de tareas.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

MANIFIESTO AGIL (12 Principios).

  1. Satisfacer al cliente → Entrega temprana y continua.
  2. Bienvenidos a los requisitos cambiantes.
  3. Entregar con frecuencia sw que funcione.
  4. Personas del negocio y desarrolladores deben trabajar juntos.
  5. Contrucción de proyectos entorno a invidividuos motivados.
  6. Conversación cara a cara: Forma mas eficiente de comunicación ida y vuelta.
  7. Sw que funcione es la primera medida del progreso.
  8. Los procesos agiles promueven el desarrollo sostenido. Patrocinadores, desarrolladores y usuarios deben mantener el ritmo contante de forma indefinica.
  9. Atención continua a la excelencia técnica.
  10. Simplicidad como arte de maximizar la cantidad de trabajo que se hace.
  11. Las mejores aquitecturas, requisitos y diseños vienen de equipos que se autorganizan.
  12. En intervalos reguares: Los equipos reflexionan sobre la forma de ser más eficientes.
A

METRICA V3: Metolologia para el desarrollo y mantenimiento de los sistemas de información.

Desarrollada por el MINISTERIO DE HACIENDA Y ADMINISTRACIONES PUBLICAS. De uso libre cuando se cite a la fuente de la propiedad.

OBJETIVOS:

  • Dotar a la organización de productos sw.
  • Mejorar productividad de los departamentos de sistemas y tecnologías de información y las comunicaciones.
  • Facilitar la operación, mantenimiento y uso del sw.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

FASES DE METRICA V3.

PLANIFICACIÓN DE SISTEMAS DE INFORMCIÓN.

DESARROLLO DEL SISTEMA DE INFORMACIÓN.

  • ESTUDIO DE VIABILIDAD DEL SISTEMA (EVS)
  • ANALSIS DEL SISTEMA DE INFORMACIÓN (ASI).
  • DISEÑO DE SISTEMAS DE INFORMACIÓN (DSI).
  • CONSTRUCCIÓN DE SISTEMAS DE INFORMAC. (CSI)
  • IMPLANTACIÓN Y ACEPTACIÓN DEL SISTEMA (IAS).

MANTENIMIENTO DEL SISTEMA DE INFORMACIÓN

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Métrica 3 incluye un conjunto de procesos que definen una serie de actividades de interfaz con otros procesos organizativos o de soporte.

  • Gestión de proyectos:
  • Seguridad.
  • Gestión de configuración.
  • Aseguramiento de la calidad.
A

PRUEBAS DE METRICA V3.:

ANÁLISIS DEL SISTEMA DE INFORMACIÓN (ASI)

  • Actividad ASI 10: Especificación del Plan de Pruebas

DISEÑO DEL SISTEMA DE INFORMACIÓN (DSI)

  • Actividad DSI 10: Especificación Técnica del Plan de Pruebas

CONSTRUCCIÓN DEL SISTEMA DE INFORMACIÓN (CSI)

  • Actividad CSI 3: Ejecución de las Pruebas Unitarias
  • Actividad CSI 4: Ejecución de las Pruebas de Integración
  • Actividad CSI 5: Ejecución de las Pruebas del Sistema

IMPLANTACIÓN Y ACEPTACIÓN DEL SISTEMA (IAS)

  • Actividad IAS 5: Pruebas de Implantación del Sistema
  • Actividad IAS 6: Pruebas de Aceptación del Sistema
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

SCRUM: Iterativo incremental

ROLES DE SCRUM

Cerdos:

  • Product Owner: Representa la voz del cliente ≈ Director del proyecto
  • Scrum master (O facilitador): Hace que SCRUM se cumpla
  • Scrum Team (desarrolladores): [5-9] personas con habilidades transversales

Gallina: Stakeholder (interesados externos o internos) / Usuarios - Participan en las revisiones de los distintos Sprint (en los Sprint review).

A

EVENTOS EN SCRUM

SPRINT: Es un periodo de tiempo de un mes ± durante el cual se crea un incremento del producto “terminado utilizable y potencialmente desplegable. Los sprints contienen y consisten en:

  • Plaificación del sprint → SPRINT PLANNING.
  • Scrum diarios → DAILY SCRUM.
  • Trabajo de desarrollo.
  • Revisión del sprint → SPRINT REVIEW.
  • Retrospectiva → SPRINT RETROSPECTIVE.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

ARTEFACTOS DE SCRUM.

Cada artefacto contiene un compromiso para garantizar que proporcione información que mejore la transparencia y el enfoque frente al cual se puede medir el progreso.

  • Para el producto Backlog → El objetivo del producto.
  • Para el sprint backlog → El objetivo del sprint.
  • Para el increment → La definición de terminado

BURN DOWN CHART: Grafica que mide la cantidad de requisitos en el backlog de proyecto pendiente al comienzo de cada sprint.

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

XP (Extreme Programming)

  • Programación en parejas.
  • Desarrollo iterativo incremental. Integración continua.
  • Pruebas unitarias continuas. Se aconseja escribir el código de pruebas antes que la codificación ≈ TDD.
    • Los técnicos estiman el esfuerzo del desarrollo y el cliete prioriza (se recomienda que un representante del cliente trabaje con el equipo de desarrollo). Clientes in-situ.
  • Refactorización de código.
  • Entregas pequeñas
  • Propiedad de código compartida.
  • 40 horas / semana.
A

XP (Extreme Programming). Roles:

Programador – Programmer: Es el programador considerado el más importante miembro del equipo ya que escribe las pruebas unitarias y el código del sistema.

Cliente – Customer: También llamado cliente es quien escribe las historias de usuario y las pruebas funcionales para validar su implementación. Asigna la prioridad a las historias de usuario y decide cuáles se implementan en cada iteración centrándose en aportar el mayor valor de negocio

Tester (Encargado de las pruebas): Ayuda al cliente a escribir las pruebas funcionales. Ejecuta pruebas regularmente, difunde los resultados en el equipo y es responsable de las herramientas de soporte para pruebas.

Tracker (Es el encargado de seguimiento). Proporciona retroalimentación al equipo.

Entrenador - Coach: Es responsable del proceso global y se encarga de guiar a los miembros del equipo para seguir el proceso correctamente.

Consultor: Es un miembro externo del equipo con un conocimiento específico en algún tema necesario para el proyecto ayuda al equipo a resolver un problema específico y puede que no siempre haya un consultor como parte del equipo.

Manager (Gestor – Big Boss): Se encarga de agendar las reuniones, se asegura de que el proceso de juntas sea seguido, registra los resultados de las reuniones para futuros reportes para el Tracker. Asiste a las reuniones y trae información importante, mantiene al equipo feliz y productivo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

INTEGRACION CONTINUA

Practica de ingerieria del sw que consiste en hacer integraciones automáticas de un proyecto lo mas a menudo posible para así poder detectar los fallos cuento antes. Entendemos por integración la compilación y pruebas de todo un proyecto.

Persigue la automatización, pero ademas automatización coorporativa. Hay unas reglas de calidad y de desarrollo para todos los equipos igual. Cuanto antes hay que subir a producción.

En la empresa necesitamos un sw que orqueste esa automatización.

A

INTEGRACION CONTINUA.

HERRAMIENTAS:

  • JAVA es JENKINS (maven)
  • TRAVIS: Crea y probar proyecto de SW en Github y BitBucker.
  • CIRCLE.
  • TEAMCITY.
  • BAMBOO.
  • CODESHIP
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q
A

La diferencia entre usar un producto CD (Entrega continua) y CI (Integración continua), es que en un producto de *integración continua* se hace solo hasta los test no se llega hacer el deploy, si se desplega estamos hablado de entrega continua.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

METODOLOGIAS DE DESARROLLO – PRUEBAS

Existen varias clasificaciones. CLASIFICACIÓN A:

CAJA BLANCA: Solo conoce el detalle del algortimo.

  • Pruebas de flujo de control.
  • Pruebas de flujo de datos.
  • Pruebas de bifurcación.
  • Caminos basicos.

CAJA NEGRA: Solo nos interesan las entradas y salidas. Interface

  • Enfocada en las entradas y salidas y no en el código fuente → Pruebo las distintas entradas y salidas.
A

METODOLOGIAS DE DESARROLLO – PRUEBAS

Existen varias clasificaciones. CLASIFICACIÓN B:

FUNCIONALES:

  • Unitarias: De cada componente.
  • Integración: Varios componentes trabajando juntos / Subsitemas.
  • Aceptación: Orientadas al usuario desde punto de vista funcional. Simula que eres un usuario (pruenas funcionales). Ej: Que un usuario rellenara una factura.
  • Regresión: Ante un cambio debemos volver a realizar las pruebas para ver que todo sigue funcionando.
  • Alpha: Por el usuario con el desarrollador como observador, en entorno controlado.
  • Beta: Por el usuario, en su entorno de trabajo sin observadores.

NO FUNCIONALES:

  • Compatibilidad
  • Rendimiento
  • Seguridad
  • Usabilidad
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

HERRAMIENTAS - PRUEBAS:

Aceptación: Selenium, SOPA-UI, Watir (Ruby), WatuN(.Net)

Unitarias: Junit, Nunit, TEstNG, PHPUnit

  • Mockito: Es una librería se usa alrededor de la pieza que quiero probar de forma aislada, si tengo toda la aplicación la capa de negocio usa la capa de datos, para engañar y poder probar la capa de negocio sin la de datos, utilizamos herramientas como Mockito (Utiliza los datos de prueba de forma que no usemos la capa de datos).
  • Para hecer test de javascript: Mocha, Jasmine y Jest

Carga: JMeter, HPLoadRunner, LoadUI

Analisis Código estatico: PMD, Checkstyle y FindBugs

A

HERRAMIENTAS - PRUEBAS:

Aceptación: Selenium, SOPA-UI, Watir (Ruby), WatuN(.Net)

Unitarias: Junit, Nunit, TEstNG, PHPUnit

  • Mockito: Es una librería que u__tiliza los datos de prueba de forma que no usemos la capa de datos).
  • Para hecer test de javascript: Mocha, Jasmine y Jest

Carga: JMeter, HPLoadRunner, LoadUI

Analisis Código estatico: PMD, Checkstyle y FindBugs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

PRUEBAS - METODOLOGÍA MÉTRICA3

Las pruebas son prácticas a realizar en diversos momentos de la vida del sistema de información para verificar:

  • El correcto funcionamiento de los componentes del sistema.
  • El correcto ensamblaje entre los distintos componentes.
  • El funcionamiento correcto de las interfaces entre los distintos subsistemas que lo componen y con el resto de sistemas de información con los que se comunica.
  • El funcionamiento correcto del sistema integrado de hardware y software en el entorno de operación.
  • Que el sistema cumple con el funcionamiento esperado y permite al usuario de dicho sistema que determine su aceptación, desde el punto de vista de su funcionalidad y rendimiento.
  • Que los cambios sobre un componente de un sistema de información, no introducen un comportamiento no deseado o errores adicionales en otros componentes no modificados.
A

PRUEBAS - METODOLOGÍA MÉTRICA3

Los tipos de pruebas que deben realizarse son:

  • Pruebas Unitarias.
  • Pruebas de Integración.
  • Pruebas del Sistema.
  • Pruebas de Implantación.
  • Pruebas de Aceptación.
  • Pruebas de Regresión.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

PRUEBAS - METODOLOGÍA MÉTRICA3

PRUEBAS UNITARIAS: Las pruebas unitarias tienen como objetivo verificar la funcionalidad y estructura de cada componente individualmente una vez que ha sido codificado.

Descripción: Las pruebas unitarias constituyen la prueba inicial de un sistema y las demás pruebas deben apoyarse sobre ellas.

Dos enfoques:

  • Enfoque estructural o de caja blanca.
  • Enfoque funcional o de caja negra
A

PRUEBAS - METODOLOGÍA MÉTRICA3

PRUEBAS DE INTEGRACIÓN: El objetivo de las pruebas de integración es verificar el correcto ensamblaje entre los distintos componentes una vez que han sido probados unitariamente con el fin de comprobar que interactúan correctamente a través de sus interfaces, tanto internas como externas, cubren la funcionalidad establecida y se ajustan a los requisitos no funcionales especificados en las verificaciones correspondientes.

Descripción: En las pruebas de integración se examinan las interfaces entre grupos de componentes o subsistemas para asegurar que son llamados cuando es necesario y que los datos o mensajes que se transmiten son los requeridos.

Se distinguen las siguientes estrategias de integración:

  • De arriba abajo (top-down).
  • De abajo arriba (bottom-up).
  • Estrategias combinadas.

Integración no incremental.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

PRUEBAS - METODOLOGÍA MÉTRICA3

PRUEBAS DEL SISTEMA

Descripción: Una vez que se han probado los componentes individuales y se han integrado, se prueba el sistema de forma global. En esta etapa pueden distinguirse los siguientes tipos de pruebas, cada uno con un objetivo claramente diferenciado:

  • Pruebas funcionales. .
  • Pruebas de comunicaciones.
  • Pruebas de rendimiento.
  • Pruebas de volumen.
  • Pruebas de sobrecarga.
  • Pruebas de disponibilidad de datos.
  • Pruebas de facilidad de uso.
  • Pruebas de operación.
  • Pruebas de entorno.
  • Pruebas de seguridad.
A

PRUEBAS - METODOLOGÍA MÉTRICA3

PRUEBAS DE IMPLANTACIÓN

Descripción: Una vez que hayan sido realizadas las pruebas del sistema en el entorno de desarrollo, se llevan a cabo las verificaciones necesarias para asegurar que el sistema funcionará correctamente en el entorno de operación. Debe comprobarse que responde satisfactoriamente a los requisitos de rendimiento, seguridad, operación y coexistencia con el resto de los sistemas de la instalación para conseguir la aceptación del usuario de operación.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

PRUEBAS - METODOLOGÍA MÉTRICA3

PRUEBAS DE ACEPTACIÓN

Descripción: Las pruebas de aceptación son definidas por el usuario del sistema y preparadas por el equipo de desarrollo, aunque la ejecución y aprobación final corresponden al usuario.

Estas pruebas van dirigidas a comprobar que el sistema cumple los requisitos de funcionamiento esperado, recogidos en el catálogo de requisitos y en los criterios de aceptación del sistema de información, y conseguir así la aceptación final del sistema por parte del usuario.

A

PRUEBAS - METODOLOGÍA MÉTRICA3

PRUEBAS DE REGRESIÓN

Descripción: Las pruebas de regresión se deben llevar a cabo cada vez que se hace un cambio en el sistema, tanto para corregir un error como para realizar una mejora. No es suficiente probar sólo los componentes modificados o añadidos, o las funciones que en ellos se realizan, sino que también es necesario controlar que las modificaciones no produzcan efectos negativos sobre el mismo u otros componentes.

Las pruebas de regresión pueden incluir:

  • La repetición de los casos de pruebas que se han realizado anteriormente y están directamente relacionados con la parte del sistema modificada.
  • La revisión de los procedimientos manuales preparados antes del cambio, para asegurar que permanecen correctamente.
  • La obtención impresa del diccionario de datos de forma que se compruebe que los elementos de datos que han sufrido algún cambio son correctos.
23
Q

56. Dentro de las pruebas del software, ¿qué afirmación es correcta?:

a) La probabilidad de la existencia de más errores en una parte del software es inversamente proporcional al número de errores ya encontrados en dicha parte.
b) Lo óptimo es que los programas se prueben por el programador que los ha desarrollado.
c) La prueba del software se hace tanto para ver si no hace lo que se supone que debe hacer, como para ver si hace lo que se supone que no debe hacer.
d) Únicamente cuando se ha realizado una batería adecuada y completa de casos de prueba se puede decir que se ha realizado la prueba completa del software.

A

56. Dentro de las pruebas del software, ¿qué afirmación es correcta?:

a) La probabilidad de la existencia de más errores en una parte del software es inversamente proporcional al número de errores ya encontrados en dicha parte.
b) Lo óptimo es que los programas se prueben por el programador que los ha desarrollado.
* *c)La prueba del software se hace tanto para ver si no hace lo que se supone que debe hacer, como para ver si hace lo que se supone que no debe hacer.**
d) Únicamente cuando se ha realizado una batería adecuada y completa de casos de prueba se puede decir que se ha realizado la prueba completa del software.

24
Q

15) ¿Qué afirmación es errónea en relación con las pruebas del software?

a) Las pruebas son procesos destructivos.
b) Los casos de prueba se escriben para condiciones de entrada válidas o inválidas.
c) Un plan de pruebas tiene éxito si descubre errores.
d) Lo ideal es que el programador pruebe sus propios programas.

A

15) ¿Qué afirmación es errónea en relación con las pruebas del software?

a)Las pruebas son procesos destructivos.

b) Los casos de prueba se escriben para condiciones de entrada válidas o inválidas.
c) Un plan de pruebas tiene éxito si descubre errores.
d) Lo ideal es que el programador pruebe sus propios programas.

25
Q

1. Las herramientas Middle CASE se usan para:

a) Automatizar tareas en el análisis y diseño de aplicaciones.
b) Ayudar en las fases de planificación y análisis de requisitos.
c) Automatizar la generación de código y crear programas de detección de errores.
d) Depurar programas y realizar planes de pruebas.

A

1. Las herramientas Middle CASE se usan para:

a) Automatizar tareas en el análisis y diseño de aplicaciones.

b) Ayudar en las fases de planificación y análisis de requisitos.
c) Automatizar la generación de código y crear programas de detección de errores.
d) Depurar programas y realizar planes de pruebas.

26
Q

2. En una clasificación de herramientas CASE basada en las fases del ciclo de desarrollo que cubren, las denominadas Lower Case se emplean en:

a) La generación de código.
b) El análisis de requisitos.
c) La fase de planificación.
d) La fase de diseño.

A

2. En una clasificación de herramientas CASE basada en las fases del ciclo de desarrollo que cubren, las denominadas Lower Case se emplean en:

a) La generación de código.

b) El análisis de requisitos.
c) La fase de planificación.
d) La fase de diseño.

27
Q

3. Visual SourceSafe es:

a) Una herramienta CASE.
b) Un antivirus.
c) Una herramienta de control de versiones de Microsoft
d) Una herramienta para modelado UML,

A

3. Visual SourceSafe es:

a) Una herramienta CASE.
b) Un antivirus.

c) Una herramienta de control de versiones de Microsoft

d) Una herramienta para modelado UML,

28
Q

50. Son herramientas específicas de control de versiones de software:

a) Mercurial, Git y Apache Subversion.
b) Gimp, Mercurial y Git,
c) RedMine, Planner y OpenProj.
d) Cassandra, Git y REDIS.

A

50. Son herramientas específicas de control de versiones de software:

a) Mercurial, Git y Apache Subversion.

b) Gimp, Mercurial y Git,
c) RedMine, Planner y OpenProj.
d) Cassandra, Git y REDIS.

29
Q
  • *Es un sistema de control de versiones multiplatafonna, para desarrolladores de software:**
    a) Cassandra b) Nunit
    c) Mercurial d) Lucene
A
  • *Es un sistema de control de versiones multiplatafonna, para desarrolladores de software:**
    a) Cassandra b) Nunit
  • *c) Mercurial** d) Lucene

SourceSafe: es una herramienta que forma parte del entorno de desarrollo Microsoft Visual Studio.

Visual Studio Team Foundation Server: es el sustituto de Source Safe. Es un productor que ofrece control de código fuente, recolección de datos, informes y seguimiento de proyectos, y está destinado a proyectos de colaboración de desarrollo de software.

Darcs: es un sistema de gestión de versiones distribuido. Algunas de sus características son: la posibilidad de hacer commits locales (sin conexión), cada repositorio es una rama en sí misma, independencia de un servidor central, posibilidad de renombrar ficheros, varios métodos de acceso como local, ssh, http y ftp, etc.

Git: esta herramienta de control de versiones, diseñada por Linux Torvalds.

Mercurial: esta herramienta funciona en Linux, Windows y Mac OS X.

Subversion

30
Q

50. Dado un repositorio que se encuentra bajo control de versiones con la herramienta GIT. ¿qué nombre tiene el
fichero en que se indican aquellos ficheros que NO deben ser tenidos en cuenta por el control de versiones?

a) gitIgnore b) gituntrack
c) gitexclude d) gltuncommit

A

50. Dado un repositorio que se encuentra bajo control de versiones con la herramienta GIT. ¿qué nombre tiene el
fichero en que se indican aquellos ficheros que NO deben ser tenidos en cuenta por el control de versiones?

a) gitIgnore b) gituntrack
c) gitexclude d) gltuncommit

.gitignore: Este fichero es interesante para no subir basura al control de versones. De forma que no se suban los directorios de las herramientas de desarrollador, para que no suban esos ficheros al control del versiones.

31
Q

54. Señale cual de las siguientes herramientas sirve para realizar pruebas de estrés en Java:

a) Jmeter
b) SonarQube
c) Junit
d) Piwik

A

54. Señale cual de las siguientes herramientas sirve para realizar pruebas de estrés en Java:

a)Jmeter

b) SonarQube
c) Junit
d) Piwik

32
Q

Siendo el nombre remoto “origin”, y la rama “master”, para subir los commits de una rama local a un repositorio remoto, ¿cuál sería el comando en Git?

a) git push origin master
b) git pull origin master
c) git init origin master
d) git start origin master

A

Siendo el nombre remoto “origin”, y la rama “master”, para subir los commits de una rama local a un repositorio remoto, ¿cuál sería el comando en Git?

a)git push origin master

b) git pull origin master
c) git init origin master
d) git start origin master

33
Q

Entre los productos existentes para la gestión de integración continua de software (entrega continua desde el código hasta el despliegue) se encuentra:

a) Magnolia
b) Bamboo
c) DevExpress
d) InterSystems Ensemble

A

Entre los productos existentes para la gestión de integración continua de software (entrega continua desde el código hasta el despliegue) se encuentra:

a)Magnolia

b)Bamboo

c) DevExpress
d) InterSystems Ensemble

34
Q
  • *Señale cuál de las siguientes NO es un tipo de evento contemplado en la metodología Scrum:**
    a) Reunión de Planificación del Sprint (Sprint Planning Meeting).
    b) Scrums Diarios (Daily Scrums).
    c) Iteración del Sprint (Sprint lteration).
    d) Retrospectiva del Sprint (Sprint Retrospective).
A
  • *Señale cuál de las siguientes NO es un tipo de evento contemplado en la metodología Scrum:**
    a) Reunión de Planificación del Sprint (Sprint Planning Meeting).
    b) Scrums Diarios (Daily Scrums).
  • *c) Iteración del Sprint (Sprint lteration).**
    d) Retrospectiva del Sprint (Sprint Retrospective).
35
Q
  • *¿Cuál de estos modelos de ciclo de vida se basa en la repetición de varios ciclos de vida en cascada?**
    a) Ciclo de vida en V. b) Ciclo de vida evolutivo.
    c) Ciclo de vida tipo sashimi. d) Ciclo de vida incremental.
A
  • *¿Cuál de estos modelos de ciclo de vida se basa en la repetición de varios ciclos de vida en cascada?**
    a) Ciclo de vida en V. b) Ciclo de vida evolutivo.
    c) Ciclo de vida tipo sashimi . d) Ciclo de vida incremental.
36
Q

¿Cuál de los siguientes conceptos en SCRUM hace referencia a la lista de tareas a realizar en una iteración para
construir un Incremento?

a) Sprint Backlog. b) Sprint Review.
c) Spring Planning. d) Product Backlog.

A

¿Cuál de los siguientes conceptos en SCRUM hace referencia a la lista de tareas a realizar en una iteración para
construir un Incremento?

a) Sprint Backlog. b) Sprint Review.
c) Spring Planning. d) Product Backlog.

37
Q
  • *Señala de entre las siguientes opciones la que NO se corresponde con una herramienta para la integración continua de
    software: **
    a) Canboo. b) CruiseControl.
    c) Jenkins. d) Travis CI.
A
  • *Señala de entre las siguientes opciones la que NO se corresponde con una herramienta para la integración continua de
    software: **
  • *a) Canboo.** b) CruiseControl.
    c) Jenkins. d) Travis CI.
38
Q

¿Cuál de los siguientes tipos de prueba tienen como objetivo comprobar que los cambios sobre un componente no
introducen errores adicionales en otros componentes no modificados?

a) Pruebas de integración. b) Pruebas de seguridad.
c) Pruebas unitarias. d) Pruebas de regresión.

A

¿Cuál de los siguientes tipos de prueba tienen como objetivo comprobar que los cambios sobre un componente no
introducen errores adicionales en otros componentes no modificados?

a) Pruebas de integración. b) Pruebas de seguridad.
c) Pruebas unitarias. d) Pruebas de regresión.

39
Q

66-Las pruebas cuya finalidad es verificar que los distintos componentes del sistema interactúan correctamente a través de sus interfaces se denominan:

a) Pruebas de artefactos.
b) Pruebas de integración.
c) Pruebas de interacción.
d) Pruebas de implantación.

A

66-Las pruebas cuya finalidad es verificar que los distintos componentes del sistema interactúan correctamente a través de sus interfaces se denominan:

a) Pruebas de artefactos.
b) Pruebas de integración.

c) Pruebas de interacción.

d) Pruebas de implantación.

40
Q

67-Dado un proyecto git, ¿con qué comando puedo listar las etiquetas?

a) git tag
b) git list-tag
c) git rebase
d) git –t

A

67-Dado un proyecto git, ¿con qué comando puedo listar las etiquetas?

a) git tag

b) git list-tag
c) git rebase
d) git –t

41
Q

68-La plataforma de control de versiones de Microsoft es:

a) CVS
b) Trello
c) Team Foundation Server
d) ClearCase

A

68-La plataforma de control de versiones de Microsoft es:

a) CVS
b) Trello

c) Team Foundation Server

d) ClearCase

42
Q

69-Con respecto a SonarQube, señale la INCORRECTA:

a) Solución diseñada para realizar análisis dinámico del código’fuente de manera automática.
b) Entre las verificaciones que puede realizar está la detección de código duplicado.
c) Obtiene diversas métricas sobre el código.
d) Permite definir “Quality Gates” con las condiciones mínimas que el proyecto debe cumplir para subir a producción.

A

69-Con respecto a SonarQube, señale la INCORRECTA:

a) Solución diseñada para realizar análisis dinámico del código’fuente de manera automática.

b) Entre las verificaciones que puede realizar está la detección de código duplicado.
c) Obtiene diversas métricas sobre el código.
d) Permite definir “Quality Gates” con las condiciones mínimas que el proyecto debe cumplir para subir a producción.

43
Q

Con respecto a las pruebas de regresión, señale la INCORRECTA:

a) Ante cambios sobre un componente software, ayudan a garantizar que el resto de componentes no se ve afectado.
b) Son compatibles con las metodologías ágiles de desarrollo.
c) Normalmente, implican la repetición de las pruebas que ya se han realizado previamente.
d) No es posible automatizar las pruebas de regresión.

A

Con respecto a las pruebas de regresión, señale la INCORRECTA:

a) Ante cambios sobre un componente software, ayudan a garantizar que el resto de componentes no se ve afectado.
b) Son compatibles con las metodologías ágiles de desarrollo.
c) Normalmente, implican la repetición de las pruebas que ya se han realizado previamente.

d) No es posible automatizar las pruebas de regresión.

44
Q

13) Google como proveedor de servicios en la nube:

a) Solo ofrece servicios IaaS
b) Ofrece servicios IaaS, PaaS y SaaS
c) Ofrece servicios PaaS y SaaS
d) Solo ofrece servicios SaaS

A

13) Google como proveedor de servicios en la nube:

a) Solo ofrece servicios IaaS

b) Ofrece servicios IaaS, PaaS y SaaS

c) Ofrece servicios PaaS y SaaS
d) Solo ofrece servicios SaaS

45
Q

58) ¿Qué es Google Suite?

a) PaaS de Google
b) SaaS de Google
c) IaaS de Google
d) Sistema de reservas on-line de Google

A

58) ¿Qué es Google Suite?

a) PaaS de Google

b) SaaS de Google

c) IaaS de Google
d) Sistema de reservas on-line de Google

46
Q

71) ¿Quiénes son los principales consumidores de una plataforma cloud PaaS?

a) Los arquitectos de sistema
b) Los desarrolladores de servicios
c) El cliente final
d) Las grandes corporaciones

A

71) ¿Quiénes son los principales consumidores de una plataforma cloud PaaS?

a) Los arquitectos de sistema

b) Los desarrolladores de servicios

c) El cliente final
d) Las grandes corporaciones

47
Q

80) La metodología Lean aplicada al desarrollo SW:

a) Define las fases del proceso de desarrollo
b) Define los roles en el equipo de desarrollo
c) Define los principios a los que deben acogerse los procesos de desarrollo
d) Todas las anteriores son correctas

A

80) La metodología Lean aplicada al desarrollo SW:

a) Define las fases del proceso de desarrollo
b) Define los roles en el equipo de desarrollo

c) Define los principios a los que deben acogerse los procesos de desarrollo

d) Todas las anteriores son correctas

48
Q

117) Métrica V3 define para los proyectos:

a) 4 fases
b) 5 interfaces
c) 48 procesos
d) Ninguna de las anteriores

A

117) Métrica V3 define para los proyectos:

a) 4 fases
b) 5 interfaces
c) 48 procesos

d) Ninguna de las anteriores

49
Q

128) Señale cuál de las siguientes herramientas no está asociada a la gestión de versiones en proyectos de desarrollo:

a) Git
b) SVN
c) Jmeter
d) Bazaar

A

128) Señale cuál de las siguientes herramientas no está asociada a la gestión de versiones en proyectos de desarrollo:

a) Git
b) SVN

c) Jmeter

d) Bazaar

50
Q

46) ¿Qué es Gitlab CI?

a) Gitlab Control Interface: proporciona una interfaz visual a Gitlab
b) Gitlab Continuous Integration: proporciona un servicio de integración Continua
c) Gitlab Commit Integration: proporciona un servicio distribuido de integración de commit
d) Ninguna de las anteriores

A

46) ¿Qué es Gitlab CI?

a) Gitlab Control Interface: proporciona una interfaz visual a Gitlab

b) Gitlab Continuous Integration: proporciona un servicio de integración Continua

c) Gitlab Commit Integration: proporciona un servicio distribuido de integración de commit
d) Ninguna de las anteriores

51
Q

63) En la metodología de gestión de proyectos SCRUM:

a) Una de las tareas del Scrum Master es organizar, dirigir y liderar al equipo de desarrollo durante todo el proyecto.
b) El Product Owner es el encargado de priorizar los elementos del backlog.
c) Los requisitos de un sprint pueden ser cambiantes y deben ser adaptables.
d) Una de las funciones de los StakeHolders es definir el producto mínimo viable.

A

63) En la metodología de gestión de proyectos SCRUM:

a) Una de las tareas del Scrum Master es organizar, dirigir y liderar al equipo de desarrollo durante todo el proyecto.

b) El Product Owner es el encargado de priorizar los elementos del backlog.

c) Los requisitos de un sprint pueden ser cambiantes y deben ser adaptables.
d) Una de las funciones de los StakeHolders es definir el producto mínimo viable.

52
Q

107) Entre las metodologías agiles de desarrollo NO se encuentra:

a) Adaptative Software Development (ASD).
b) Extreme Merise (XM).
c) Extreme Programming (XP).
d) Feature Driven Development (FDD).

A

107) Entre las metodologías agiles de desarrollo NO se encuentra:

a) Adaptative Software Development (ASD).

b) Extreme Merise (XM).

c) Extreme Programming (XP).
d) Feature Driven Development (FDD).

53
Q
  • *En Métrica v3 la actividad de “elaboración de los manuales de usuario” se desarrolla en el subproceso de:**
    a) Construcción de Sistemas de Información.
    b) Desarrollo de Sistemas de Información.
    c) Implantación y Aceptación del Sistema.
    d) Diseño del Sistema de Información.
A
  • *En Métrica v3 la actividad de “elaboración de los manuales de usuario” se desarrolla en el subproceso de:**
  • *a) Construcción de Sistemas de Información.**
    b) Desarrollo de Sistemas de Información.
    c) Implantación y Aceptación del Sistema.
    d) Diseño del Sistema de Información.