Diseño de pruebas de software (software testing)
4.1 (237 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,236 students enrolled

Diseño de pruebas de software (software testing)

Diseño y técnicas de pruebas de software aplicables con ejemplos y código (software testing, quality assurance)
4.1 (237 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
1,236 students enrolled
Created by Christian Ramirez
Last updated 11/2018
Spanish
Spanish [Auto-generated]
Current price: $109.99 Original price: $169.99 Discount: 35% off
13 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 6.5 hours on-demand video
  • 12 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Adquirir habilidades para realizar mejores pruebas de software
  • Conocer técnicas que estan en el estado del arte del testing
  • Aprender técnicas de diseño de pruebas que preguntan en los examenes de certificación ISTQB
  • A poner en práctica los conocimientos adquiridos con multiples ejemplos
Course content
Expand all 22 lectures 06:32:55
+ Introducción
1 lecture 21:26

Una de las primeras cosas que se debe hacer antes de iniciar con el estudio de cualquier disciplina es conocer cual es su significado. En esta primer clase, hablaremos un poco de la definición de pruebas de software o software testing.

Preview 21:26
+ Técnicas tradicionales de diseño de pruebas
10 lectures 02:12:26

Existen técnicas de diseño de pruebas que son sencillas pero muy útiles, ese  es el caso de las clases o particiones equivalentes, que por su sencillez muchas veces hasta nos  parecen intuitivas. Lo valioso de estas técnicas es que permite generar  la habilidad en el tester de sensibilizarse respecto a los datos de  entrada y su relación con la respuesta o comportamiento del software.

Preview 14:10

Como una consecuencia natural de las clases equivalentes surgen los valores en la frontera, como veremos es el complemento idoneo de nuestra primera clase.

Análisis de valores en la frontera
05:23

La tabla de decisión, es una representación gráfica de una matriz de filas y columnas separadas en cuatro cuadrantes que indican condiciones y  acciones. Las reglas de decisiones, incluidas en una tabla de decisión establecen el procedimiento a seguir cuando existen ciertas condiciones.  Se utiliza la tabla de decisión cuando existen muchas combinaciones.

Las tablas de decisión (TD) son una técnica de aplicación en el análisis y diseño de sistemas y procedimientos, en su documentación y también como un medio de comunicación y un instrumento de programación.

Tablas de decisión
08:02

En este ejercicio veremos como obtener una lógica compleja y expresarla mediante tablas de decisión, de igual manera veremos como reducirlas.

Ejercicio Tablas de decisión
11:16

Las pruebas basadas en riesgo(risk based testing) implican la comprensión de los riesgos asociados al lanzamiento de un producto sin realizar  pruebas exhaustivas en él. Existen características de una aplicación que son más susceptibles de ser utilizados por los usuarios finales en comparación con otras características que se pueden usar en raras ocasiones. Por ejemplo, en una aplicación de banca el modulo de apertura de cuentas es probable que se utilice con mucha más frecuencia en comparación con otros módulos. Esta información se utiliza en RBT con el fin de dar prioridad a la planificación de las pruebas y determinar qué se puede probar dentro de la limitada cantidad de tiempo / recursos disponibles para las pruebas.

Pruebas basadas en riesgos
14:11

El Pairwise Testing es una técnica básica basada en un paper de Telcordia para obtener las situaciones de prueba requeridas para llegar a una cierta cobertura. El objetivo del Pairwise Testing es probar todas las posibles combinaciones de dos factores. Esto redunda en una gran reducción en el número de casos de prueba, obteniéndose aún así buenos resultados en la detección de defectos.

Esta técnica se basa en el hecho de que la mayor parte de los errores se producen como consecuencia de un factor concreto o de la combinación de dos factores. Debido a esto, en lugar de probar todas las posibles combinaciones de todos los factores, resulta muy efectivo probar cada combinación de dos factores.

Método de todos los pares - Pairwise testing
08:41

Ejercicios empleando la herramienta PICT.

PICT (Pairwise Independent Combinatorial Testing) es la herramienta de Microsoft que implementa la técnica Pairwise Testing para la generación automática de escenarios de prueba. PICT genera un reducido conjunto de escenarios de prueba para obtener una adecuada cobertura de pruebas. Se caracteriza por su rapidez en la generación de pruebas y por su facilidad de uso.

Ejercicios Pairwise
16:49

Un diagrama de transición de estados muestra el comportamiento dependiente del tiempo de un sistema de información. Representa los estados que puede tomar un componente o un sistema y muestra los eventos que implican el cambio de un estado a otro.

Esta técnica nos ayuda a entender el manejo que puede hacer un software de los diferentes estados de un proceso finito.

Diagramas de transición de estado
11:06
Ejercicio - Diagramas de transicion de estado
11:35

Las cadenas de Markov son artefactos matemáticos que nos ayudan a predecir el estado siguiente considerando el pasado inmediato.

Pruebas basadas en cadenas de markov
31:13
+ Automatización de pruebas
7 lectures 02:25:49

La automatización en pruebas de software va más alla de esa ideal mal formada por algunos vendedores de herramientas, donde nos quieren hacer pensar que automatizar significa grabar y repetir lo mismo que hacemos de forma manual.

El concepto de automatizacion va enfocado en usar herramientas para facilitar el proceso de pruebas, validación y verificación del software y es tan amplio que puede ser desde un simple script que procese texto hasta la ejecución de cientos de miles de piezas de código en sistemas distribuidos.

Introducción a la automatización en las pruebas de software
08:53

Las pruebas basadas en propiedades(property based testing) son una aproximación de pruebas automáticas que se basa en el uso de propiedades o modelos para describir el comportamiento del sistema a probar. Esta especificación en forma de propiedades o modelos se usa para generar automáticamente casos de prueba (datos de entrada a funciones, secuencias de llamadas a operaciones u otras representaciones), y para evaluar dichos casos de prueba comprobando si la especificación, es decir, las propiedades o modelos definidos, se cumple en dicho sistema.

Pruebas basadas en propiedades (property based testing)
45:29

En este ejercicio emplearemos las pruebas basadas en propiedades para validar una funcionalidad de asignación de jornada de trabajo basado en la edad.

Ejercicio de codificacion - Pruebas basadas en propiedades, parte 1
21:02

En este ejercicio plantearemos la estrategia de pruebas necesaria para evaluar un truco aritmético que trata de ayudar en la comprobación del resultados de operaciones de adición con sumandos de muchos digitos.

Ejercicio de codificacion - Pruebas basadas en propiedades, parte 2
16:49
Fuzzy testing
10:32
Ejercicio de codificación - Fuzzy testing
13:14


Las pruebas de volumen hacen referencia a grandes cantidades de datos para determinar los límites en que se causa que el software falle. También identifican la carga máxima o volumen que el sistema puede manejar en un período dado. Por ejemplo, si el sistema está procesando un conjunto de registros de Base de datos para generar un reporte, una prueba de volumen podría usar una base de datos de prueba grande y verificar que el sistema se comporta normalmente y produce el reporte correctamente.

El objetivo de esta prueba es someter al sistema a grandes volúmenes de datos para determinar si el mismo puede manejar el volumen de datos especificado en sus requisitos.

Preview 29:50
+ Pruebas en producción
1 lecture 36:31

Las pruebas canario o canary testing son un tipo especial de pruebas controladas que ejecutamos en los ambientes productivos. Requiere de hacer algunos cambios que apoyados por las areas de operaciones son sencillos, esta técnica es idonea en proyectos o productos basados en ambientes en la nube o moviles, aunque tampoco se descarta para aplicaciones on-premise.

Canary testing
36:31
+ Introducción al testing sobre machine learning
3 lectures 56:43

Hoy en día es cada vez más común el software que esta soportado por módelos de aprendizaje de máquina o aprendizaje profundo, por lo que es indispensable que los testers tengamos un set de herramientas que nos ayuden a probar este nuevo tipo de software, en esta clase veremos algunas lecciones aprendidas de probar este tipo de software.

Cómo probamos software basado en modelos de aprendizaje de maquina?
29:51

En el campo de la inteligencia artificial una matriz de confusión es una herramienta que permite la visualización del desempeño de un algoritmo que se emplea en aprendizaje supervisado. Cada columna de la matriz representa el número de predicciones de cada clase, mientras que cada fila representa a las instancias en la clase real. Uno de los beneficios de las matrices de confusión es que facilitan ver si el sistema está confundiendo dos clases.

Matriz de confusion
13:37
Requirements
  • Nociones básicas de programación en cualquier lenguaje
  • Nociones básicas de pruebas de software
  • Conocimientos básicos de unix/linux/osx
  • Conocimientos básicos de python
  • Conocimientos basicos de bash/sh
Description

El testing de software es una actividad que va mas alla de una simple verificación o validación; es ir mas alla de lo evidente, es pensar lo inimaginable y ayudar a que los productos esten preparados para eso.

En este curso aprenderas técnicas de diseño de pruebas de software, que van desde las técnicas mas sencillas e intuitivas hasta las que se encuentran en el estado del arte del testing de software.

El objetivo principal del curso es ayudarte a adquirir las habilidades necesarias para que agregues valor a tus proyectos o productos de software.

Realizaremos ejercicios para reforzar los aprendido y de igual manera practicaremos con ejercicios con codigo en vivo.

Adicionalmente debe ser un refuerzo para preparar tu examen de certificación ISTQB.


Who this course is for:
  • Este curso es ideal para testers que estan empezando
  • Testers con mediana experiencia que quieran reafirmar conocimientos
  • Interesados en pruebas de software o software testing
  • Testers que estén preparandose para el examen ISTQB