Plan de Pruebas de Software

February 23, 2023 | Author: Anonymous | Category: N/A
Share Embed Donate


Short Description

Download Plan de Pruebas de Software...

Description

 

Isaac Martínez Pérez 09/09/2022

EVALUACION Y MEJORA DSM-402   M. en D. David Hernández Ortega

TAREA 1 

Tarea 1, SEMANA 1 DEL 5 AL 9 DE SEPTIEMBRE   Unidad I. Introducción al proceso de pruebas pruebas (Testing



1. ¿Qué es el testing de software? El testing de software o software o  software QA, es QA,  es un proceso para verificar y validar la funcionalidad de un programa o una aplicación de software con el objetivo de garantizar que el producto de software esté libre de defectos. La intención final es que coincida con los requisitos esperados para entregar un producto de calidad. Implica la ejecución de componentes de software o sistema utilizando herramientas manuales o automatizadas para evaluar una o más propiedades de interés. El testing de software es un proceso paralelo al  desarrollo de software cuyas tareas deben ir realizándose a medida que se construye el producto para evitar problemas en la funcionalidad de manera previa a su lanzamiento.

2. ¿Por qué es importante hacer pruebas? Las pruebas de software son importantes porque permiten identificar de manera temprana si hay algún problema en el software, facilitando su resolución antes de la entrega del producto. Un producto de software debidamente probado garantiza calidad, seguridad, confiabilidad y alto rendimiento, además de otros beneficios como ahorro de tiempo, seguridad y satisfacción del cliente.

3. ¿Pruebas manuales o automatizadas? automatizadas? En las pruebas manuales (como sugiere el nombre), los casos de prueba se ejecutan manualmente (es decir, por un humano) sin el apoyo de herramientas o scripts. Pero con las pruebas automatizadas, los casos de prueba se ejecutan con la ayuda de herramientas, scripts y software.

 

Isaac Martínez Pérez 09/09/2022

EVALUACION Y MEJORA DSM-402   M. en D. David Hernández Ortega

Ventajas de las pruebas manuales • •

  Permite obtener rápidamente una respuesta visual precisa.   Es menos costoso porque no es necesario invertir en herramientas y procesos de automatización.





  La intuición y el juicio son factores clave en algunos tipos de pruebas y brindan los humanos mejores resultados.   Cuando se prueba un pequeño cambio, no tiene sentido pasar a la automatización. Su equipo tendría que codificar la prueba automatizada primero, y eso podría llevar mucho tiempo. Probarlo manualmente será mucho más rápido.

Contras de las pruebas manuales •



  Dado que este tipo de prueba se basa en humanos, también es propenso a los errores.   El proceso de prueba manual no se puede registrar, por lo que es imposible reutilizar ninguna prueba.

El principal beneficio de las pruebas automatizadas es acelerar el proceso de ejecución de la prueba. Las pruebas automatizadas se basan en pruebas predefinidas que se ejecutan automáticamente y comparan los resultados esperados con los resultados reales. Así es como ayudan a los Testers a determinar si la aplicación funciona como se esperaba o no. Ventajas de las pruebas automatizadas •

• •



• •



  Las pruebas automatizadas ayudan a los equipos a encontrar más errores en comparación con los tester manuales.   El proceso es más rápido y eficiente.   Se pueden registrar pruebas automatizadas. Esto significa que puede reutilizar y ejecutar el mismo tipo de pruebas más adelante.   Las pruebas automatizadas aumentan la productividad del desarrollo al proporcionar resultados rápidos y precisos.   Es compatible con muchas aplicaciones diferentes.   La cobertura de prueba se puede aumentar fácilmente porque las herramientas de prueba se pueden ampliar para cubrir cada unidad.   Contras de las pruebas automatizadas

 

Isaac Martínez Pérez 09/09/2022

EVALUACION Y MEJORA DSM-402   M. en D. David Hernández Ortega

Contras de las pruebas automatizadas. Dado que no hay ningún ser humano involucrado en este tipo de pruebas, puede ser difícil obtener información sobre el aspecto visual de las aplicaciones, como tamaños, contraste, botones o colores. Las herramientas de automatización tienden a ser bastante caras y pueden aumentar el costo de un proyecto de desarrollo. Las pruebas de automatización están lejos de ser infalibles. Cada herramienta de automatización viene con sus limitaciones que reducen el alcance de la automatización. El mantenimiento de las pruebas puede ser bastante costoso y la depuración de un script de prueba suele llevar mucho tiempo.

4. ¿Qué tipo de pruebas de software encontramos? encontramos? Pruebas unitarias Las pruebas unitarias son de muy bajo nivel y se realizan cerca de la fuente de la aplicación. Consisten en probar métodos funciones las clases, componentes o módulos que usa tu ysoftware. Enindividuales general, lasde pruebas unitarias son bastante baratas de automatizar y se pueden ejecutar rápidamente mediante un servidor de integración continua. Pruebas de integración Las pruebas de integración verifican que los distintos módulos o servicios utilizados por tu aplicación funcionan bien en conjunto. Por ejemplo, se puede probar la interacción con la base de datos o asegurarse de que los microservicios funcionan bien en conjunto y según lo esperado. Estos tipos de pruebas son más costosos de ejecutar, ya que requieren que varias partes de la aplicación estén en marcha. Pruebas funcionales Las pruebas funcionales se centran en los requisitos empresariales de una aplicación. Solo verifican el resultado de una acción y no comprueban los estados intermedios del sistema al realizar dicha acción.

Pruebas integrales Las pruebas integrales replican el comportamiento de un usuario con el software en un entorno de aplicación completo. Además, verifican que diversos flujos de usuario funcionen según lo previsto, y pueden ser tan sencillos como cargar una página web o iniciar sesión, o mucho más complejos, como la verificación de notificaciones de correo electrónico, pagos en línea, etc.

 

Isaac Martínez Pérez 09/09/2022

EVALUACION Y MEJORA DSM-402   M. en D. David Hernández Ortega

Pruebas de aceptación Las pruebas de aceptación son pruebas formales que verifican si un sistema satisface los requisitos empresariales. Requieren que se esté ejecutando toda la aplicación durante las pruebas y se centran en replicar las conductas de los usuarios. Sin embargo, también pueden ir más allá y medir el rendimiento del sistema y rechazar cambios si no se han cumplido determinados objetivos. Pruebas de rendimiento Las pruebas de rendimiento evalúan el rendimiento de un sistema con una carga de trabajo determinada. Ayudan a medir la fiabilidad, la velocidad, la escalabilidad y la capacidad de respuesta de una aplicación. Por ejemplo, una prueba de rendimiento puede analizar los tiempos de respuesta al ejecutar un gran número de solicitudes, o cómo se comporta el sistema con una cantidad significativa de datos. Pruebas de humo Las pruebas de humo son pruebas básicas que sirven para comprobar el funcionamiento básico de la aplicación. Están concebidas para ejecutarse rápidamente, y su objetivo es ofrecerte la seguridad de que las principales funciones de tu sistema funcionan según lo previsto.

5.

Pruebas unitarias vs pruebas de integración. 

Prueba unitaria: prueba un único método de una clase. El alcance es muy reducido y está perfectamente acotado. Cualquier dependencia del módulo bajo prueba debe ser sustituida por un mock, o un stub. Prueba de integración: prueba la interacción entre dos o más elementos, que pueden ser clases, módulos, paquetes, subsistemas, etc… incluso la interacción del sistema con el entorno de producción. Ventajas y desventajas Conociendo las ventajas y desventajas quizás podamos tener los datos suficientes para tomar la decisión de cuándo usarlas ya que hay distintas posiciones frente al tipo de test a utilizar. Velocidad de ejecución Definiendo velocidad por el tiempo que se tarda en ejecutar una prueba de este tipo, podemos afirmar sin realizar ninguna prueba empírica que lo Test de Integración deben ser más lentos de ejecutar que los Test Unitarios, ya que los

 

Isaac Martínez Pérez 09/09/2022

EVALUACION Y MEJORA DSM-402   M. en D. David Hernández Ortega

Test de Integración ejecutan más líneas de código que un Test Unitario que se dedica solo a un método. ¿Cuál es la diferencia de tiempos? Esto depende tanto del código como del framework utilizado para las pruebas y mocks ya que un framework con objetos mocks muy lentos podrían penalizar los tiempos de ejecución de los Test Unitarios e igualar estos tiempos. Velocidad de implementación Los Test Unitarios consisten en las pruebas de métodos específicos y atañe sólo al código encerrado dentro de dicho método. Cada acceso al “exterior” es simulado mediante un mock. En los Test de Integración evitamos, en la mayoría de las ocasiones, tener que crear mocks. La complejidad radica en crear las condiciones iniciales (datos iniciales en la BBDD u otros sistemas) para ejecutar el test, que como apunta  Adam Kolawa son fundamentales fundament ales para que los Test T est de Integración sean realmente válidos.

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF