Prefacio
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Si trabajas en la industria del software, es muy poco probable que no te hayas puesto el sombrero de las pruebas al menos una vez, independientemente de tu función. Esto se debe a que las pruebas son un aspecto integral de la ingeniería de software, entretejido en cada etapa del ciclo de entrega del software. Con la adopción exponencial de la digitalización en la actualidad, en la que diversas aplicaciones web y móviles se han integrado tanto en la vida cotidiana de las personas, las pruebas en diversas dimensiones de la calidad se han convertido en un imperativo.
Cuando observamos las pruebas como disciplina del software, podemos ver cómo han experimentado su propia trayectoria de evolución a lo largo de sus muchas décadas de existencia, creciendo para incorporar nuevas prácticas, marcos, metodologías y herramientas. Las pruebas manuales han evolucionado hasta convertirse en pruebas exploratorias manuales, y siguen siendo una parte fundamental de la disciplina de las pruebas en la actualidad. Entretanto, el auge de las pruebas automatizadas combinadas con las prácticas de integración continua e implementación continua (CI/CD) ha hecho que el valor derivado de las pruebas se dispare. Más allá de los casos de uso funcionales, la prueba automatizada de requisitos interfuncionales como el rendimiento, la seguridad y la fiabilidad para recibir información holística y ofrecer continuamente software de alta calidad es la necesidad crítica del momento. Esta es la razón por la que las pruebas de pila completa se consideran una especialización deseable hoy en día en la industria. Supongo que estás aquí porque quieres transpilarte en un probador de pila completa para poder ofrecer software de alta calidad en el trabajo: en primer lugar, felicitaciones por tu compromiso, y en segundo lugar, ¡bienvenido a bordo!
Por qué escribí este libro
Me gustaría decirte humildemente que muchos expertos en pruebas antes que yo podrían haber escrito este libro, y no hacía falta que fuera yo. Tal vez sus responsabilidades no les dejaron tiempo, o les faltó inclinación; sea cual sea la razón, la oportunidad ha recaído en mí, ¡y estoy agradecido por ello! (Aunque si algún otro experto hubiera escrito este libro cuando yo era una principiante en las pruebas, me habría ahorrado mucho esfuerzo: Tuve que rebuscar en cientos de blogs y probar docenas de herramientas yo mismo para adquirir las habilidades de comprobación que he acumulado a lo largo de muchos años).
A través de mi experiencia asesorando a clientes en mi trabajo diario, he observado que los equipos que han aplicado una estrategia de pruebas inteligente han tenido éxito en su mayoría, mientras que la mayoría de los que no lo hicieron fracasaron estrepitosamente. Por ejemplo, he visto equipos de clientes que confiaban exclusivamente en las pruebas de extremo a extremo basadas en la interfaz de usuario y se quemaban con las tareas de mantenimiento, o que sólo hacían pruebas manuales y se enfrentaban a un montón de defectos de producción. Algunos equipos sólo hacían pruebas funcionales, sin descubrir problemas no funcionales críticos. En general, estos equipos se caracterizaban por una mala calidad del software, un equipo insatisfecho y una falta de perímetro competitivo. Me sorprende que siga existiendo tal sesgo en la comprensión de las prácticas de comprobación, cuando la comprobación como disciplina existe desde hace décadas. Sólo puedo suponer que esto se debe en gran medida a la falta de talento para las pruebas en el sector, y con la actual guerra fría entre las empresas de software para saquear a los mejores talentos, es justo compartir y difundir ampliamente los conocimientos.
Aunque existen varios tutoriales de pruebas sobre herramientas concretas, no hay una narrativa coherente sobre cómo actualizarse en las tendencias actuales de las pruebas, con ejemplos prácticos que utilicen distintas herramientas. Y para muchas competencias especializadas, como las pruebas de seguridad y accesibilidad, no hay muchos materiales consumibles para que los lean los principiantes. Este libro pretende ser un recurso exhaustivo que permita a un principiante en pruebas perfeccionarse hasta un nivel de principiante avanzado en todas las habilidades esenciales para las pruebas de aplicaciones web y móviles de hoy en día.
Si te preguntas qué quiero decir con principiante avanzado, me refiero al modelo Dreyfus de adquisición de habilidades, que elabora cinco etapas a través de las cuales una persona progresa a medida que adquiere una habilidad: principiante, principiante avanzado, competente, competente y experto. Este libro está escrito con el ambicioso objetivo de catapultar a sus lectores a través de las dos primeras etapas en 10 destrezas de comprobación diferentes, con ejemplos prácticos. Dado que la tercera etapa es la de competente, que sólo puede alcanzarse con una práctica exhaustiva, ¡creo que el libro lleva a sus lectores tan lejos como puede!
¿Quién debería leer este libro?
Este libro está pensado principalmente para principiantes en pruebas de software y para profesionales de pruebas de software ya existentes que deseen ampliar sus conocimientos. Dicho esto, cualquier función de software cuyas responsabilidades se solapen con las pruebas, como un desarrollador de aplicaciones o un ingeniero DevOps, podría beneficiarse del libro. En todos los casos, un requisito fundamental es poseer algunos conocimientos de codificación, especialmente en Java, ya que el libro contiene ejercicios prácticos en Java y, en algunos lugares, en JavaScript. Además, si eres un lector nuevo en la industria del software, te recomendaría que hicieras una lectura preliminar sobre los procesos de desarrollo de software, como las metodologías ágil y en cascada, antes de sumergirte en este libro.
Convenciones utilizadas en este libro
En este libro se utilizan las siguientes convenciones tipográficas:
- Cursiva
-
Indica nuevos términos, URL, direcciones de correo electrónico, nombres de archivo y extensiones de archivo.
Constant width
-
Se utiliza en los listados de programas, así como dentro de los párrafos para referirse a elementos del programa como nombres de variables o funciones, bases de datos, tipos de datos, variables de entorno, sentencias y palabras clave.
Constant width bold
-
Muestra comandos u otros textos que deben ser tecleados literalmente por el usuario.
Constant width italic
-
Muestra el texto que debe sustituirse por valores proporcionados por el usuario o por valores determinados por el contexto.
Consejo
Este elemento significa un consejo o sugerencia.
Nota
Este elemento significa una nota general.
Advertencia
Este elemento indica una advertencia o precaución.
Aprendizaje en línea O'Reilly
Nota
Durante más de 40 años, O'Reilly Media ha proporcionado formación tecnológica y empresarial, conocimientos y perspectivas para ayudar a las empresas a alcanzar el éxito.
Nuestra red única de expertos e innovadores comparten sus conocimientos y experiencia a través de libros, artículos y nuestra plataforma de aprendizaje online. La plataforma de aprendizaje en línea de O'Reilly te ofrece acceso bajo demanda a cursos de formación en directo, rutas de aprendizaje en profundidad, entornos de codificación interactivos y una amplia colección de textos y vídeos de O'Reilly y de más de 200 editoriales. Para más información, visita https://oreilly.com.
Cómo contactar con nosotros
Dirige tus comentarios y preguntas sobre este libro a la editorial:
- O'Reilly Media, Inc.
- 1005 Gravenstein Highway Norte
- Sebastopol, CA 95472
- 800-998-9938 (en Estados Unidos o Canadá)
- 707-829-0515 (internacional o local)
- 707-829-0104 (fax)
Tenemos una página web para este libro, donde se enumeran erratas, ejemplos y cualquier información adicional. Puedes acceder a esta página en https://oreil.ly/full-stack-testing.
Envía un correo electrónico a bookquestions@oreilly.com para comentar o hacer preguntas técnicas sobre este libro.
Para noticias e información sobre nuestros libros y cursos, visita https://oreilly.com.
Encuéntranos en LinkedIn: https://linkedin.com/company/oreilly-media
Síguenos en Twitter: https://twitter.com/oreillymedia
Míranos en YouTube: https://www.youtube.com/oreillymedia
Agradecimientos
Al principio de mi carrera, ni en mi imaginación más descabellada habría pensado en escribir un libro técnico completo, ¡y además para O'Reilly! Fueron la inspiración, la motivación y el entorno enriquecedor que me proporcionó Thoughtworks los que me llevaron por este camino, y estoy increíblemente agradecida por estar asociada a un grupo tan encantador de tecnólogos apasionados y líderes alentadores. Sin ningún orden en particular, me gustaría expresar mi agradecimiento y reconocer el apoyo que he recibido de algunas de las increíbles personas de Thoughtworks: Prasanna Pendse, que anima a todo el mundo a fijarse metas altas y, cuando me lo propuse, se aseguró de que recibiera el apoyo adecuado hasta el final; Bharani Subramanian, que trabajó estrechamente conmigo hasta la finalización del libro, compartiendo sus ideas esclarecedoras que dieron forma a cada uno de los capítulos; y Pallavi Vadlamani, una amiga íntima más que una colega, que también trabajó estrechamente conmigo desde las primeras fases y revisó cada capítulo. Satish Viswanathan, Kief Morris, Sriram Narayan, Neal Ford y Sudhir Tiwari son algunos de los que me han prestado su apoyo en las distintas fases de desarrollo de este libro; ¡es realmente inestimable contar con personas tan expertas que comparten sus sabias y oportunas orientaciones! También me gustaría dar las gracias especialmente a la Dra. Rebecca Parsons, CTO de Thoughtworks y mi modelo a seguir, que escribió el prólogo y tuvo la amabilidad de ofrecerse voluntaria para revisar los capítulos desde las fases de borrador. ¡¿Qué más apoyo podría pedir realmente a una organización?!
Mi más sincero agradecimiento al equipo de O'Reilly: especialmente a Jill Leonard y Melissa Duffield, por crear el espacio adecuado para que el libro se lanzara con éxito, y a los revisores técnicos, Chris Northwood, Alexander Tarlinder, Srinivasan Desikan, Saleem Siddiqui, Ian Molyneaux y Nigar Movsumova, que han aportado sus comentarios sobre cada detalle y han conseguido que el libro llegue al estado en que se encuentra hoy.
También quiero dejar constancia de mi exquisito aprecio y gratitud a mi mentor a largo plazo, Dhivya Arunagiri, que ha pasado varios años reforzando mi confianza y ayudándome a dar forma a mi carrera, y a mis amigos, que han sido una sólida fuente de consuelo siempre que me agotaba escribir junto con el trabajo y los compromisos familiares en medio de una pandemia. También aprovecho esta oportunidad para expresar mi más sincero amor y agradecimiento a mis siempre alentadores y comprensivos padres.
Por último, pero no por ello menos importante, una llamada especial a mi querido marido, Manoj Mahalingam, que es una inspiración, un amigo y un guía, y sin el cual este libro no existiría hoy. Me gustaría dedicarle este libro a él y a mi encantadora hija, Magathi Manoj, por permitirme el espacio mental y el tiempo tan necesarios durante varias noches, fines de semana y vacaciones durante más de un año mientras trabajaba en este proyecto.
De hecho, mientras escribo esto, pienso en lo bendecida que soy por estar rodeada de un grupo tan increíble de familiares, amigos y colegas. ¡Muchas gracias a todos! Os estaré eternamente agradecida.
Get Pruebas Full Stack now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.