{"id":2119,"date":"2023-09-12T08:00:00","date_gmt":"2023-09-12T06:00:00","guid":{"rendered":"https:\/\/ittester.sk\/sin-categorizar\/pruebas-de-caja-blanca\/"},"modified":"2024-06-25T16:04:58","modified_gmt":"2024-06-25T14:04:58","slug":"pruebas-de-caja-blanca","status":"publish","type":"post","link":"https:\/\/ittester.sk\/es\/pruebas-manuales\/pruebas-de-caja-blanca\/","title":{"rendered":"Pruebas de caja blanca"},"content":{"rendered":"\n<p>Las pruebas son esenciales en el desarrollo de software para garantizar la entrega de productos de software de alta calidad y sin errores. Los probadores utilizan diversas t\u00e9cnicas de prueba de software para identificar diversos problemas, fallos y errores en los productos de software. Una de ellas es la prueba de caja blanca. Se ocupa de la evaluaci\u00f3n de la estructura interna del software y de los detalles de implementaci\u00f3n.  <\/p>\n\n<p>En este art\u00edculo, trataremos los aspectos b\u00e1sicos de las pruebas de caja blanca.<\/p>\n<div class=\"wp-block-aioseo-table-of-contents\"><ul><li><a class=\"aioseo-toc-item\" href=\"#aioseo-co-je-testovanie-bielej-skrinky\">\u010co je testovanie bielej skrinky?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-funkcie\">Funkcie<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-co-sa-overuje-pri-testovani-bielej-skrinky\">\u010co sa overuje pri testovan\u00ed bielej skrinky?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-ako-vykonat-testovanie-bielej-skrinky\">Ako vykona\u0165 testovanie bielej skrinky?<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-priklad-testovania-bielej-skrinky\">Pr\u00edklad testovania bielej skrinky<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-techniky-testovania-bielej-skrinky\">Techniky testovania bielej skrinky<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-typy-testovania-bielej-skrinky\">Typy testovania bielej skrinky<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-vyhody-a-nevyhody-testovania-bielej-skrinky\">V\u00fdhody a nev\u00fdhody testovania bielej skrinky<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-vyhody\">V\u00fdhody<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-nevyhody\">Nev\u00fdhody<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-nastroje-na-testovanie-bielej-skrinky\">N\u00e1stroje na testovanie bielej skrinky<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-rozdiel-medzi-testovanim-bielej-a-ciernej-skrinky\">Rozdiel medzi testovan\u00edm bielej a \u010diernej skrinky<\/a><\/li><li><a class=\"aioseo-toc-item\" href=\"#aioseo-zaver\">Z\u00e1ver<\/a><\/li><\/ul><\/div>\n<h2 class=\"wp-block-heading\" id=\"aioseo-co-je-testovanie-bielej-skrinky\">\u00bfQu\u00e9 es la prueba de caja blanca?<\/h2>\n\n<p>La prueba de caja blanca es una t\u00e9cnica de prueba de software que comprueba el dise\u00f1o interno del sistema, la estructura del c\u00f3digo fuente, las estructuras de datos utilizadas y los detalles de funcionamiento. Su principal objetivo es mejorar el dise\u00f1o del software, el flujo de E\/S, la usabilidad y la seguridad. Tambi\u00e9n se llama prueba transparente, prueba estructural y prueba de caja de cristal.  <\/p>\n\n<p>Poner en pr\u00e1ctica esta t\u00e9cnica de prueba requiere que los probadores est\u00e9n familiarizados con el c\u00f3digo del sistema, su arquitectura y los detalles de implementaci\u00f3n. Bas\u00e1ndose en estos conocimientos, crean casos de prueba y los ejecutan para verificar la correcci\u00f3n del sistema a nivel de c\u00f3digo. Por lo tanto, estas pruebas tambi\u00e9n se denominan pruebas basadas en el c\u00f3digo.  <\/p>\n\n<p>En general, los desarrolladores realizan pruebas de caja blanca. Tener una comprensi\u00f3n completa del c\u00f3digo fuente y del funcionamiento interno del software. En algunos casos, sin embargo, tambi\u00e9n pueden realizarla expertos en control de calidad (QA) y probadores que entiendan el c\u00f3digo complejo.  <\/p>\n\n<p>Esta t\u00e9cnica de prueba se denomina \u00abCaja Blanca\u00bb porque los desarrolladores o probadores observan el funcionamiento interno del sistema desde fuera de la caja.  <\/p>\n\n<p>Se aplica en los dos primeros niveles de las pruebas de software: pruebas unitarias y pruebas de integraci\u00f3n. Las pruebas unitarias verifican cada m\u00f3dulo de software por separado. A continuaci\u00f3n, las pruebas de integraci\u00f3n conectan l\u00f3gicamente los m\u00f3dulos sometidos a prueba y comprueban su interacci\u00f3n o comunicaci\u00f3n.<\/p>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-funkcie\">Caracter\u00edsticas  <\/h2>\n\n<ul class=\"wp-block-list\">\n<li>Acceso <strong>al<\/strong> c\u00f3digo fuente: Las pruebas de caja blanca proporcionan acceso al c\u00f3digo fuente del software. Esto ayuda a verificar las funciones y m\u00f3dulos individuales.  <\/li>\n\n\n\n<li><strong>An\u00e1lisis de la<\/strong> cobertura del c\u00f3digo: La cobertura del c\u00f3digo es una m\u00e9trica que determina la cantidad de c\u00f3digo ejecutado durante las pruebas. Las pruebas de caja blanca analizan la cobertura del c\u00f3digo y revelan las \u00e1reas no probadas del c\u00f3digo fuente.  <\/li>\n\n\n\n<li><strong>Detecci\u00f3n de errores<\/strong> l\u00f3gicos: ayuda a identificar errores l\u00f3gicos como bucles infinitos y sentencias condicionales incorrectas.  <\/li>\n\n\n\n<li><strong>Optimizaci\u00f3n del<\/strong> c\u00f3digo: Revela problemas de rendimiento, \u00e1reas de c\u00f3digo que necesitan mejoras y otros problemas. Los desarrolladores o probadores trabajan para solucionar estos problemas y optimizar el c\u00f3digo fuente.  <\/li>\n\n\n\n<li><strong>Pruebas de seguridad<\/strong>: los desarrolladores o probadores tienen acceso al c\u00f3digo fuente del software y conocen su funcionamiento interno. Por tanto, pueden identificar vulnerabilidades de seguridad.<\/li>\n<\/ul>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-co-sa-overuje-pri-testovani-bielej-skrinky\">\u00bfQu\u00e9 se verifica en las pruebas de caja blanca?  <\/h2>\n\n<p>Las pruebas de caja blanca en las pruebas de software eval\u00faan el c\u00f3digo fuente del software para verificar los siguientes par\u00e1metros:  <\/p>\n\n<ul class=\"wp-block-list\">\n<li>Vulnerabilidades internas de seguridad.  <\/li>\n\n\n\n<li>Cada objeto, funci\u00f3n y declaraci\u00f3n de c\u00f3digo fuente individualmente.  <\/li>\n\n\n\n<li>Funcionalidad de los ciclos condicionales.  <\/li>\n\n\n\n<li>V\u00edas de c\u00f3digo corruptas, incompletas y mal estructuradas.  <\/li>\n\n\n\n<li>Flujo de entrada y salida.  <\/li>\n<\/ul>\n\n<p>En resumen, esta t\u00e9cnica de prueba verifica el flujo de trabajo del software. Consiste en proporcionar una serie de datos de entrada y comparar los resultados esperados y los reales. Si la salida real no coincide con la salida esperada, se produce un error o fallo.<\/p>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-ako-vykonat-testovanie-bielej-skrinky\">\u00bfC\u00f3mo realizar pruebas de caja blanca?<\/h2>\n\n<p>Generalmente, los desarrolladores o probadores verifican las aplicaciones utilizando esta t\u00e9cnica de prueba de software en dos pasos:  <\/p>\n\n<ol class=\"wp-block-list\">\n<li><strong>An\u00e1lisis del c\u00f3digo<\/strong> fuente: el paso b\u00e1sico es comprender y analizar el c\u00f3digo fuente de la aplicaci\u00f3n. Los probadores o desarrolladores, independientemente de qui\u00e9n realice las pruebas, deben tener un conocimiento detallado del funcionamiento interno de la aplicaci\u00f3n y de la estructura del c\u00f3digo fuente. Adem\u00e1s, deben considerar la aplicaci\u00f3n de pr\u00e1cticas de codificaci\u00f3n seguras, manteniendo la seguridad como factor primordial.  <\/li>\n<\/ol>\n\n<p>Esto les ayudar\u00e1 a crear casos de prueba eficaces para descubrir posibles vulnerabilidades de seguridad y garantizar el m\u00e1ximo porcentaje de cobertura de las pruebas.<\/p>\n\n<ol class=\"wp-block-list\" start=\"2\">\n<li><strong>Crear y ejecutar casos de prueba<\/strong>: los probadores o desarrolladores crean y ejecutan varios casos de prueba peque\u00f1os para probar procesos de aplicaci\u00f3n individuales. Esto garantiza que el c\u00f3digo fuente tenga el flujo y la estructura correctos. Pero este paso requiere un conocimiento extremadamente detallado del c\u00f3digo fuente. Por lo tanto, normalmente la llevan a cabo los desarrolladores.<\/li>\n<\/ol>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-priklad-testovania-bielej-skrinky\">Ejemplo de prueba de caja blanca  <\/h2>\n\n<p>Ahora sabemos que el objetivo de las pruebas de caja blanca es verificar la estructura del c\u00f3digo, como las sentencias de bucle, las sentencias condicionales, las ramas de decisi\u00f3n, etc. Lo entenderemos con un ejemplo sencillo:<\/p>\n\n<pre class=\"wp-block-preformatted has-cyan-bluish-gray-background-color has-background\">Prueba (a, b)\n{\nint n;\nsi (n % 2 ==0)\n{\nprint(\"N\u00famero impar\")\n}\nsi no\n{\nprint(\"N\u00famero impar\")\n}\n}<\/pre>\n\n<p>Para verificar este c\u00f3digo, tenemos los dos casos de prueba siguientes:  <\/p>\n\n<ul class=\"wp-block-list\">\n<li>n = 25<\/li>\n\n\n\n<li>n = 50<\/li>\n<\/ul>\n\n<p>Para el primer caso de prueba, n = 25, no se aplica la condici\u00f3n \u00absi\u00bb. Por lo tanto, el flujo del programa pasa al bloque \u00abelse\u00bb e imprime la declaraci\u00f3n que contiene. En el segundo caso de prueba, n = 50, la condici\u00f3n \u00absi\u00bb es verdadera y se ejecuta la declaraci\u00f3n que contiene.  <\/p>\n\n<p>De este modo, las pruebas de caja blanca recorr\u00edan cada l\u00ednea del c\u00f3digo fuente de la aplicaci\u00f3n y descubr\u00edan posibles fallos a nivel de c\u00f3digo.  <\/p>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-techniky-testovania-bielej-skrinky\">T\u00e9cnicas de pruebas de caja blanca<\/h2>\n\n<p>Los distintos tipos de t\u00e9cnicas de prueba de caja blanca son los siguientes:  <\/p>\n\n<p><strong>1. Cobertura de la declaraci\u00f3n<\/strong><\/p>\n\n<p>Esta t\u00e9cnica requiere que repases y pruebes cada declaraci\u00f3n del c\u00f3digo fuente al menos una vez. Como resultado, se ejercita todo el c\u00f3digo fuente.  <\/p>\n\n<p>La cobertura de sentencias determina el porcentaje de c\u00f3digo fuente que ejercitar\u00e1 un determinado conjunto de casos de prueba. La f\u00f3rmula para cubrir las declaraciones es  <\/p>\n\n<p><strong>Cobertura de declaraciones = (n\u00famero de declaraciones realizadas \/ n\u00famero total de declaraciones) * 100<\/strong><\/p>\n\n<p><strong>2. Cobertura de decisiones\/cobertura de sucursales<\/strong><\/p>\n\n<p>El mejor ejemplo de rama (punto de decisi\u00f3n) en programaci\u00f3n es la sentencia \u00absi\u00bb. Tiene dos ramas: Verdadero y Falso. La t\u00e9cnica de cobertura de ramas garantiza que cada rama del c\u00f3digo fuente se ejecute al menos una vez.<\/p>\n\n<p>Por cobertura de ramas se entiende el porcentaje de ramas o puntos de decisi\u00f3n ejecutados durante las pruebas.<\/p>\n\n<p><strong>Cobertura de ramas = (n\u00famero de ramas implementadas \/ n\u00famero total de ramas) * 100%<\/strong><\/p>\n\n<p><strong>3. Cobertura de condiciones<\/strong><\/p>\n\n<p>La prueba de condiciones consiste en probar cada condici\u00f3n para obtener resultados tanto VERDADEROS como FALSOS. Por tanto, para obtener una cobertura estatal del 100% es necesario aplicar cada condici\u00f3n tanto para los resultados VERDADEROS como para los FALSOS. Para n condiciones tendremos 2n guiones de prueba.<\/p>\n\n<p>El objetivo principal de la cobertura de condiciones es determinar la salida de cada condici\u00f3n en el c\u00f3digo fuente. Sin embargo, s\u00f3lo comprueba las condiciones con operandos l\u00f3gicos cuyo resultado sea verdadero o falso.<\/p>\n\n<p><strong>4. Pruebas multicondici\u00f3n<\/strong><\/p>\n\n<p>Su objetivo es probar todas las combinaciones posibles de cada estado de la rama. Vamos a entenderlo con un ejemplo.<\/p>\n\n<pre class=\"wp-block-preformatted\">si (A||B)  \nimprimir C<\/pre>\n\n<p>Los casos de prueba para el c\u00f3digo anterior ser\u00e1n<\/p>\n\n<p>A=TRUE, B=TRUE<\/p>\n\n<p>A=VERDADERO, B=FALSO<\/p>\n\n<p>A=FALSO, B=VERDADERO<\/p>\n\n<p>A=FALSO, B=FALSO<\/p>\n\n<p>Nuestro ejemplo tiene 2 condiciones -A y B- y 4 casos de prueba. Si hubiera 3 expresiones, el n\u00famero de casos de prueba ser\u00eda 8.<\/p>\n\n<p>Por tanto, para una cobertura del 100% tendremos 2n guiones de prueba. Esto es muy agotador y es muy dif\u00edcil conseguir una cobertura del 100%.<\/p>\n\n<p><strong>5. Pruebas de trayectoria<\/strong><\/p>\n\n<p>La prueba de rutas garantiza que todas las rutas posibles del c\u00f3digo fuente se ejecuten al menos una vez. Consiste en crear un diagrama de flujo de control utilizando el c\u00f3digo fuente o un diagrama de flujo. Despu\u00e9s, determina la complejidad ciclom\u00e1tica, que se refiere a los caminos independientes. As\u00ed, los probadores crean casos de prueba m\u00ednimos para esas rutas independientes.  <\/p>\n\n<p><strong>Cobertura del viaje = (n\u00famero de viajes realizados \/ n\u00famero total de viajes del programa) x 100 %.<\/strong><\/p>\n\n<p><strong>6. Comprobaci\u00f3n de los ciclos del bucle<\/strong><\/p>\n\n<p>Los ciclos son construcciones de programa comunes y se utilizan en la mayor\u00eda de los programas grandes. Las pruebas de ciclo son esenciales porque existe una alta probabilidad de que se produzcan errores al principio o al final de un ciclo. Por lo tanto, la realizaci\u00f3n de pruebas revela errores o fallos en cualquier ciclo concreto. El principal error que se produce en los ciclos son los \u00edndices incorrectos.<\/p>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-typy-testovania-bielej-skrinky\">Tipos de pruebas de caja blanca<\/h2>\n\n<p>He aqu\u00ed los distintos tipos de pruebas de caja blanca:  <\/p>\n\n<p><strong>Pruebas unitarias:<\/strong> es el primer nivel de las pruebas de software. Comprueba individualmente la correcci\u00f3n de cada m\u00f3dulo de la aplicaci\u00f3n, llamado unidad. Garantiza que cada componente funcione como se espera de \u00e9l.<\/p>\n\n<p><strong>Pruebas de integraci\u00f3n:<\/strong> son posteriores a las pruebas unitarias. Combina los componentes individuales probados l\u00f3gicamente y confirma la interacci\u00f3n entre ellos. Su objetivo es detectar cualquier error en la interacci\u00f3n de los componentes.  <\/p>\n\n<p><strong>Pruebas de penetraci\u00f3n de caja blanca: <\/strong>los probadores tienen pleno acceso al c\u00f3digo fuente de la aplicaci\u00f3n y a los datos de la red, la IP y el servidor, incluidas las contrase\u00f1as y los mapas. El objetivo principal de las pruebas de penetraci\u00f3n es detectar \u00e1reas del c\u00f3digo fuente con puntos d\u00e9biles de seguridad.  <\/p>\n\n<p><strong>Pruebas de mutaci\u00f3n de caja blanca:<\/strong> como su nombre indica, las pruebas de mutaci\u00f3n dependen de los cambios. Los probadores realizan peque\u00f1as modificaciones en el c\u00f3digo fuente para comprobar que la ejecuci\u00f3n de los casos de prueba no revela ning\u00fan error. Si los casos de prueba tienen \u00e9xito, esto indica un error en el c\u00f3digo fuente. Sin embargo, si los casos de prueba fallan, el c\u00f3digo fuente no tiene errores.<\/p>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-vyhody-a-nevyhody-testovania-bielej-skrinky\">Ventajas e inconvenientes de las pruebas de caja blanca  <\/h2>\n\n<p>Aclaremos ahora las ventajas e inconvenientes de las pruebas de caja blanca.  <\/p>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-vyhody\">Beneficios  <\/h2>\n\n<ul class=\"wp-block-list\">\n<li>Las pruebas de caja blanca son exhaustivas y detalladas porque ejecutan cada l\u00ednea del c\u00f3digo fuente.  <\/li>\n\n\n\n<li>Identifica posibles vulnerabilidades ocultas, fallos y vulnerabilidades de seguridad. Arreglarlos requiere eliminar algunas l\u00edneas de c\u00f3digo fuente, lo que conduce a la optimizaci\u00f3n del c\u00f3digo.  <\/li>\n\n\n\n<li>Garantiza que el c\u00f3digo fuente se ajusta a las normas de codificaci\u00f3n y optimiza el rendimiento.  <\/li>\n\n\n\n<li>Aunque no se disponga de una GUI, las pruebas comienzan al principio del ciclo de vida de desarrollo del software (SDLC).  <\/li>\n\n\n\n<li>Los casos de prueba se automatizan f\u00e1cilmente.  <\/li>\n\n\n\n<li>La transparencia del c\u00f3digo fuente ayuda a determinar el tipo exacto de datos de entrada necesarios para las pruebas.<\/li>\n\n\n\n<li>Los probadores o desarrolladores pueden crear casos de prueba para garantizar la m\u00e1xima cobertura de las pruebas.<\/li>\n<\/ul>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-nevyhody\">Desventajas  <\/h2>\n\n<ul class=\"wp-block-list\">\n<li>Las pruebas de caja blanca requieren profundos conocimientos de programaci\u00f3n para comprender y analizar el c\u00f3digo fuente del sistema y construir casos de prueba en torno a \u00e9l.  <\/li>\n\n\n\n<li>Se centra principalmente en probar el funcionamiento interno del sistema.  <\/li>\n\n\n\n<li>Las aplicaciones grandes requieren mucho tiempo para las pruebas de caja blanca porque tienen c\u00f3digos fuente largos.  <\/li>\n\n\n\n<li>Un peque\u00f1o cambio en el c\u00f3digo fuente requiere volver a escribir casos de prueba.  <\/li>\n\n\n\n<li>Existe una alta probabilidad de que esto provoque errores de producci\u00f3n.<\/li>\n<\/ul>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-nastroje-na-testovanie-bielej-skrinky\">Herramientas de prueba de caja blanca  <\/h2>\n\n<p>Aqu\u00ed tienes una lista de algunas herramientas de prueba de caja blanca de uso com\u00fan:  <\/p>\n\n<ol class=\"wp-block-list\">\n<li><strong>Veracode<\/strong>: proporciona un conjunto de herramientas que ayudan a identificar y corregir errores en aplicaciones desarrolladas con diversos lenguajes de programaci\u00f3n, como .NET, C++, Java, etc. Tambi\u00e9n puede probar aplicaciones de escritorio y m\u00f3viles para garantizar la seguridad.<\/li>\n\n\n\n<li><strong>EclEmma<\/strong>: Es una herramienta gratuita de cobertura de c\u00f3digo para aplicaciones Java. Se dise\u00f1\u00f3 para ejecutar pruebas y analizar los resultados en el banco de trabajo Eclipse.  <\/li>\n\n\n\n<li><strong>JSUnit<\/strong>: JSUnit forma parte de JUnit, un marco de pruebas unitarias para aplicaciones Java. JSUnit es una herramienta de pruebas unitarias de c\u00f3digo abierto para pruebas de JavaScript. Est\u00e1 disponible bajo la Licencia General GNU 2.0.  <\/li>\n\n\n\n<li><strong>NUnit<\/strong>: Es un marco de pruebas desarrollado en C# para realizar pruebas basadas en datos en aplicaciones .NET. Admite la ejecuci\u00f3n concurrente de pruebas sin ninguna intervenci\u00f3n manual.  <\/li>\n\n\n\n<li><strong>CppUnit<\/strong>: Tambi\u00e9n forma parte de JUnit como JSUnit. Est\u00e1 disponible para pruebas unitarias C++.<\/li>\n<\/ol>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-rozdiel-medzi-testovanim-bielej-a-ciernej-skrinky\">La diferencia entre las pruebas de caja blanca y de caja negra<\/h2>\n\n<p>La siguiente tabla destaca las principales diferencias entre las pruebas de armarios blancos y negros:<\/p>\n\n<figure class=\"wp-block-table\"><table><tbody><tr><td><strong>Pruebas de caja blanca<\/strong><\/td><td><strong>Pruebas de caja negra<\/strong><\/td><\/tr><tr><td>Requiere conocer la estructura interna y el funcionamiento de la aplicaci\u00f3n.<\/td><td>No se requiere ning\u00fan conocimiento interno de la aplicaci\u00f3n.<\/td><\/tr><tr><td>Podemos probar muchos aspectos detallados de la aplicaci\u00f3n.<\/td><td>Estamos probando la funcionalidad integral de la aplicaci\u00f3n.<\/td><\/tr><tr><td>Estas pruebas las realizan desarrolladores o profesionales de control de calidad con buenos conocimientos de programaci\u00f3n y arquitectura de aplicaciones.<\/td><td>De las pruebas de caja negra se encarga un equipo independiente de control de calidad.<\/td><\/tr><tr><td>Se aplica a los niveles inferiores de las pruebas: pruebas unitarias y pruebas de integraci\u00f3n.<\/td><td>Se aplica a los niveles superiores de las pruebas: las pruebas del sistema y las pruebas de aceptaci\u00f3n, en las que tenemos que probar la aplicaci\u00f3n en su conjunto.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n<h2 class=\"wp-block-heading\" id=\"aioseo-zaver\">Conclusi\u00f3n<\/h2>\n\n<p>La prueba de caja blanca es una t\u00e9cnica de prueba de software que requiere que los probadores conozcan a fondo el funcionamiento interno y la estructura del c\u00f3digo de una aplicaci\u00f3n. Por tanto, revela lagunas estructurales y de seguridad. El objetivo principal es verificar la funcionalidad y correcci\u00f3n de la aplicaci\u00f3n a nivel de c\u00f3digo.  <\/p>\n\n<p>Aunque esta t\u00e9cnica de comprobaci\u00f3n requiere mucho tiempo y esfuerzo, es la \u00fanica forma de asegurarte de que compruebas cada l\u00ednea de tu c\u00f3digo fuente. Si se hace correctamente, las pruebas de caja blanca mejorar\u00e1n mucho la calidad del software.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Las pruebas de caja blanca comprueban el dise\u00f1o interno del sistema, la estructura del c\u00f3digo fuente, las estructuras de datos utilizadas y los detalles de funcionamiento.  <\/p>\n","protected":false},"author":8,"featured_media":2120,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[40],"tags":[],"class_list":["post-2119","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-pruebas-manuales"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/posts\/2119","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/comments?post=2119"}],"version-history":[{"count":1,"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/posts\/2119\/revisions"}],"predecessor-version":[{"id":2121,"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/posts\/2119\/revisions\/2121"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/media\/2120"}],"wp:attachment":[{"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/media?parent=2119"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/categories?post=2119"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ittester.sk\/es\/wp-json\/wp\/v2\/tags?post=2119"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}