Tipos y Niveles de Pruebas de Software.
Summary
TLDRThis video script by Karim Ramos delves into the diverse types and levels of software testing. It explains that there's no universal consensus on the official list of test types, referencing the International Software Testing Qualification (ISTQB) and ISO 25010 standards. The script outlines eight quality characteristics from ISO 25010, such as functional suitability, performance efficiency, compatibility, usability, reliability, security, maintainability, and portability, each with corresponding tests. It also covers non-functional tests, structural tests, and tests associated with changes like confirmation and regression tests. The video further discusses testing levels: component, integration, system, and acceptance tests, highlighting the application of various test types at each level. Additionally, it touches on smoke, sanity, and exploratory testing, emphasizing their roles in agile development and quality assessment.
Takeaways
- 😀 The video discusses various types and levels of software testing.
- 🔍 There is no general consensus on the official list of testing types; different standards like ISTQB and ISO 25010 define their own categories.
- 📚 ISO 25010 defines eight quality characteristics from which testing types are derived.
- 🔧 Functional suitability tests check if a product meets declared and implicit needs.
- 🚀 Performance efficiency tests measure the system's performance relative to resource usage under specific conditions.
- 🔌 Compatibility tests ensure that multiple systems or components can coexist and exchange information in the same environment.
- 🎨 Usability tests assess how easy a product is to understand, learn, and attractive to the user.
- 🛡️ Reliability tests measure a system's ability to perform specific functions under certain conditions over a period.
- 🔒 Security tests ensure that information and data are protected from unauthorized access and modification.
- 🛠️ Maintainability tests check the ease and efficiency with which a software product can be modified for evolutionary, corrective, or future needs.
- 🔄 Portability tests determine how effectively and efficiently a system or component can be transferred from one environment to another.
- 🔄 The types of tests applied depend on business characteristics and organizational needs; not all tests are applicable to every project.
- 🌐 Examples given include the irrelevance of portability tests for web systems versus their importance for mobile applications.
- 📈 ISTQB defines functional and non-functional tests, with the latter referencing ISO 25010 quality characteristics.
- 🏗️ Non-functional tests include structural tests (formerly known as architectural tests), which examine the system's internal structure.
- 🔄 Regression tests ensure that fixing a defect does not inadvertently affect other functionalities.
- 🔬 Smoke tests are a subset of functional tests, executed to perform an initial quality assessment of the product.
- 🛂 Sanity tests also fall under functional testing, focusing on verifying a new feature or defect fix before full test execution.
- 🌐 Exploratory testing is a technique where test design, execution, and documentation occur simultaneously, often used in agile development projects.
Q & A
What is the main topic of the video?
-The main topic of the video is to explain the different types and levels of software testing.
Who is the speaker in the video?
-The speaker in the video is Karim Ramos.
What does the acronym 'ISTQB' stand for?
-ISTQB stands for International Software Testing Qualification Board.
According to the video, what is the ISO/IEC 25010 standard related to?
-The ISO/IEC 25010 standard is related to software engineering and describes a model for measuring software quality based on 8 quality characteristics.
What are the 8 quality characteristics defined by ISO/IEC 25010?
-The 8 quality characteristics are functionality, performance efficiency, compatibility, usability, reliability, security, maintainability, and portability.
What are functional tests?
-Functional tests are used to verify that the software product performs its intended functions as specified in the requirements.
What are non-functional tests?
-Non-functional tests measure how the software operates, focusing on attributes such as performance, security, and usability rather than the functionality of the software.
What is the difference between smoke testing and sanity testing?
-Smoke testing involves executing a minimal set of test cases to make an initial assessment of the product quality, focusing on basic functionalities. Sanity testing also executes a subset of test cases but is focused on verifying a new feature or a defect fix.
What are exploratory testing techniques?
-Exploratory testing is a technique where the test design, execution, and reporting are done simultaneously. It is widely used in agile development projects and helps in learning more about the component or system.
What are the levels of testing mentioned in the video?
-The levels of testing mentioned in the video are component testing, integration testing, system testing, and acceptance testing.
Why might a company choose not to perform portability testing on a web application?
-A company might choose not to perform portability testing on a web application because it is installed once on the server and users access it via the internet, making portability testing less relevant.
What is the purpose of acceptance testing?
-The purpose of acceptance testing is to ensure that the system meets the user requirements and is ready for deployment. It is usually conducted by the end-users or clients.
What are the alpha and beta tests in the context of software testing?
-Alpha and beta tests are types of acceptance testing done on versions of the system that are not complete, with the main goal of obtaining feedback on the functionalities implemented at that stage.
Outlines
😀 Introduction to Software Testing Types
This paragraph introduces the topic of software testing and the various types of tests that exist. The speaker, Karim Ramos, welcomes viewers to the channel and provides a brief overview of the content. He mentions that there is no universal consensus on the official list of test types but references the International Software Testing Qualification (ISTQB) and ISO 25010 as sources that define certain types of tests. The paragraph sets the stage for a deeper dive into the different levels and types of software testing.
🔍 Exploring ISO 25010 Quality Characteristics and Test Types
The speaker discusses the ISO 25010 standard, which outlines a model for measuring software product quality based on eight quality characteristics. Each characteristic corresponds to a type of testing. The characteristics include functional suitability, performance efficiency, compatibility, usability, reliability, security, maintainability, and portability. For each characteristic, the paragraph explains what it measures and how it relates to testing. For instance, functional suitability relates to functional tests that verify the software's features, while performance efficiency involves performance tests like load and stress testing.
📚 ISTQB and Additional Testing Types
This paragraph continues the discussion on software testing by referencing the ISTQB's program of study, which defines additional types of tests beyond the ISO 25010 characteristics. The ISTQB categorizes tests into functional and non-functional types, with the latter relating to the quality characteristics of ISO 25010. The paragraph also introduces 'black-box' tests, which are based on the system's internal structure, such as structural or architectural software tests. It concludes with tests associated with changes, including confirmation tests to verify defect fixes and regression tests to ensure that fixing one issue doesn't affect other functionalities.
🔄 Levels of Testing and Their Interactions
The speaker explains the levels of testing as defined by the ISTQB: component testing, integration testing, system testing, and acceptance testing. Each level is associated with different types of tests. For example, component testing can involve both functional and non-functional tests to verify individual components' functionality and performance. Integration testing focuses on interactions between components or systems, system testing assesses the system as a whole, and acceptance testing, often involving alpha and beta tests, is conducted by end-users to provide feedback on implemented functionalities. The paragraph emphasizes that the same level of testing can apply various types of tests.
🚀 Other Common Testing Types and Conclusion
The final paragraph addresses three additional types of tests frequently mentioned in the software testing field: smoke tests, sanity tests, and exploratory tests. Smoke tests are a minimal set of functional tests to evaluate initial product quality. Sanity tests also execute a subset of tests but focus on new features or defect fixes. Exploratory testing is a technique where test design, execution, and documentation occur simultaneously and is widely used in agile development projects. The speaker invites viewers to share their experiences with different types of tests and concludes by thanking them for watching and encouraging engagement with the video.
Mindmap
Keywords
💡Functional Testing
💡Performance Testing
💡Compatibility Testing
💡Usability Testing
💡Reliability Testing
💡Security Testing
💡Maintainability Testing
💡Portability Testing
💡Non-functional Testing
💡Regression Testing
💡Smoke Testing
💡Sanity Testing
💡Exploratory Testing
Highlights
Introduction to different types and levels of software testing.
No general consensus on the official list of test types.
International Software Testing Qualification (ISTQB) defines types of tests in its basic level program.
ISO 25010 standard defines 8 quality characteristics and test types based on them.
Explanation of 'type' as a category to organize tests.
Example of categorizing people to understand software test categorization.
Functional suitability tests ensure the product meets declared and implicit needs.
Performance efficiency tests measure the system's performance relative to resource usage.
Compatibility tests verify the coexistence and information exchange between systems.
Usability tests focus on how easy the software is to understand, learn, and find attractive.
Reliability tests measure the system's ability to perform specific functions under certain conditions.
Security tests ensure information and data protection against unauthorized access.
Maintainability tests check the software's ability to be modified effectively and efficiently.
Portability tests determine how easily a system can be transferred to a different environment.
Different projects may require different types of tests based on business characteristics and needs.
Types of tests defined by STV include functional, non-functional, structural, and change-associated tests.
Levels of testing include component, integration, system, and acceptance tests.
Exploration of the application of various test types at different testing levels.
Smoke tests as a form of functional testing to make an initial assessment of product quality.
Sanity tests verify a new functionality or defect fix before full test execution.
Exploratory testing as a technique used in agile development for learning and creating test cases.
Invitation for viewers to share their experiences and types of tests used in their projects.
Transcripts
seguro que habrás escuchado por ahí
hablar sobre las pruebas funcionales las
pruebas de rendimiento las pruebas de
seguridad y muchos otros tipos de
pruebas y te habrás quedado pensando
pero cuántos tipos de pruebas hay y
cuáles son estos tipos de pruebas pues
en este vídeo hablaremos sobre los
diferentes tipos y niveles de pruebas
así que quédate conmigo que empezamos
hola amigos como estan espero que estén
muy bien para aquellos que son nuevos en
el canal mi nombre es karim es ramos y
aquí hablamos de todos los temas que
tengan que ver con el testing de
software así que si quieres estar al
tanto de cada nuevo vídeo suscríbete y
activa la campana de notificación
entonces antes de empezar quiero
explicar que no hay un consenso general
sobre cuál es la lista oficial de los
tipos de pruebas o sea no hay una lista
oficial por ejemplo el international
software testing qualification word el
iese tv define unos tipos de pruebas en
su programa de estudios del nivel básico
que lo vamos a ver en unos minutos y las
normas iso por ejemplo específicamente
la norma iso 25.010 define 8
características de calidad y a partir de
estas características los tipos de
pruebas para probar cada una de ellas
entonces que es un tipo de pruebas bueno
un tipo es como una categoría donde
organizamos las pruebas ahora pongamos
un ejemplo de nuestro mundo real de los
tipos o categorías para que podamos
entender un poco mejor porque puede ser
complicado cuando hablamos de tipos o de
tipificar algo digamos que queremos
saber los tipos de personas que hay
cuáles pueden ser los tipos de personas
bueno depende de cómo los querramos
tipificar o categorizar podemos por
ejemplo decir que las personas pueden
estar categorizadas en mujeres y hombres
pero también podemos tener la categoría
de edad entonces serían niños adultos y
ancianos
también podemos categorizar a las
personas según su personalidad y
podríamos dividirlos en
introvertidos y extrovertidos etcétera
este ejemplo se lo expongo para que vean
como una misma persona puede estar en
varias categorías a la vez y esto mismo
va a pasar con las pruebas de software
entonces vamos a comenzar hablando sobre
los tipos de pruebas según la norma iso
25 1010 en esta norma se describe un
modelo para medir la calidad de un
producto de software ellos proponen
medir la calidad tomando como base 8
características de calidad y a partir de
éstas los tipos de pruebas entonces
pasemos a ver cuáles son estas
características y los tipos de pruebas
número 1 adecuación funcional la
adecuación funcional es el grado en el
que un producto proporciona funciones
que satisfacen las necesidades
declaradas e implícitas aquí tenemos las
pruebas funcionales que van a probar el
que hace el producto o sea las
funcionalidades de un producto de
software como número 2 tenemos la
característica eficiencia del
rendimiento que se define como el
rendimiento relativo a la cantidad de
recursos utilizados bajo condiciones
específicas aquí vamos a tener las
pruebas de rendimiento que son a su vez
una sombrilla que recoge otros subtipos
de pruebas como son las pruebas de carga
las pruebas de estrés las pruebas de
capacidad entre otras la tercera
característica de calidad es la
compatibilidad
ésta es el grado en el que dos o más
sistemas o componentes pueden
intercambiar información y realizar sus
funciones cuando comparten el mismo
entorno de hardware o software o sea que
las pruebas de compatibilidad las
aplicamos cuando tenemos dos elementos o
más de dos elementos y queremos
verificar que éstos puedan coexistir en
un mismo entorno y que además puedan
intercambiar información entre ellos la
cuarta característica es otra categoría
que tiene subtipos y es la usabilidad
esta es definida como la medida en que
un producto de software puede ser
entendido aprendido
y resultar atractivo para el usuario de
aquí tenemos las pruebas de usabilidad y
como subtipos tenemos las pruebas de
experiencia de usuario y las pruebas de
accesibilidad la quinta característica
es la fiabilidad que es el grado en el
que un sistema o componente realiza
funciones específicas bajo unas
condiciones y durante un periodo de
tiempo determinado dentro de este tipo
de pruebas se mide por ejemplo la
tolerancia a fallos que si un sistema
por ejemplo tiene su servidor central y
además tiene un servidor de backup o de
reserva por si hay fallos entonces
nosotros vamos a remover el servidor
principal para probar que si este
servidor se cae el sistema es capaz de
hacer el cambio al servidor de reserva y
seguir funcionando correctamente la
sexta característica es la seguridad que
es el grado en que la información y los
datos están protegidos
para que personas o sistemas no
autorizados no puedan leerlos ni
modificarlos y que además no se niegue
el acceso a ellos a personas o sistemas
que si están autorizados de aquí tenemos
las pruebas de seguridad súper
importantes en esta época de internet y
acceso global donde nuestros sistemas
son públicos y cualquiera desde
cualquier parte del mundo pueden acceder
a ellos la séptima característica es la
mantenibilidad que representa la
capacidad del producto de software para
ser modificado efectiva y eficientemente
debido a necesidades evolutivas
correctivas o perspectivas aquí tenemos
las pruebas de mantenibilidad que
revisan que nuestro sistema sea
modulable que los componentes sean
reutilizables y cuán fácil de modificar
son y la octava característica es la
portabilidad ésta es el grado en el que
un sistema o componente puede ser
transferido de forma efectiva y
eficiente de un entorno de hardware
software opera nacional o de utilización
a otro entorno o sea que el sistema sea
portable que sea adaptable a la
evolución de los sistemas operativos por
ejemplo que la aplicación pueda ser
instalada correctamente y que además
pueda ser reemplazada o actualizada con
éxito ahora este es un buen ejemplo para
que veamos que no vamos a querer o no
vamos a poder aplicar todos los tipos de
pruebas a todos los proyectos va a
depender de las características del
negocio y de las necesidades de cada una
de nuestras organizaciones y proyectos
por ejemplo no vamos a hacer pruebas de
portabilidad a un sistema web ya que
éste se instala una vez en el servidor
que se vaya a instalar y los usuarios y
clientes acceden a él a través de
internet sin embargo tiene mucho sentido
hacer pruebas de portabilidad a una
aplicación móvil debido a que esta
aplicación va a ser instalada en
diferentes tipos de dispositivos pues lo
a nuestros clientes y usuarios pueden
tener diferentes tipos de teléfonos de
tablets y además pueden tener diferentes
sistemas operativos y diferentes
versiones de estos sistemas operativos
además ellos van a tener que descargar
actualizaciones de nuestra aplicación
muy bien entonces hasta aquí hemos visto
los ocho tipos de pruebas que pueden
probar las características de calidad de
la norma iso 25 1010 pasemos a ver ahora
cuáles son los tipos de pruebas que
define y stv en su programa de estudios
dentro de los tipos de pruebas que ellos
definen se encuentran las pruebas
funcionales aquí coinciden con la norma
iso son las mismas pruebas funcionales
que miden el que hace el sistema o sea
sus funcionalidades ellos también tienen
la categoría de pruebas no funcionales
estas pruebas miden el como y aquí ellos
referencia las características de
calidad de la norma 25 mil 10 así que
hasta aquí es lo mismo que hemos visto
con la norma 25 mil 10 ellos añaden
entonces otros y poder pruebas que son
las pruebas de casablanca que en la
versión anterior en la versión del 2011
les llamaban pruebas de estructura o
arquitectura de software estas pruebas
están basadas en la estructura interna
del sistema o sea que prueban el código
del sistema la arquitectura los flujos
de trabajo etcétera y el último tipo de
pruebas dentro de las definidas por
jesse tv son las pruebas asociadas a los
cambios dentro de estas tenemos las
pruebas de confirmación que su objetivo
es confirmar que un defecto se haya
solucionado y las pruebas de regresión
que consiste en ejecutar toda la batería
de casos de pruebas que tenemos para
asegurarnos que con la solución de un
defecto no se haya modificado o afectado
accidentalmente otra funcionalidad o sea
que después de arreglar los defectos
nuestros sistemas sigue funcionando
correctamente entonces hasta aquí hemos
visto los tipos de
jaja pero ustedes me dirán sí pero y qué
tal de las pruebas unitarias o las
pruebas de integración o las pruebas de
sistemas ok bueno esos son niveles de
pruebas entonces vamos a pasar ahora a
hablar brevemente sobre los niveles de
las pruebas y cómo éstos interactúan o
se organizan con los tipos de pruebas
entonces los niveles de pruebas que
vamos a ver a continuación son los
mencionados en este tv que son las
pruebas de componentes las pruebas de
integración las pruebas de sistemas y
las pruebas de aceptación entonces antes
de pasar a describir los niveles de
pruebas es importante que sepamos que a
un mismo nivel de pruebas o en un mismo
nivel se pueden aplicar varios tipos de
pruebas por ejemplo en el nivel de
componentes o las pruebas a componentes
que son aquellas pruebas que se ejecutan
a componentes que pueden ser probados
por separados también llamadas pruebas
unitarias o pruebas de módulos a estos
componentes se le pueden aplicar tanto
pruebas funcionales o sea qué hace
verificamos la funcionalidad y también
pruebas no funcionales como por ejemplo
podemos medir el rendimiento de un
componente o podemos aplicar pruebas de
seguridad también tenemos el nivel de
pruebas de integración estas se centran
en probar las interacciones entre
componentes o sistemas o sea aquí nos
vamos a centrar en aquellas
funcionalidades que dependen o que miden
la integración entre sistemas un ejemplo
puede ser cuando integramos el front end
con el backend y mostramos en la
interfaz de usuario datos traídos por
una app y esta app y trae datos de la
base de datos y entonces vamos a
verificar que estos datos se muestran
correctamente en la interfaz en las
pruebas de sistemas nos centramos en el
comportamiento y las capacidades del
sistema como un todo o sea de todo el
producto y aquí es donde es más común
ejecutar las pruebas funcionales y las
pruebas no funcionales como las pruebas
de rendimiento las pruebas de seguridad
las pruebas de usabilidad de fiabilidad
etcétera
las pruebas de aceptación al igual que
las pruebas de sistemas las pruebas de
aceptación se centran en medir las
capacidades y comportamientos de todo el
sistema una de las principales
diferencias entre las pruebas de
aceptación y las pruebas de sistemas es
que la responsabilidad de realizar las
pruebas de aceptación recae sobre los
usuarios finales o sobre nuestros
clientes dentro de este nivel vamos a
tener las pruebas alfa y betas que son
pruebas que se hacen a versiones del
sistema que no están terminados y el
objetivo principal es obtener
retroalimentación sobre nuestro cliente
de las funcionalidades que tenemos hasta
ese momento implementadas en el sistema
entonces antes de terminar quiero hablar
sobre tres tipos de pruebas que son
frecuentemente mencionadas en nuestro
entornos y que no las describen como
tipos de pruebas en las fuentes que yo
revise y estas son las pruebas de humos
las pruebas de sanidad y las pruebas
exploratorias las pruebas de humo yo no
las veo como un tipo diferente de
pruebas sino es como una forma de
ejecutar pruebas funcionales las pruebas
de humo van a hacer pruebas funcionales
y consisten en ejecutar un conjunto
mínimo del total de casos de pruebas con
el fin de hacer una evaluación inicial
de la calidad del producto ahora si
estas pruebas pasan entonces se procede
a ejecutar una batería completa de los
casos de pruebas de igual forma las
pruebas de sanidad o sanit y testing
estas también van a ser pruebas
funcionales y al igual que las pruebas
de humo consisten en ejecutar un
subconjunto de casos de pruebas antes de
pasar a la ejecución de una batería
completa de casos de prueba la principal
diferencia entre estas y las pruebas de
humo es es que las pruebas de la humo
ejecutan funcionalidades básicas o
principales de todo el sistema y las
pruebas de sanidad están enfocadas en
verificar una nueva funcionalidad o la
solución de un defecto y entonces el
subconjunto de casos de pruebas que se
ejecutan están relacionados con esa
nueva funcionalidad o defecto que se
arregló y podemos ver estas pruebas de
sanidad como un subconjunto de las
pruebas de regresión y tenemos
finalmente las pruebas exploratorias que
son mencionadas en este v como una
técnica de pruebas y se encuentra dentro
de las pruebas basadas en la experiencia
una de las características de estas
pruebas es que se realiza el diseño
ejecución y registro de la prueba de
forma simultánea o sea al mismo tiempo
esta técnica es utilizada ampliamente en
proyectos de desarrollos ágiles y sus
resultados se utilizan para aprender más
sobre el componente o sistema y para
crear casos de pruebas para que ellas
áreas que lo necesiten entonces amigos
díganme qué otros tipos de pruebas han
escuchado ustedes por ahí déjenme saber
en los comentarios también comenten
son los principales tipos de pruebas que
ustedes aplican en sus proyectos y
regálame un like si este vídeo les fue
de utilidad compartan este vídeo con
todos aquellos amigos que les interese
este tipo de temas me despido con mucho
cariño les mando un beso enorme 1a y nos
vemos en el próximo video by
[Música]
y
cómo
[Música]
Browse More Related Video
Software Testing Tutorial #16 - Types of Software Testing
ISTQB FOUNDATION 4.0 | Tutorial 18 | Test Types | Functional Testing | Non-Functional Testing | CTFL
Manual QA: Testing for Beginners - Types of QA Testing - Part 9
CH02. L02. Test-types
ISTQB FOUNDATION 4.0 | Tutorial 20 | Retesting | Confirmation Testing | Regression Testing | CTFL
ISTQB FOUNDATION 4.0 | Tutorial 57 | Tool Support for Testing | Test Tools | ISTQB Tutorials
5.0 / 5 (0 votes)