Documentos de Académico
Documentos de Profesional
Documentos de Cultura
2- Pruebas Exploratorias
Al trabajar dentro de un equipo ágil, las principales ventajas son las siguientes:
Cuando se trabaja en un equipo ágil, es fácil estar al tanto de los cambios o mejoras
que se implementarán en el equipo y así poder adaptar internamente las pruebas.
Las notas son de suma importancia para el tester, pues ahí registra todo lo que se
considera importante durante la exploración.
Riesgos
Defectos
Inconvenientes
Después de exponer los puntos claves para documentar una sesión, a continuación se
muestra el registro de una sesión empleando el enfoque de testing exploratorio ágil.
Notas de Pruebas
Las notas son de suma importancia para el tester, pues ahí registra todo lo que se
Riesgos
Defectos
Inconvenientes
Después de exponer los puntos claves para documentar una sesión, a continuación se
Prueba de funcionalidad
Pruebas de UI
Componente:
Botones de radio: Cuando solo es necesario seleccionar una opción, los botones de
opción son útiles
ad
Algunos componentes avanzados
1. Acordeón: Se pueden apilar varios elementos verticalmente con este
componente. Cada elemento se puede expandir para ver su contenido. También se
puede ampliar más de un elemento.
2. Pan rallado: Este es un componente muy útil que ayuda en la navegación del sitio
web. El usuario puede identificar su ubicación actual dentro del sitio web desde este
componente.
ad
ad
Estado sin llenar:
ad
En el estado de enfoque:
Estado normal:
ad
Estado predeterminado:
Estado de desplazamiento:
En vuelo estacionario:
ad
Estado discapacitado:
Estado habilitado
Estado discapacitado
ad
Estado enmascarado:
Los datos sensibles como la contraseña se pueden ocultar con este componente.
1. Familia tipográfica
2. Tamaño de fuente
3. Color
4. Espaciado de letras
5. Altura de la línea
6. Validación de antecedentes
7. Relleno / Opacidad
8. Medidas de los componentes como largo, ancho y ancho.
9. Ubicación / espacio entre los componentes en una pantalla
ad
Las características de usabilidad anteriores se pueden probar en el código o
utilizando el elemento inspeccionar en la aplicación. Otra forma más sencilla es
utilizar complementos. Los complementos pueden variar según el navegador en el
que se deba probar la aplicación.
ad
Ventajas de los complementos:
● Ahorra tiempo
● Fácil de usar
● Es rentable
Limitación de complementos:
● Selenio
● Pruebas funcionales unificadas de HP
● Pepino
● IU codificada
● Realmente
¡Una lista detallada de herramientas GUI está disponible en
softwaretestinghelp.com! Por favor haz click aquí .
3) Verifique que el botón 'guardar' permanezca inactivo hasta que se ingresen todos
los campos obligatorios
1. Buttons (Botones)
4. Accordion (Acordión)
5. Input Box o Input Fields o Text Box o Text Fields (campos con entrada texto editables)
29. Stepper (lo mismo que Progress Bar pero con pasos predefinidos)
De esta forma, adentrados en qué es una API, hablaremos de una parte de ellas: los
Web Services o Servicios Web.
Pongamos un ejemplo simple, una persona que habla solamente español que trata
de comunicarse con otra persona que solo habla inglés, la comunicación va a ser
imposible, en este caso lo mejor es tener un lenguaje intermedio, un lenguaje que
ambas partes puedan entender.
En los Web Services, el lenguaje intermedio sería a través de XML con el protocolo
SOAP. Otra forma de comunicación posible es a través de la arquitectura REST,
aplicando el lenguaje XML o JSON. En este contexto, ¿de qué va a depender si la
comunicación se hará a través de SOAP o REST? La respuesta es que dependerá
de cómo esté desarrollado el Web Service.
SOAP y REST
El hecho de que la arquitectura REST utilicé lenguaje JSON la hace más reducida y
fácil de utilizar. Una gran ventaja de REST es que tiene operaciones bien definidas
como son GET, POST, PUT, PATH y DELETE, siendo estas las más comunes y que
detallamos a continuación.
Métodos HTTP
Ya vimos bastante teoría sobre las API y los Web Services, ahora entra en juego el
rol del tester para explicar en detalle en qué consiste el tema central de este post:
API test.
De acuerdo a la Pirámide de Automatización, API Testing es un tipo de prueba de
software que está dentro de los tipos de pruebas de integración.
Lo que hace API Testing es validar y verificar que las funcionalidades responden
correctamente, por lo que se considera un tipo de prueba a bajo nivel, es decir, que
no interactúa directamente con la interfaz de usuario.
En el caso de que estemos probando una API REST, cuando interactuamos con un
Web Services por HTTP, ¿cómo sabemos que los resultados son correctos?
Básicamente, por las respuestas de los códigos de estado cuando consultan
información a la API.
El flujo consiste en enviar los datos de entrada, la API REST la procesa y se obtiene
como resultado la salida con los siguientes códigos de respuesta:
Mantenimiento sencillo
Al ser más sencillo que las pruebas de interfaz de usuario, lo ideal es tener pruebas
de API robustas para que las pruebas de interfaz de usuario sean solamente
preventivas.
Sabemos que las pruebas de interfaz de usuario son cambiantes y hay que
re-escribirlas y mantenerlas constantemente. En cambio, con las pruebas de API es
poco frecuente que se produzcan cambios y en caos que haya algún cambio es más
fácil poder controlarlo.
Reducción de errores
Como testers, al probar una API se necesitará mucho apoyo de parte del equipo de
desarrollo, y por consiguiente, podrá conocer la parte más técnica del proyecto.
En este tipo de pruebas vamos a validar las funcionalidades de la API, por ejemplo
al contar con una API REST, primero se validan los códigos de estado para saber
que la API se encuentra disponible. También es posible validar las operaciones
dependiendo de los casos de prueba, aunque no siempre es recomendable confiar
en las pruebas de interfaz de usuario, por lo que realizar uno que otro flujo a nivel de
API permite validar el correcto funcionamiento.
Pruebas de Seguridad
Para estas pruebas es posible probar la autenticación, si utiliza algún tipo de key o
token, verificar que no cualquiera pueda utilizar la API, verificar si hay datos
sensibles encriptados, entre otras aspectos. Lo anterior es lo más básico que se
debe verificar en cuanto a seguridad.
Pruebas de Rendimiento
Pruebas de Integración
Para validar la integración, podemos hacerlo verificando la integración con otras API
integradas en un mismo proyecto.
Documentación
Cuando hablamos de herramientas para probar, siempre vienen a la cabeza las más
populares: SoapUI y Postman.
SoapUI
Sin embargo, no es una herramienta muy intuitiva, en especial para aquellos que
están iniciándose en el mundo del API testing, por lo que va a ser necesario requerir
algún curso o tutorial guiado sobre cómo utilizarla.
Postman
Por otro lado tenemos Postman, una herramienta que principalmente se utiliza
para probar API de tipo REST. Postman es una herramienta muy completa que
además de probar, documentar y ayudar incluso en el proceso de desarrollo de
APIs, sirve para automatizar: se pueden agregar scripts de prueba en lenguaje
JavaScript.
SQL por si mismo nos va a permitir acceder a la base de datos y manipular datos,
pero para aprovechar la base de datos, necesitamos otras herramientas que
conectarán con nuestra base de datos, consultarán, mostrarán, modificarán o
borrarán datos.
Los datos se almacenan en objetos llamados Tablas. Una tabla es una colección de
entradas de datos relacionados y consiste en Columnas. Las bases de datos
suelen contener una o varias Tablas y cada Tabla se identifica por un nombre (por
ejemplo,
Tabla Clientes
La mayor parte de las acciones que debe llevar a cabo en una base de datos se
hacen con sentencias SQL.
SQL SELECT
La sentencia SQL SELECT se usa para seleccionar datos de una base de datos. El
resultado es almacenado en una tabla llamada Result-Set. La sintaxis es la
siguiente:
SELECT nombre_columna
FROM nombre_tabla
Como alternativa, podemos cambiar nombre_columna por un asterisco (*) para que
la consulta nos devuelva todas las columnas.
Tabla Clientes
Y obtendríamos:
La sentencia SQL SELECT DISTINCT se usa para seleccionar sólo los valores
individuales de una base de datos que puede contener valores duplicados. La
sintaxis es la siguiente:
FROM nombre_tabla
Tabla Clientes
FROM Clientes
SQL WHERE
La sentencia SQL WHERE se usa para seleccionar sólo las filas de una base de
datos que tienen un criterio determinado. La sintaxis es la siguiente:
SELECT nombre_columna
FROM nombre_tabla
● = Igual
● <> No Igual (En algunas versiones de SQL se puede encontrar como
!=)
● < Menor que
● > Mayor que
● <= Menor que o igual
● >= Mayor que o igual
● BETWEEN Entre 2 valores
● LIKE Busca un determinado patrón
● IN Especifica múltiples posibles valores para una columna
SELECT *
FROM Clientes
SELECT *
FROM Customers WHERE City = ‘London’
Si quisiéramos seleccionar sólo la gente cuyos nombres comienzan con la letra H,
usaríamos la siguiente cláusula y operador WHERE como parte de la sentencia
Select
SELECT *
FROM Clientes
6- Prueba E2E
¿Qué son las pruebas de extremo a extremo?
ad
Se realiza de principio a fin en escenarios del mundo real, como la comunicación de
la aplicación con hardware, red, base de datos y otras aplicaciones.
La razón principal para llevar a cabo esta prueba es determinar varias dependencias
de una aplicación, así como garantizar que se comunique información precisa entre
varios componentes del sistema. Por lo general, se realiza después de completar las
pruebas funcionales y del sistema de cualquier aplicación.
ad
La verificación de extremo a extremo de una cuenta de Gmail incluirá los
siguientes pasos:
# 1) TestCraft
Recomendamos utilizar una herramienta de automatización de pruebas de un
extremo a otro como TestCraft.
ad
TestCraft es una plataforma de automatización de pruebas de selenio sin código. Su
revolucionaria tecnología de inteligencia artificial y el modelado visual único
permiten una creación y ejecución de pruebas más rápidas al tiempo que eliminan la
sobrecarga de mantenimiento de las pruebas.
Ads by optAd360
Toma unejemplode la industria bancaria. Pocos de nosotros debimos haberlo
probado Cepo. Cuando el titular de una cuenta Demat compra cualquier acción, se
le debe entregar al corredor un porcentaje particular de una cantidad. Cuando el
accionista vende esa acción, ya sea que obtenga ganancias o pérdidas, un
porcentaje particular de la cantidad se le da nuevamente al corredor. Todas estas
transacciones se reflejan y gestionan en cuentas. Todo el proceso involucra la
Gestión de Riesgos.
ad
# 2) Prueba vertical:
‘ Prueba de caja blanca ’ así como también ‘ Prueba de caja negra ’ ambos están
asociados con esta prueba. O, en otras palabras, podemos decir que esta es la
combinación de beneficios tanto de las pruebas de caja blanca como de las pruebas
de caja negra. Dependiendo del tipo de software que se esté desarrollando, en
diferentes niveles, tanto las técnicas de prueba, es decir, las pruebas de caja blanca
como las de caja negra, se utilizan cuando sea necesario. Básicamente, la prueba
de extremo a extremo funciona tan bien como el enfoque arquitectónico de cualquier
software o programa para validar las funciones del sistema.
ad
Los probadores como la verificación de extremo a extremo porque la escritura de
casos de prueba del usuario ’ s perspectiva y en un escenario del mundo real,
puede evitar los dos errores comunes. ‘ falta un error ’ y ‘ escribir casos de prueba
que no verifican escenarios del mundo real ’ . Esto proporciona a los probadores
una inmensa sensación de logro.
● Los casos de prueba deben diseñarse desde la perspectiva del usuario final.
● Debería centrarse en probar algunas características existentes del sistema.
● Se deben considerar múltiples escenarios para crear múltiples casos de
prueba.
● Deben crearse diferentes conjuntos de casos de prueba para centrarse en
múltiples escenarios del sistema.
A medida que ejecutamos cualquier caso de prueba, es similar el caso con esta
prueba. Si los casos de prueba son 'Pasados', es decir, obtenemos el resultado
esperado, se dice que el sistema ha superado con éxito la prueba de extremo a
extremo. Del mismo modo, si el sistema no produce el resultado deseado, entonces
se requiere una nueva prueba de un caso de prueba teniendo en cuenta las áreas
de falla.
ad
¿Por qué realizamos las pruebas E2E?
En el escenario actual, como también se muestra en el diagrama anterior, un
sistema de software moderno comprende su interconexión con múltiples
subsistemas. Esto ha hecho que los sistemas de software modernos sean muy
complicados.
Estos subsistemas de los que estamos hablando pueden estar dentro de la misma
organización o en muchos casos también pueden ser de diferentes organizaciones.
Además, estos subsistemas pueden ser algo similares o diferentes al sistema
actual. Como resultado, si hay alguna falla o falla en cualquier subsistema, puede
afectar negativamente a todo el sistema de software y provocar su colapso.
Es un tipo de prueba que se realiza para confirmar que los defectos que se habían
encontrado y reportado anteriormente ya no estén presentes, en un caso más
amplio se podría decir, que los casos de pruebas que habían fallado antes, puedan
pasar sin problemas luego de que una solución haya sido aplicada.
Pero veamos con mayor detalle una comparación entre estos dos tipos de prueba.
8- Regresión Testing
Las pruebas de regresión (en raras ocasiones, las pruebas de no regresión [1] ) consisten
en volver a ejecutar pruebas funcionales y no funcionales para garantizar que el software
desarrollado y probado previamente siga funcionando después de un cambio. [2] Si no, eso
se llamaría una regresión .
Técnicas [ editar ]
Las diversas técnicas de prueba de regresión son:
Híbrido [ editar ]
Esta técnica es un híbrido de selección de pruebas de regresión y priorización de casos de
[9]
prueba.
Copy to Clipboard
¿CUÁNDO HACER LA PRUEBA DE HUMO?
Prueba de humo debe realizarse en la fase inicial del ciclo de vida de prueba, ya
que verifica muy pronto la productividad de la construcción y asegura si los
requisitos elementales se pueden cumplir o no. Siempre qupe se implemente una
compilación nueva o se realice algún cambio en la compilación, se deben realizar
pruebas de humo.
El desarrollo de software siempre se divide en diferentes sprints para que se cubran
todos los rincones por lo que es importante que cada sprint tenga un código estable
por lo que la prueba de humo toma muy poco tiempo para cumplir con esta
necesidad antes de la prueba de regresión y, de esta manera, también ahorramos
nuestro precioso tiempo también.
El objetivo de las pruebas de humo es probar las funcionalidades importantes
nooode un sistema y no ejecutar los escenarios de prueba exhaustivos.
También, lea: 7 señales de que su empresa necesita actualizarse a un nuevo CRM
Taquí hay tres tipos de pruebas de humo, a saber: - Método manual, método de
automatización y método híbrido.
El método manual es el método de prueba de humo más comúnmente utilizado bajo
el cual los casos de prueba de humo se prueban manualmente para la construcción
nueva y las características recién agregadas. Aquí, los scripts deben modificarse en
función de cada requisito.
Las pruebas de humo de automatización también se aplican cuando necesitamos
usar el lote de casos de prueba automatizados y la compilación se puede probar de
inmediato cada vez que se encuentra un problema nuevo.
Las pruebas de humo híbridas, como su nombre indica, son la fusión de ambas
metodologías mencionadas y su objetivo es mejorar el rendimiento general de las
pruebas de humo.
10- aplicaciones para móviles
Las aplicaciones móviles no son tan sencillas de probar como las aplicaciones web
de escritorio; se dividen en tres tipos: Nativas, Híbridas y Web.
Aplicaciones Nativas
Android utiliza lenguajes como Java o Kotlin y Android Studio, o Eclipse como IDE;
por su parte, Apple utiliza lenguajes como Objective-C o Swift y XCode como IDE.
Aplicaciones Web
Aplicaciones Híbridas
Una aplicación híbrida combina las características de las aplicaciones web y nativas.
Usualmente es desarrollada como una aplicación móvil web utilizando JavaScript,
CSS y HTML5. Al ser empaquetadas en un entorno nativo, se puede utilizar el
mismo código para diferentes plataformas. Este tipo de aplicaciones se deben
descargar al igual que las aplicaciones nativas.
Algunos ejemplos de aplicaciones híbridas son Facebook, Instagram, Uber y Slack.
¿En qué versiones del Sistema Operativo funcionará la App Móvil bajo
prueba?
Se debe tener claro que versiones de iOS y Android se deben cubrir. Esta
información deberá ser entregada por el Cliente o por el Equipo de Desarrollo.
Independiente del tipo de aplicación móvil que se probará, se debe definir un set de
dispositivos móviles físicos o reales de pruebas. Se recomienda siempre contar con
set dispositivos de pruebas físicos o reales de cada una de las plataformas
existentes, debido a que la mayoría de las pruebas se realizarán en los dispositivos
definidos. Los dispositivos móviles físicos o reales permitirán probar principalmente
la experiencia de usuario.
Debido a que tener un set de dispositivos solo físicos o reales puede ser muy
costoso, se recomienda ampliar la cobertura de dispositivos con Simuladores y
Emuladores.
Un Simulador como el que nos proporciona Xcode, simula o imita dispositivos como
iPhone o iPad. En cambio un Emulador – haciendo referencia a lo que nos
proporciona Android Studio – actúa como el dispositivo configurado emulando su
Sistema Operativo y su Hardware.
Otra alternativa son herramientas de Cloud Testing, aunque son de pago. Algunas
de las más conocidas son Sauce Labs y Browser Stack. Al ser herramientas que se
encuentran en la nube, nos permiten testear Apps a través del servicio Real Device
Cloud, emuladores/simuladores móviles y pruebas de aplicaciones en vivo.
https://www.browserstack.com/list-of-browsers-and-platforms/live
https://saucelabs.com/platform/supported-browsers-devices
En los siguientes sitios web se pueden obtener las versiones para probar apps
nativas e híbridas:
Testflight
Testflight está disponible solo para la plataforma Apple. Esta aplicación se descarga
de App Store y se instala en el dispositivo de prueba. A través de una invitación se
puede descargar la versión a probar.
Visual Studio App Center es una plataforma donde se pueden cargar y descargar
aplicaciones. Sus herramientas están diseñadas para aplicaciones Android e iOS
construidas en Swift, Objective-C, Java, React Native, UWP y Xamarin.
La APK de Android no tiene limitación en donde puede ser publicada, por lo que se
puede utilizar algún servicio de almacenamiento en la nube como Google drive, One
drive o Dropbox.
Los diseñadores pueden utilizar alguna herramienta para publicar el diseño de cada
pantalla de la aplicación móvil, tales como Zeplin, Figma, Adobe XD o InVision.
Cada una de estas herramientas ofrece un sin fin de funcionalidades.
Funcionalidad
En este tipo de pruebas nos enfocamos principalmente, ya que aseguran que la
aplicación móvil funcione según lo indicado en los requerimientos y/o historias de
usuario. Algunas de las funcionalidades a probar son:
Registro/Login
Usabilidad
Este tipo de pruebas se centra en garantizar que el usuario final tenga una buena
experiencia al usar la aplicación. Las pruebas de usabilidad aseguran que se
construya una aplicación móvil intuitiva y fácil de usar.
Conectividad
Las aplicaciones web no funcionan sin conexión y la misma regla se aplica a las
aplicaciones web móviles. En este caso, se debe probar si funcionan bien frente
diferentes velocidades de conexión a Internet.
Rendimiento
Apptim
Interrupciones
Este tipo de pruebas asegura que la aplicación móvil funcione como se espera
cuando se encuentre ante eventos abruptos e inesperados. Existen muchas
posibilidades de que un usuario reciba una llamada o una notificación push mientras
usa la aplicación móvil.
● ¿Qué ocurre al recibir una llamada o un SMS? ¿Qué ocurre al realizar una
llamada o enviar un SMS? ¿La aplicación móvil continúa funcionando o se
rompe?
● Qué sucede después que el usuario apaga el dispositivo o que el dispositivo
se apaga inesperadamente, ¿la aplicación móvil abre correctamente o se
rompe?
● ¿Cómo se comporta la app al recibir una alerta o notificación?
● ¿Qué pasa con la aplicación al interactuar con otras del dispositivo?
Compatibilidad