Responda las siguientes preguntas relacionadas a continuacion: 1. Cuál es la diferencia entre verificación y validación de Software. La Verificación es el proceso de evaluación del Sistema o Componentes, permitiendo determinar los productos de alguna Fase del desarrollo. Satisfaciendo las condiciones desde el inicio de la etapa; y la Validación de Software también es el proceso de evaluación del Sistema o Componentes solo que es el Transcurso o al Final del desarrollo determina si cumple con lo especificado. 2. ¿Qué entiende usted por una prueba de Software? Es un conjunto de herramientas, técnicas y métodos para la excelente del desempeño de un Software, involucra las operaciones bajo condiciones controladas y evaluando los resultados. 3. ¿Qué entiendes por pruebas de integración? Es una técnica Sistemática para construir la estructura del programa mientras al mismo tiempo, se lleva a cabo pruebas para detectar errores asociados con la interacción. 4. ¿Qué entiende por prueba de humo? Detecta los errores tempranos y de manera fácil, su objetivo es probar el Sistema constantemente buscando que saque “Humo”, realiza una integración de todo el Sistema cada cierto periodo (se recomienda un día, máximo una semana). 5. ¿Qué entiende por prueba del sistema? Asegurar la propiedad navegación dentro del Sistema, ingreso de datos, procesamiento y recuperación, deben enfocarse en requisitos que puedan ser tomados directamente de casos de uso y reglas y funciones de negocios, ejecuta cada caso de uso, flujo básico o función. 6. ¿Qué entiende por pruebas de caja de negra e indique con dos ejemplos?
Caja Negra: Es aquel elemento que es estudiado desde el punto de vista de las entradas que recibe y las salidas o respuestas que produce, sin tener en cuenta su funcionamiento interno.
ENTRADA
FUNCIONES
SALIDA
Caja Negra 7. ¿Cómo cree usted que se desarrollan las pruebas para un producto de Software? Para el establecimiento de un proceso para el desarrollo de Software, son:
Planificación: La importante tarea a la hora de crear un producto de Software es obtener los requisitos o el análisis de los requisitos. Los clientes suelen tener una idea más bien abstracta del resultado final, pero no sobre las funciones que debería cumplir el Software.
Implementación, pruebas y documentación: La Implementación es parte del proceso en el que los ingenieros de Software programan el código para el proyecto. Las pruebas de Software son parte esencial del proceso de desarrollo del Software, La documentación del diseño interno del Software con el objetivo de facilitar su mejora y su mantenimiento se realiza a lo largo del proyecto.
Despliegue y mantenimiento: El despliegue comienza cuando el código ha sido suficientemente probado, ha sido aprobado para su liberación y ha sido distribuido en el entorno de producción, el mantenimiento o mejora del Software de un Software con problemas recientemente desplegado, puede requerir más tiempo que el desarrollo inicial del Software
8. Para el desarrollo de un Software Educativo: a. Como ejecutaría usted las pruebas. b. Sobre que parámetros realizaría las pruebas al producto. c. En la implementación de las pruebas, ¿Qué es lo primo que tendría en cuenta y por qué? Es una metodología de desarrollo de Software que contempla una serie de fases o etapas de un proceso Sistemático atendiendo:
Etapa 1: Análisis: Característica de la población objetivo: edad (Física y mental), sexo, características físicas y mentales (Si son relevantes),
experiencias
previas,
expectativas,
actitudes,
aptitudes, intereses o motivaciones por aprender. Conducta de entrada y campo vital: nivel escolar, desarrollo mental, físico o psicológico, entorno familiar y escolar, entre otros…
Etapa 2: Diseño: Educativo (este debe resolver las interrogantes que se refieren al alcance, contenido y tratamiento que debe ser capaz de apoyar el Sistema Educativo). Comunicacional (es donde se maneja la interacción entre usuario y máquina, se denomina interfaz). Computacional (con base a las necesidades se establece qué funciones es deseable que cumpla el Sistemas Educativo en apoyo de sus usuarios, el docente y los estudiantes).
Etapa 3: Desarrollo: En esta fase se implementa la aplicación usando la información obtenida anteriormente. Tomando en cuenta las restricciones que se tengan.
Etapa 4: Prueba Piloto: En esta etapa se pretende ayudar a la depuración del Sistema Educativo a partir de su utilización por una muestra representativa de los tipos de destinatarios para los que se hizo y la consiguiente evaluación formativa. Es imprescindible realizar ciertas validaciones (efectuadas por expertos) de los prototipos durante las etapas de diseño y prueba en uno a uno de los módulos desarrollados, a medida que estos están funcionales.
Etapa 5: Ajuste: Prueba de Campo La prueba de campo de un Sistema Educativo es mucho más que usarlo con toda la población objeto. Si se exige, pero no se limita a esto. Es importante que dentro del ciclo de desarrollo hay que buscar la oportunidad de comprobar, en la vida real, que aquello que a nivel experimental parecía tener sentido, lo sigue teniendo, es decir, si efectivamente la aplicación satisface las necesidades y cumple la funcionalidad requerida.
1. Pruebas Estáticas: Se realizan sin ejecutar el código de la aplicación, referirse a la revisión de documentos, que se pueden realizar “pruebas de escritorio” 2. Pruebas Dinámicas: Para su ejecución requieren la ejecución de la aplicación, permiten el uso de técnicas de caja negra y caja blanca con mayor amplitud, lo cual es posible medir con mayor precisión el comportamiento de la aplicación desarrollada. TIPOS DE PRUEBAS Hay todo tipo de pruebas, pero nos enfocamos en 3 de ellas:
1. Pruebas De Compatibilidad: Comprobación del funcionamiento del Software desarrollado en varias plataformas: Sistemas Operativos, Navegadores, Redes, Hardware, entre otros… 2. Pruebas De Regresión: Se evalúa el correcto funcionamiento del Software desarrollado frente a evoluciones o cambios funcionales. Asegurar que los casos de prueba que ya habían sido probados y son exitosos permanezcan así. Recomendable que sean automatizadas para reducir el tiempo y esfuerzo en su ejecución. 3. Pruebas De Integración: Es el nivel de pruebas posterior a las pruebas modulares de los componentes de un Sistema. Principalmente se centra en probar la comunicación entre los componentes de un mismo Sistema, comunicación entre Sistemas o entre Hardware y Software. TIPOS DE PRUEBAS POR SU EJECUCIÓN 1. Pruebas Manuales: Es una prueba realizada por un Ser Humano. Normalmente se captura en un documento de texto o un documento de Microsoft Word que muestra los pasos. Es el único tipo de prueba no automatizado. Se utilizan cuando la creación y ejecución de otros tipos de prueba, como las pruebas unitarias o las pruebas Web. 2. Pruebas Automáticas: Consiste en el uso de Software especial (Casi siempre separado del Software que se prueba) para controlar la ejecución de pruebas y la comparación entre los resultados obtenidos y los resultados esperados. NIVELES DE PRUEBAS 1. Pruebas Unitarias: Es una forma de comprobar el correcto funcionamiento de un módulo de código. Esto sirve para asegurar que cada uno de los módulos funcione correctamente por separado. Luego, con las Pruebas de Integración, se podría asegurar el correcto funcionamiento del Sistema o Subsistema en cuestión.
2. Pruebas Modulares: Es el nivel de pruebas posterior a las pruebas unitarias (de código), en este nivel se prueban los componentes de un Sistema de forma independiente, ya sea un proceso batch (Procesamiento por lotes), servicio, pantalla o componente. Se utilizan stub’s o mocks que permieten ingresar datos al componente bajo prueba para verificar el resultado. 3. Pruebas De Aceptación De Usuario UAT: Es una parte importante del desarrollo de Software, ya que se asegura que el programa termine y satisface las necesidades de sus usuarios potenciales. Se realiza típicamente durante la etapa final del desarrollo, cuando el Software se prueba como un todo PRUEBAS FUNCIONALES 1. Pruebas Funcionales: Es una prueba basada en la ejecución, revisión y retroalimentación de las funcionalidades previamente diseñadas para el Software. Se hacen mediante el diseño de modelos de prueba que buscan evaluar cada una de las opciones con las que cuenta el paquete informático. 2. Pruebas De Aceptación: Es un escenario de utilización del Sistema y el Comportamiento que dé él se espera, visto desde la perspectiva del cliente, usuario o Sistema externo que interactúa con el programa. 3. Alpha Testing: Es la primera fase dentro del testeo de un Software o Hardware, es el testeo general para corregir errores básicos de un Programa o Hardware. 4. Beta Testing: Es el paso o procesamiento en donde un grupo de personas (Los betatesters) evalúan un Software en búsqueda de errores e irregularidades antes de que salga definitivamente al mercado. PRUEBAS NO FUNCIONALES 1. Pruebas No Funcionales: Esta prueba incluye los siguientes tipos de pruebas:
Volumen de pruebas: Comprende a la prueba que pretende verificar la capacidad del Sistema o para manejar un gran volumen de datos como entrada y de salida o residente en la base de datos del módulo. Prueba de carga: También conocida como la prueba de esfuerzo, se corresponde con la prueba que tiene como objetivo evaluar la respuesta de un Sistema complejo o módulo bajo una pesada carga de los datos, la repetición de ciertas acciones de los datos de entrada, los gran valores numéricos. Pruebas de rendimiento: Corresponde a la prueba asegurar que el Sistema o módulo cumple con los niveles de rendimiento y los tiempos de respuesta acordados con los usuarios definidos en los requisitos. Pruebas de configuración: Corresponde a la prueba que tiene como objetivo verificar si el Sistema o módulo es capaz de ejecutarse en diferentes versiones o configuraciones de los entornos (Hardware y Software) Pruebas estructurales: También conocido como White Box prueba Text Match que tiene como objetivo evaluar todo el comportamiento interno de un componente del Sistema o módulo. 2. Pruebas De Seguridad: Se encarga de proteger todo tipo de información almacenada en el Sistema. 3. Pruebas De Usabilidad: Es una técnica usada en el diseño de interacciones centrado en el usuario para evaluar un producto mediante con los usuarios mismos. Esto puede ser visto como una práctica de usabilidad irreemplazable, dado que entrega información directa de como los usuarios reales utilizan el Sistema. 4. Pruebas De Rendimiento: Son las pruebas que se realizan, desde una perspectiva, para determinar lo rápido que realiza una tarea un Sistema en condiciones particulares de trabajo. También puede servir para validar y verificar otros atributos de la calidad del Sistema, tales como la escalabilidad, fiabilidad y uso de los recursos. 5. Pruebas De Internacionalización Y Localización: La Internacionalización es el proceso de diseñar Software de manera tal que pueda adaptarse a
diferentes idiomas y regiones sin la necesidad de realizar cambios de Ingeniería ni el código. La Localización
es el proceso de adaptar el
Software para una región específica mediante la adición de componente específicos de un Locale (Configuración Regional)y la traducción de los textos, por lo que también se le puede denominar Regionalización. 6. Pruebas De Escalabilidad: Son una extensión de las pruebas de rendimiento. El propósito de las pruebas de escalabilidad es identificar cargos de trabajo. 7. Pruebas De Mantenibilidad: Esta característica representa la capacidad del producto Software para ser modificado efectiva y eficientemente, debido a necesidades evolutivas, correctivas o perfectivas. 8. Pruebas De Estabilidad: Este programa, testea componente de Hardware de un Sistema como CPU, VGA, RAM, entre otros… cada test esta hecho a conciencia para estrujar al 100% cada componente. 9. Pruebas De Portabilidad: Es uno de los conceptos clave en la Programación de alto nivel. Se define como la característica que posee un Software para ejecutarse en diferentes plataformas, el código fuente del Software es capaz de reutilizarse en vez de crearse un nuevo código cuando el Software para de una plataforma a otra.
Trabajo Realizado Por: José Francisco Hormiga Navas… Presentado a: Guido Arnoldo Rodríguez Torrente