Ep1 | ¿Qué es probar? Fundamentos de ISTQB en español #CTFL #Probar #QA #ISTQB

Full Advanced
28 Sept 202022:42

Summary

TLDREl guion del video ofrece una visión detallada de las bases del testing de software, explicando su importancia, limitaciones y propósito. Se desentraña los mitos sobre las pruebas, destacando que no solo consisten en encontrar errores, sino que también implican verificar y validar que el software cumple con las expectativas del usuario. Se utiliza el ejemplo de un examen de conducir para ilustrar el proceso de testing, enfatizando la planificación, ejecución y evaluación de las pruebas. Además, se aclaran las diferencias entre 'verificar' y 'validar', y se resalta la necesidad de mejorar los procesos de desarrollo a través del análisis de la causa raíz de los defectos encontrados.

Takeaways

  • 🔍 La prueba de software va más allá de simplemente encontrar errores; es un proceso completo que incluye planificación, ejecución y evaluación.
  • 🛠️ La importancia de la prueba de software radica en asegurar la calidad del producto, reducir el riesgo de fallos y aumentar la confianza del cliente en la marca.
  • 🚗 Se compara la prueba de software con la obtención de una licencia de conducir, donde se evalúan diferentes situaciones y se establecen criterios de aprobación.
  • 📋 La prueba de software incluye tanto pruebas dinámicas (ejecución del software) como pruebas estáticas (revisión de documentos y código fuente).
  • ⏱️ La planificación de las pruebas es crucial; implica definir qué se va a probar y cómo, considerando los tiempos limitados.
  • 🔍📚 La revisión de documentos y requisitos es parte integral de las pruebas estáticas y es necesaria para garantizar que se estén cumpliendo las expectativas del cliente.
  • 🔄 La diferencia entre 'verificar' y 'validar' es fundamental en pruebas de software: verificar se refiere a construir el software según los requisitos, mientras que validar es asegurar que el software satisface las necesidades del cliente.
  • 🛑 Es común subestimar la importancia de las pruebas estáticas; sin embargo, son esenciales para detectar defectos temprano en el ciclo de vida del software.
  • 🔎 La prueba de software no solo es encontrar errores, sino también comprender los riesgos asociados con el uso operativo del software y mejorar los procesos de desarrollo.
  • 📈 El proceso de pruebas incluye la gestión de pruebas, selección de condiciones de prueba, diseño de casos de prueba y evaluación de resultados.
  • 👥 La comunicación y colaboración entre los testers y otros miembros del equipo de desarrollo son fundamentales para el éxito de la prueba de software.

Q & A

  • ¿Qué es la prueba de software y por qué es necesaria?

    -La prueba de software es una forma de 'asegurar la calidad' del producto y 'reduir el riesgo' de fallos durante su operación, lo que aumenta la confianza del cliente en el producto y, por ende, en la marca.

  • ¿Cuál es la diferencia entre 'Verificar' y 'Validar' en el contexto de la prueba de software?

    -La 'Verificación' se refiere a si el software está bien hecho según los requisitos, mientras que la 'Validación' verifica si el software construido atiende a las expectativas del cliente y resuelve sus necesidades.

  • ¿Qué es un 'test case' y cómo se relaciona con la prueba de un conductor de auto?

    -'Test case' son una serie de rutas o situaciones diseñadas para evaluar las habilidades del candidato, similar a las rutas que un examinador prepara para evaluar las habilidades de conducción de un candidato en una prueba de licencia de manejo.

  • ¿Qué es un 'Test Results Report' y por qué es importante?

    -'Test Results Report' es un documento que registra los resultados de la prueba, especificando el número de aciertos y errores, así como su gravedad. Es importante porque permite tomar decisiones basadas en riesgos acerca de si el conductor aprueba o no la prueba.

  • ¿Por qué la prueba de software no solo consiste en ejecutar el software y verificar los resultados?

    -La prueba de software incluye muchas actividades diferentes, como el análisis de resultados, la planificación de la prueba, el diseño de actividades de evaluación, la implementación y ejecución de las pruebas, y la generación del informe de resultados.

  • ¿Qué son las 'pruebas estáticas' y cómo se diferencian de las 'pruebas dinámicas'?

    -Las 'pruebas estáticas' implican la revisión de documentos y código fuente sin necesidad de ejecutar el código, mientras que las 'pruebas dinámicas' implican la ejecución del software para revisar los resultados.

  • ¿Qué es una 'prueba de teoría' y cómo se relaciona con la prueba de software?

    -'Prueba de teoría' es similar a la revisión de documentos en pruebas de software, donde se verifica si el conductor conoce las leyes de tráfico y qué hacer en diferentes situaciones mientras conduce, lo que en pruebas de software se traduce en la revisión de requisitos o el código fuente.

  • ¿Cuáles son algunos de los mitos comunes sobre la prueba de software que se desacreditan en el guion?

    -Entre los mitos desacreditados se encuentran que la prueba de software consiste solo en ejecutar el software y verificar resultados, y que las pruebas solo se centran en verificar si el software cumple con los requisitos de los usuarios, sin considerar si los requisitos en sí满足了 los expectativas del usuario.

  • ¿Qué es el 'International Software Testing Qualifications Board' (ISTQB) y qué hace?

    -El ISTQB es un comité internacional que se encarga de dividir la definición de prueba de software en dos partes: el proceso y los objetivos, destacando las frases claves para recordar y estableciendo estándares en la certificación de prueba de software.

  • ¿Cómo se puede mejorar el proceso de desarrollo de software a través de la detección de defectos?

    -Identificar defectos no solo ayuda a comprender los riesgos asociados con el uso operativo del software y a mejorar la calidad del producto, sino que también, a través del análisis de causa raíz, ayuda a mejorar los procesos de desarrollo y a cometer menos errores en el futuro.

  • ¿Cuáles son las actividades que se deben realizar durante el proceso de prueba de software según el guion?

    -Las actividades incluyen planificar la prueba, analizar las rutas a seguir, diseñar actividades de evaluación, implementar y ejecutar las pruebas, generar el informe de resultados, seleccionar condiciones de prueba y diseñar casos de prueba, y evaluar el software bajo prueba y criterios de finalización.

Outlines

00:00

😀 Introducción a los fundamentos de la prueba de software

El primer párrafo presenta una introducción al concepto de prueba de software, enfatizando la importancia de la calidad y la confianza del cliente en un producto. Se discute que la prueba no es solo encontrar errores, sino también asegurar la calidad y reducir el riesgo de fallos. Se utiliza el ejemplo de la prueba de manejo para ilustrar cómo se realiza una prueba, incluyendo la preparación de casos de prueba, la evaluación de desempeño y los criterios de aprobación. Además, se menciona la importancia de la planificación y la diferencia entre pruebas dinámicas y estáticas.

05:03

🤔 Mitos y errores comunes en la prueba de software

Este párrafo aborda los mitos y errores comunes asociados con la prueba de software. Se destaca que la prueba no consiste únicamente en ejecutar el software y verificar resultados, sino que incluye una serie de actividades como la planificación, diseño de casos de prueba, ejecución y generación de informes. También se aclara que la prueba tiene como objetivo verificar y validar que el software cumpla con los requisitos y que estos requisitos satisfagan las expectativas del usuario. Se utiliza el ejemplo de la prueba de manejo para comparar con la prueba de software, destacando la importancia de las pruebas teóricas y prácticas.

10:05

🔍 La distinción entre 'Verificar' y 'Validar' en la prueba de software

El tercer párrafo se enfoca en aclarar la diferencia entre la verificación y la validación en el contexto de la prueba de software. La verificación implica asegurarse de que el software esté construido de acuerdo con los requisitos especificados, mientras que la validación verifica que el software cumpla con las expectativas del cliente y que los requisitos sean correctos. Se utiliza un ejemplo de un vehículo de 4 ruedas para ilustrar la diferencia entre estos dos conceptos y se enfatiza la importancia de distinguir entre ellos en la certificación de prueba de software.

15:10

🛠 Proceso y objetivos de la prueba de software

Este párrafo describe el proceso de prueba de software y sus objetivos generales. Se resalta que la prueba es un proceso que abarca todo el ciclo de vida del desarrollo de software y no una actividad aislada. Se discuten las actividades de planificación antes, durante y después de la ejecución de las pruebas, la selección de las pruebas a realizar, la verificación de resultados y la evaluación del software bajo prueba. Además, se mencionan los objetivos de la prueba, como la verificación y validación de la conformidad con los requisitos, la detección de defectos para comprender los riesgos y mejorar la calidad del producto, y el análisis de la causa raíz para mejorar los procesos de desarrollo.

20:12

📚 Resumen y recursos para el aprendizaje de la prueba de software

El último párrafo ofrece un resumen de los conceptos clave discutidos en el script y proporciona recursos adicionales para el aprendizaje. Se resumen los dos errores comunes sobre la prueba de software, la diferencia entre verificación y validación, y se explica brevemente la definición de la prueba de software. Se anima a los espectadores a participar en la discusión, a descargar los materiales de estudio mencionados y a suscribirse para recibir notificaciones sobre futuras publicaciones. Además, se invita a seguir al canal en LinkedIn para mantenerse actualizado con discusiones activas.

Mindmap

Keywords

💡Pruebas de software

Las pruebas de software son un conjunto de actividades diseñadas para asegurar la calidad del producto y reducir el riesgo de fallos durante su operación. En el video, se enfatiza que las pruebas no son solo encontrar errores, sino también verificar y validar que el software cumple con los requisitos y satisface las expectativas del usuario. Este concepto es central en todo el script, ya que es la base para entender la importancia y el alcance del testing en el desarrollo de software.

💡Q.A.

Q.A. es la abreviatura de 'Quality Assurance', que se traduce como 'Garantía de Calidad'. En el contexto del video, se menciona que el protagonista se promueve a Q.A., lo que implica un paso adelante en su carrera hacia una mayor responsabilidad en la aseguración de la calidad del software. La mención de Q.A. destaca la importancia de la calidad en el proceso de testing y cómo este rol es clave para mejorar los productos.

💡Errores

Los errores son fallas o defectos en el software que pueden causar que el programa no funcione como se espera. En el video, se discute cómo las pruebas de software son una forma de detectar estos errores y reducir el riesgo de fallos, lo que a su vez aumenta la confianza del cliente en el producto y en la marca. Los errores son un tema recurrente a lo largo del guion, ya que son el objetivo principal de las actividades de testing.

💡Requerimientos

Los requerimientos son especificaciones detalladas que describen lo que el software debe hacer y cómo debe comportarse. En el video, se destaca la importancia de verificar y validar los requerimientos, para asegurarse de que el software construido cumpla con lo que el cliente espera y necesita. Los requerimientos son fundamentales en el proceso de testing, ya que son la base para el diseño y la ejecución de las pruebas.

💡Verificación

La verificación es el proceso de asegurarse de que el software está construido de acuerdo con los requerimientos establecidos. En el video, se explica que la verificación implica 'construir el software bien hecho', es decir, que se ha seguido fielmente lo que se especificó en los documentos de requerimientos. La verificación es una parte crucial del proceso de testing, ya que garantiza que el producto construido cumpla con los estándares definidos.

💡Validación

La validación es el proceso de asegurarse de que el software construido cumple con las expectativas del cliente y resuelve sus necesidades. En el video, se aclara que la validación es diferente a la verificación y se enfoca en 'construir el software correcto'. La validación es esencial para garantizar que el software sea útil y efectivo para el usuario final, más allá de simplemente cumplir con los requerimientos técnicos.

💡Pruebas dinámicas

Las pruebas dinámicas son aquellas en las que se ejecuta el software para revisar los resultados. En el video, se menciona que estas pruebas son solo una parte del proceso de testing, y que incluyen la ejecución práctica del programa y la revisión de su funcionamiento en diferentes situaciones. Las pruebas dinámicas son importantes para evaluar directamente el rendimiento y la estabilidad del software.

💡Pruebas estáticas

Las pruebas estáticas implican revisar documentos y el código fuente sin necesidad de ejecutar el software. En el video, se describe cómo estas pruebas permiten encontrar defectos sin tener que correr el programa, lo que puede ser una forma más eficiente de detectar problemas temprano en el proceso de desarrollo. Las pruebas estáticas son una parte integral del testing que complementa las pruebas dinámicas.

💡Criterios de aprobación

Los criterios de aprobación son las reglas utilizadas para determinar si una prueba ha sido exitosa o no. En el video, se ilustra con el ejemplo de un examen de conducir, donde estos criterios pueden basarse en la cantidad y gravedad de las infracciones cometidas. En el contexto de las pruebas de software, estos criterios son fundamentales para evaluar si el software cumple con las expectativas y requisitos establecidos.

💡Pruebas de regresión

Las pruebas de regresión son un tipo de prueba que se realizan para verificar que los cambios realizados en el software no han afectado negativamente las funcionalidades existentes. Aunque en el video no se menciona directamente el término 'pruebas de regresión', es un concepto relevante en el testing de software y se relaciona con la validación continua del software a medida que se realizan mejoras y actualizaciones.

Highlights

Testing no solo es encontrar errores, sino también asegurar la calidad del producto y reducir el riesgo de fallos.

La importancia de la confianza del cliente en la marca y cómo la calidad afecta la percepción de seguridad.

La definición de testing según diferentes fuentes y su simplificación en el diccionario de Google y la Real Academia Española.

Un ejemplo práctico del testing de software comparado con un examen de conducir.

La importancia de los 'criterios de salida' o 'aprobación' en la evaluación del desempeño del conductor.

Los errores comunes sobre el testing de software y cómo el testing no es solo ejecutar el software y verificar resultados.

La diferencia entre 'verificar' y 'validar' en el contexto del testing de software.

El testing como proceso que incluye tanto pruebas dinámicas como estáticas.

La planificación del testing y su importancia en el ciclo de vida del desarrollo de software.

La necesidad de gestionar las actividades de testing antes y después de la ejecución de las pruebas.

El objetivo del testing de garantizar que el software cumpla con los requisitos y ser adecuado para su uso.

La identificación de defectos como un medio para entender los riesgos y mejorar los procesos de desarrollo.

La estructuración de los objetivos del testing y su relación con los diferentes niveles de pruebas.

Un resumen de 60 segundos que sintetiza los conceptos clave del testing de software.

El testing como proceso que va más allá de simplemente ejecutar pruebas y encontrar errores.

La importancia de la retroalimentación y discusión para el aprendizaje y la mejora en el campo del testing.

La oferta de material de estudio gratuito y la invitación a seguir el curso para niveles avanzados de ISTQB.

Transcripts

play00:08

Chapter 1 - Episode 1: It is testing just finding errors?

play00:13

Argg! Such a stress! When I get promote to Q.A., everything will be easier.

play00:18

Overall, it is just testing that there are no errors.

play00:21

Hehehehehe !! Really? Do you think testing is just finding bugs?

play00:26

A surprise awaits you as you move to the dark side of the force!

play00:30

What is Test?

play00:32

Whenever we ask this question the answer seems simple enough,

play00:35

and if you are a person who does not dedicate yourself to

play00:37

being Tester / QA maybe seems enough,

play00:40

but if we want to speak properly to demolish myths on the subject,

play00:42

or simply exercise in the best way

play00:45

possible this profession, we will need to go deeper.

play00:48

So if the previous answer seemed appropriate, being that it is quite imprecise

play00:52

to say the least then join me

play00:54

during this first part that will serve as a starting point!

play01:23

Hello everyone and welcome to this first episode!

play01:25

Throughout Chapter 1 I'll talk about the fundamentals of testing,

play01:29

why testing is necessary, its limitations, its purpose, the principles behind

play01:34

of the tests, the process to be followed and the psychological factors that the testers

play01:39

Testers should consider in their work.

play01:41

What is testing?

play01:46

We are constantly surrounded by electronic devices, from the Smart TV

play01:50

going through lights that turn on by a voice command, the vehicle,

play01:54

or just the cell phone.

play01:56

All of these devices work thanks to the software designed for this purpose, and is

play02:00

most likely most people have experienced problems

play02:04

with a device that did not work as expected: a stuck elevator, the bank page

play02:08

not loading, or washer stopped in the middle of a cycle.

play02:11

These failures are never pleasant and in some cases the consequences are

play02:16

significant enough to affect the credibility of a brand.

play02:20

Many people buy equipment just because of the brand, because they are more confident that it will not fail, they are even available to pay more

play02:27

just for the "security" they provide. For some it is not an option to switch to another brand, even if it offers the same quality in half

play02:34

of money. Why? Because they have "Confidence" in the low probability of failure.

play02:39

"Peace of mind" is not something negotiable for most people.

play02:43

Testing Software is a way to "assure quality" of the product and "reduce the risk" of

play02:48

fail when operating,

play02:50

and with this increase the customer's confidence in the product, and consequently in the brand.

play02:55

If we are looking for alternative sources of information to ISTQB,

play02:59

we see some definition of tests quite simplified:

play03:02

According to the Google dictionary Testing means:

play03:05

"To put something or someone to the test"

play03:08

According to the Royal Spanish Academy:

play03:09

"Use a thing or put it to the test to verify its effectiveness, to know how it works or what result it produces"

play03:17

"Test something" means to check that everything is OK, that it works as expected.

play03:22

However, it is not a sufficiently detailed definition to

play03:25

the concept of software testing. To explain it better I will use an example from life

play03:29

real taken from Rex Black's book: Fundamentals of Software Testing.

play03:34

In a test to obtain a driver's license, the examiner evaluate in detail

play03:39

the exam candidate, noting every mistake made during the test by large or

play03:43

small that is. The examiner must prepare in advance

play03:47

a series of routes that we will call "test cases", where the candidate can face

play03:52

the different "scenarios" a driver usually encounters,

play03:57

for example:intersections with different difficulty levels, vehicle control,

play04:01

attention to the road, threats on the road, etc.

play04:05

You will have to try extreme situations such as simulating an emergency braking by hitting

play04:10

the dashboard of the vehicle, having to stop quickly and safely

play04:14

without losing control. At the end of the test, the driver is evaluated and it is determined if he passed

play04:19

or it failed the test based on something we will call "exit criteria"

play04:23

or "approval criteria". The results will be recorded in a document

play04:28

which we will call "Test Results Report".

play04:31

The "approval criteria" is based on the number and severity of the offenses committed,

play04:35

and also if the driver was able to fulfill the test requests.

play04:40

A single serious offense may mean that you failed the exam, however a small

play04:45

number of minor fouls may still mean you passed. Besides this, many

play04:50

Minor faults can "reduce the confidence" of the examiner in the candidate's ability

play04:55

to drive, to the point where you will fail the test.

play04:58

Let's review the important points about this case:

play05:03

Before the test a series was planned of routes to cover the activities

play05:07

key to evaluating the candidate, and this we call "test cases"

play05:11

The candidate does not know the routes or the activities to be carried out.

play05:15

The test must assess whether the candidate is confident enough to drive a

play05:20

vehicle without being damaged or damaging other people or property. I mean, there is a clear

play05:25

pass or fail criteria, based on in the number and severity of the offenses

play05:30

committed, the examiner's confidence in the conductor it is also taken into account.

play05:34

The test is designed to "demonstrate that the driver meets the requirements

play05:39

established "and that you can indeed drive a vehicle.

play05:43

The test is done in a set period of time, it is not an evaluation

play05:47

complete driver skills, it is a representation that allows

play05:51

make a decision based on risk about the driver.

play05:56

All candidates to obtain the license driving are evaluated objectively,

play06:01

Whoever passes the test gets a driver's license, and whoever fails will get a "results report"

play06:07

with the list of successes, failures and aspects to improve before taking the test again

play06:12

if necessary.

play06:14

In addition to the practical test, the driver must take a "theory test to verify

play06:18

who knows the traffic laws "and what to do in various situations while driving.

play06:24

That is, the driver reviewed a set of documents that allow you to acquire

play06:29

knowledge about the challenges to overcome during the test.

play06:33

We could call these documents "test bases", since they establish

play06:37

the bases to consider to pass the test.

play06:40

Did you ever consider the job of a examiner from this perspective?

play06:44

Well, the tester's job software looks quite similar,

play06:47

adding a certain level of complexity, although sometimes it is trivialized.

play06:51

Let's look at some beliefs that are often repeated:

play06:55

Common mistakes about Software Testing

play07:00

Among the wrong beliefs about Software Testing we have to:

play07:04

1. Software testing only consists of in running the software and checking results.

play07:08

This is a common mistake. Run tests software includes many different

play07:12

activities. The results review it's just one of those activities.

play07:16

When you are going to take the exam for the driver's license, the examiner does not

play07:21

just sit back and wait for you to take control of the vehicle, start the car

play07:25

and take the road, but the test consists in a series of activities to assess

play07:29

driver skills, before, during and after starting the vehicle.

play07:34

In the same way that the test drive is divided into two: a practical assessment and

play07:39

other theoretical, software testing can be divided into two types:One part involves

play07:44

run the software to review results, these are called "dynamic tests".

play07:48

On the other hand, the document review requirements or source code,

play07:53

they are called "static tests". We will learn this in detail in Chapters 3 and 4.

play07:58

Recap of the process for a objective assessment of driver quality,

play08:03

we can conclude that the following activities:

play08:06

Planning the test: Remember that time is limited, you must plan

play08:11

activities that test skills at a specific time. Not planning implies

play08:16

that key points may remain without evaluating, because time is up.

play08:20

Additionally, the techniques to be used,

play08:24

as the Theoretical and Practical component that have been mentioned.

play08:28

The analysis of the routes to follow so that fit the goal

play08:32

The design of the activities that will allow evaluating the skills of the driver in specific situations

play08:38

The implementation and execution of driving tests

play08:42

The generation of the results report

play08:44

specifying the number of hits and

play08:47

mistakes, as well as gravity

play08:48

thereof.

play08:50

All of this derives from an evaluation of the quality of driver performance,

play08:55

taking note of the errors, successes and possible improvements reflected in a results report.

play09:01

As we can see, testing does not only consist in running tests.

play09:05

Other error common is usually to think that

play09:08

2. The tests only focus on "Verifying" that the software meets the requirements

play09:12

of users, user stories or other specifications given.

play09:16

When it actually also consists of "Validate" if the specifications meet

play09:20

user expectations. That is, 1. We think that testing software is

play09:25

run the code; and 2, Verify that the results you get are those that appear

play09:29

described as approval criteria in the user specifications.

play09:34

Remember that the "approval criteria" are the rules we use to determine whether

play09:39

a test has been successful or not.

play09:41

It may turn out that if the software satisfies what is written in the documents of

play09:46

specifications, but that such complex software has been built, that

play09:50

difficult to use or response times make it impossible to use.

play09:54

It can also happen that the software was built to specifications, but these are not

play10:00

correct. In other words, the objective of every project is to deliver software that meets the

play10:05

specified requirements and to satisfy the user's need a

play10:10

correct specification. At this point it is essential to differentiate between the concepts

play10:14

of "Verify and Validate" the software product.

play10:18

And so we have an understanding alert here.

play10:23

Of course I Know it, or I think I know it.

play10:30

The intent of this section is to ensure that understand any concept you may

play10:34

used in a wrong way, either because of the similarity that exists with another concept or due

play10:39

to wrongly acquired customs.

play10:41

Verify vs. Validate

play10:45

On many occasions these are used 2 concepts exchanging their meaning,

play10:50

and people fail to notice it, but it is important to be able to distinguish them

play10:54

appropriately, especially for the exam certification.

play10:57

Verification: Did we build the software well made? Was the software built according to the requirements?

play11:06

And using the example I gave at the beginning,

play11:08

Did the driver meet the expectations as stipulated by the examiner?

play11:12

Validation: Did we build the software according to the client expectations? Did the software solving the client's needs?

play11:26

Again, using the example of the driving test

play11:29

Were the examiner's requirements aligned with what is specified in the traffic laws?

play11:34

To make the point clearer I will use a simpler analogy as support.

play11:39

Let's imagine that a user has the need to build a 4-wheel vehicle to travel in any direction at 50 km / h

play11:48

A requirement is created indicating that it be manufactured a 4-wheeler only towards forward up until 50 km/h

play11:58

For this case "Verify" would be: Count the number of wheels and observe

play12:02

the vehicle travel ONLY TOWARDS FORWARD up to 50 km/h, according

play12:08

upon request this would be correct. Now, "Validate" would be:

play12:12

Does it reach the speed of 50 km / h In any direction?

play12:16

The answer is NO, and this is due to a bad requirement.

play12:20

In this case we should correct the requirement, the implementation

play12:24

vehicle, and run the tests again.

play12:28

Let's go back, "Verify" is to make sure that the requirement, what is written in

play12:33

the documentation is complied with to the letter. But "Validate" guarantees that the spirit of

play12:38

what is requested by the user is fulfilled, and in this way it can be used as expected.

play12:46

Seeing how complex the process of software testing, the International Committee

play12:50

software testing qualification (ISTQB), divides the

play12:54

definition in two parts, highlighting the sentences key to remember.

play12:59

The first would be the process itself.

play13:01

Testing is a process rather than a single activity, there are a number of activities involved.

play13:07

That takes place throughout the software development life cycle.

play13:11

The later in the life cycle we find errors, the more expensive they are

play13:15

to fix them. If we can find and correct defects at the requirements stage

play13:20

we will build the correct software, with the correct techniques and at a lower overall cost

play13:25

Therefore, the test analysis and design process at the beginning of the life cycle

play13:31

can help prevent flaws from being introduced into your code.

play13:35

This will be discussed in depth in Chapter 2.

play13:38

In addition to the tests that the software code runs, called

play13:41

"dynamic testing", we can also test and find defects without need

play13:46

of running the source code, this is called a "static test", this test includes the

play13:51

review of documents and source code and we will see it in depth in chapter 3.

play13:56

Planning activities take place before and after the test run. Erroneously,

play14:02

is usually thought that it is only planned before. You must manage the tests,

play14:08

plan what you want to do, control test activities,

play14:13

report about the test progress and the status of the software under test

play14:17

and end testing when a phase is complete.

play14:21

These test management activities are covered in Chapter 5.

play14:25

Choose what tests to do, select test conditions

play14:30

and design test cases. Chapter 4 covers test design activities.

play14:36

In addition to running the test, the result should be verified,

play14:40

evaluate software under test and completion criteria,

play14:45

which helps to decide if the tests have been completed and if the software product has approved them.

play14:51

Not only code is tested, requirements are tested, specifications

play14:56

design and related documents, such as operation and training material.

play15:03

Static and dynamic tests are necessary to cover the range of products to be tested.

play15:09

The second part of the definition covers some of the "general objectives of the test,

play15:14

the reasons why we do it.

play15:17

The design should be reviewed to see if it meets the requirements, and then we could

play15:22

run the code to verify that it conforms to the design. If the product complies with

play15:27

the specifications, we can provide that information to help customers

play15:32

interested to judge the quality of the product and decide if it is ready for use.

play15:38

Remember that the specified requirements may be incorrect or be incomplete.

play15:44

This is slightly different from the previous point, because by saying

play15:48

'Fit for purpose' we analyze whether the software does enough to

play15:53

help users execute their tasks.

play15:55

We tend to think of testing as a means of detecting errors or defects

play16:00

which in operational use will cause failure. Finding defects helps us understand

play16:05

risks associated with operational use of the software, and correcting defects improves

play16:10

the quality of products. However, identifying defects has another benefit

play16:15

with root cause analysis they also help us improve development processes

play16:20

and make fewer mistakes in the future.

play16:22

This is a definition of test suitable for any level of testing,

play16:26

knowing that depending on the phase of the testing process where you are,

play16:30

there are levels and objectives associated with each level.

play16:33

In Chapter 2, we will cover the different levels of testing, their objectives,

play16:39

and how they fit into the life cycle of the software development.

play16:45

Who says 60 seconds is not enough?

play16:51

In this section I will try to summarize in 1 minute the totality of what has been discussed,

play16:55

I don't guarantee that I always will, but here we go.

play16:57

We have 2 common mistakes about Software Testing:

play17:00

1. They just consist of running the software and checking results.

play17:03

2. They focus on validating that the software complies with the requirements verification.

play17:07

Verification and Validation are different things

play17:10

Verification: Did we build the software WELL according to the requirements?

play17:14

Validation: Did we build the RIGHT software based on the RIGHT requirements?

play17:18

The definition of Software Testing is divided into 2 parts: The Process and objectives

play17:24

Regarding the process: Testing is a process not an activity, it involves the entire development life cycle.

play17:30

It covers both static and dynamic tests. It is planned before, during and after the execution of the tests.

play17:35

Tests must be prepared, the result is verified

play17:38

The Code and related work products are tested.

play17:41

Regarding the objectives: Compliance with the requirements is verified and validated.

play17:46

By detecting defects we understand risks, we improve the quality of the products,

play17:50

we analyze the root cause and improve development processes.

play18:15

The time has come to show what you have learned!

play18:18

What is verification?

play18:23

A. Check we are building the perfect software for the customers

play18:28

B. Be sure the design is good

play18:31

C. Check twice to be sure about the quality

play18:35

D. Check we are building the software according to the specifications

play18:50

Option D is the correct answer, remember that the verification takes care of

play18:54

ensure compliance with the requirements established

play19:00

What is to test?

play19:04

A. It is the activity of finding errors.

play19:09

B. It is the process that assure the correct test execution

play19:13

C. It guarantees the system is free of errors

play19:17

D. Show the developer he is always wrong

play19:30

The correct option is option B.

play19:33

It is important to be clear that Testing is a process that includes several activities

play19:38

for the correct execution of the tests and not just an activity.

play19:43

What is Validation?

play19:45

A. Run Regression Test

play19:50

B. It is the process to guarantee the right way to run tests.

play19:54

C. Check we are building the software the customers want.

play19:58

D. Check we are building the software the customers according to the specifications.

play20:12

Option C is the correct answer.

play20:14

Option A is unrelated to the topic.

play20:17

Option B is the concept of Test.

play20:19

Option D is the Verify concept.

play20:21

Which two of the following sentences are true.

play20:25

A. Verify consists in check whether the software was build according to the requirements described in the documentation.

play20:31

B. Verify consists in check whether the requirements described in the documentation fulfilled the client's needs.

play20:38

C. Validate consists in check whether the software was build according to the requirements described in the documentation.

play20:44

D. Validate consists in check whether the requirements described in the documentation fulfilled the client's needs.

play21:01

A and D are the correct answers.

play21:06

Option B and C have reversed the respective concepts.

play21:15

After all this analysis we can now clearly see why the common perception

play21:19

that Testing only consists of running tests or running the software, it is not

play21:24

all complete, these are only part of the activities, but not the entire testing process.

play21:31

Remember the 60-second summary?

play21:33

Well, I have captured all these points as memory cards so that

play21:37

you can review them just before taking the certification exam.

play21:41

Below in the description you will find the link of my page

play21:44

where you can download these documents for free.

play21:47

If you have any questions or suggestions on this topic, do not hesitate to leave a comment, I will be

play21:52

attentive to helping you, remember that surely you will not be the only one with that same doubt and with

play21:56

This exercise encourages discussion and we can all learn.

play22:00

If you consider that this content may be useful to someone in their process of

play22:04

learning to be a Tester, then share it.

play22:07

If you want to be aware every time I publish the rest of the chapters of this

play22:11

course or Advanced levels of ISTQB then subscribe and activate the notifications.

play22:16

And if you finally enjoyed the video then please like it.

play22:20

Don't forget to follow me on LinkedIn to stay up to date on any active discussions.

play22:24

See you in the next chapter. Bye!

Rate This

5.0 / 5 (0 votes)

Related Tags
Pruebas de SoftwareCalidadQAMitosValidaciónVerificaciónProceso de PruebasConfianza del ClienteCiclo de VidaTIC
Do you need a summary in English?