what is sdet know difference between tester
Este tutorial analiza todos los aspectos de un SDET (ingeniero de desarrollo de software en prueba), incluido el conjunto de habilidades, roles y responsabilidades, salario y trayectoria profesional:
Discutiremos el rol de SDET en profundidad, las expectativas y responsabilidades de este rol que esperan las empresas, el conjunto de habilidades que debe poseer un SDET, las herramientas y tecnologías con las que el candidato debe ser práctico y también los salarios en general. Ofrecido.
Lo que vas a aprender:
Comprensión del papel de SDET
La forma ampliada de SDET es: Ingeniero de desarrollo de software en prueba
En palabras muy simples, este rol es una combinación de un intermedio entre un rol de desarrollador puro y un rol de probador puro. Los SDET son profesionales capacitados tanto en ingeniería de calidad como en desarrollo de software.
El término SDET fue inventado por primera vez por Microsoft, que luego fue seguido y utilizado por la mayoría de los grandes nombres de productos como Google, Amazon, Adobe, Expedia, etc. Las principales expectativas de los roles eran reemplazar las tareas manuales repetitivas con algo de automatización para aumentar la eficiencia y confiabilidad para las aplicaciones bajo prueba.
Comparación entre SDET y control de calidad manual
Los probadores de control de calidad manuales se centran principalmente en la caja negra o las pruebas de aplicaciones. Lo que significa es, para un evaluador de control de calidad, lo que importa es una especificación de cómo se espera que se comporte una aplicación cuando se le da una determinada entrada.
descarga gratuita de plantilla de caso de prueba excel
El evaluador de control de calidad simplemente usaría la Aplicación / Sistema bajo prueba como lo haría cualquier usuario / cliente normal, pero con un enfoque en detalles más minuciosos, así como escenarios de borde probando diferentes combinaciones de entrada, etc.
SDET se centra en la aplicación tanto de White Box como de las pruebas de Black Box. En otras palabras, también conocerían el funcionamiento interno de la aplicación, lo que les permite escribir pruebas de Automatización utilizando técnicas de prueba de Caja Blanca o Caja Negra.
En esencia, un ingeniero de desarrollo de software en prueba debe conocer todas las técnicas de prueba de Black Box junto con el conocimiento práctico de desarrollo / codificación para comprender el funcionamiento interno de la aplicación, lo que garantiza mejores estándares de calidad, así como un producto de software menos defectuoso.
Esencialmente, un SDET debería actuar como un facilitador para una garantía de calidad eficaz a través de cualquier medio. Lo que esto también significa, que el individuo usaría sus habilidades para asegurarse de que todas las partes del software bajo prueba estén validadas de la mejor manera posible, lo que debería incluir pruebas en áreas funcionales y no funcionales.
Veamos la comparación del tester manual y SDET en diferentes parámetros
Parámetro | SDET | Probador manual |
---|---|---|
Alcance de prueba | Se centra en una amplia variedad de técnicas y tipos de pruebas. Ejemplo: Funcional, No funcional, Seguridad, Rendimiento, etc. | Generalmente, céntrese en la perspectiva de funcionalidad de la aplicación bajo prueba. Un probador manual se comporta como un usuario / cliente de la aplicación bajo prueba y la valida desde esa perspectiva. |
Automatización | Los SDET se centran principalmente en la automatización de escenarios repetitivos para garantizar que los probadores manuales puedan centrarse en escenarios más complejos y periféricos y utilizar su ancho de banda y habilidades de manera más eficiente. | Los probadores manuales poseen algunas o ninguna habilidad para la automatización. Sin embargo, se requiere que los probadores manuales sean conscientes del uso de herramientas que ayuden en las pruebas manuales. Ejemplo: Usar Postman para ejecutar puntos finales de API, usar proveedores en la nube como Sauce Labs para ejecutar pruebas en diferentes versiones de plataforma, etc. |
Conjunto de habilidades primarias | Los SDET son los principales responsables de automatizar los casos de prueba, así como de escribir scripts / herramientas reutilizables que ayudan al equipo a reducir los esfuerzos repetitivos. Un miembro senior del equipo SDET también es responsable de crear marcos de automatización y permitir que otros SDET escriban pruebas utilizando el marco. | Los probadores manuales se enfocan principalmente en la funcionalidad de la aplicación, se enfocan en escenarios de casos extremos y casos de prueba complejos. Por ejemplo: Un probador manual que pruebe una aplicación móvil, además de todos los escenarios funcionales, pensaría en escenarios como - ¿Qué sucede si cierro la aplicación cuando hay una operación de backend o una llamada de red en curso? - ¿Qué sucede si el móvil se apaga repentinamente cuando el cliente estaba en una página en particular en la aplicación? - ¿Qué sucede si Internet se apaga en medio de la carga de un documento en una aplicación, etc.? |
Sueldos | A los SDET generalmente se les ofrecen salarios más altos (~ 40-50% más altos que los probadores manuales), debido a las habilidades que poseen y la experiencia que tienen. | Los roles de prueba manual puros requieren un salario más bajo en comparación con un rol híbrido donde un evaluador manual también se esfuerza por aprender nuevas herramientas y agregar valor al producto que se entrega. |
Ingeniero de desarrollo de software en Test Skillset
A continuación se enumeran los conjuntos de habilidades que debe poseer un SDET:
# 1) Mentalidad abierta
El primer y más importante conjunto de habilidades es que cualquier ingeniero de desarrollo de software en prueba debe estar abierto a aprender cualquier lenguaje / herramienta de scripting que se requiera para permitirles realizar pruebas exhaustivas de la aplicación bajo prueba.
Es bastante probable que, como SDET en una empresa, termine trabajando con la pila tecnológica de Microsoft / .NET, pero en otra empresa, el lenguaje de desarrollo es principalmente Java, por lo que se espera que SDET tenga una mentalidad abierta para aprender nuevas cosas / tecnología como y cuando sea necesario.
# 2) Adaptable
Un Ingeniero de Desarrollo de Software en Prueba debe adaptarse a las necesidades del proyecto, herramientas y tecnologías, bases de datos, etc. Por ejemplo - como SDET, es posible que tenga experiencia en realizar pruebas de API, pero otro rol requiere que pruebe la interfaz de usuario o la interfaz. Por lo tanto, el rol requiere que se adapte a las necesidades del proyecto, para entregar un producto estándar de alta calidad.
# 3) multitarea
En la mayoría de las empresas de productos, a menudo la relación DEV y QA se sesga en gran medida. Esto significa que es común ver equipos con una proporción DEV: QA de 4: 1 o incluso de 5: 1. Por lo tanto, es imperativo que se espere que un SDET participe en varias cosas y cumpla con las expectativas.
Estas son algunas de las responsabilidades en las que se espera que trabaje un SDET:
- Participar en reuniones de partes interesadas: un SDET tiene que trabajar en estrecho contacto tanto con los desarrolladores como con la gente del producto para comprender el producto tanto desde el punto de vista de los desarrolladores como desde el punto de vista del producto y luego diseñar / sugerir una estrategia de automatización.
- Crear marco / herramientas
- Elaborar estrategias para la planificación de pruebas
- Plantear / Investigar defectos
- A veces puede ser necesario contribuir a las pruebas unitarias junto con los desarrolladores.
# 4) Mentalidad exploratoria
Cada SDET debe recordar estas líneas en todo momento: ' Si repites las mismas acciones todo el tiempo, considera automatizarlas ”
La persona tendría la mentalidad de reducir el esfuerzo de cualquier cosa que se le presente con la ayuda de herramientas para mejorar la productividad, así como para garantizar productos de software de alta calidad.
Además de todo el trabajo de automatización, el trabajo principal de SDET es entregar productos de alta calidad con lo que sea necesario, por lo tanto, él / ella también necesitaría enfocarse en probar productos a través de formas exploratorias para descubrir cada vez más errores y defectos ocultos.
# 5) Colaborar, contribuir y comunicarse
La función de SDET obliga a actuar de enlace entre diferentes partes interesadas como desarrolladores, productos, probadores manuales, etc.
Es importante que los SDET colaboren con todas las partes interesadas necesarias, así como que comuniquen todos los detalles necesarios cuando sea apropiado.
Los SDET y el equipo de control de calidad mantienen las puertas de calidad para un producto antes de que esté abierto al público y, por lo tanto, juegan un papel importante en términos de considerar un producto apto para ser lanzado a los clientes o no.
Funciones y responsabilidades
Así que intentemos comprender cuáles son los trabajos y responsabilidades del día a día y las diferentes tareas que se espera que realicen.
cómo abrir archivos bin en windows
- Trabaje junto a los desarrolladores y las partes interesadas del negocio y esfuércese por automatizar los criterios de aceptación. Esto significa en palabras simples: un SDET primero comprende los requisitos desde la perspectiva de aceptación / cliente y también tiene que comprender la forma en que se desarrolla el producto en términos de lenguaje de codificación, bases de datos, etc., y luego planifica una estrategia para automatizar el máximo de escenarios posible. .
- Responsable de crear soluciones de automatización de pruebas sólidas y de alta calidad para pruebas funcionales, de regresión y de rendimiento.
- Cree scripts / herramientas reutilizables donde sea necesario.
- Contribuir a las áreas de prueba tanto funcionales como no funcionales. Las pruebas funcionales incluyen pruebas desde la perspectiva de la funcionalidad / requisitos y se basan en gran medida en criterios de aceptación o historias de usuarios.
Sin embargo, las pruebas no funcionales también son igualmente importantes. Por ejemplo, cuán eficiente es la aplicación, si la aplicación es lo suficientemente segura, asegúrese de que no queden hackeos en la aplicación que podrían afectar la seguridad de la aplicación y terminar causando una gran pérdida tanto para los clientes como para la organización. - También participan en las discusiones de diseño y diseño arquitectónico y brindan comentarios efectivos en las revisiones de código.
Conviértete en un gran SDET
Para convertirse en un gran SDET, veamos algunos consejos / herramientas básicas y habilidades técnicas que deben aprenderse para desempeñar mejor sus funciones.
En la sección anterior, aprendimos sobre las cualidades que un ingeniero de desarrollo de software en prueba debe poseer para ser excelente en sus roles. Deben tener una mentalidad abierta, ser adaptables y deben poder comunicarse, colaborar y contribuir de cualquier manera que exija el producto o el equipo.
Veamos una lista de algunas herramientas y tecnologías comunes que los SDET deben aprender:
- Debe tener un conocimiento sólido de los principios de prueba, tipos de prueba y metodologías.
- Muy competente en problemas de depuración; aprenda herramientas de depuración como: Depurador web de Chrome que son extremadamente útiles para depurar aplicaciones web, así como para investigar registros de red para una aplicación bajo prueba.
- Deben poder escribir códigos / scripts reutilizables y, por lo tanto, deben dominar al menos un lenguaje de scripting. El más fácil de aprender es Python, que podría aplicarse a una amplia variedad de tareas, marcos de automatización, etc.
- Familiarícese con clientes de pruebas de API como CARTERO
- Debe conocer las herramientas y técnicas de prueba de caja blanca, como los marcos de simulación ( Mockito ), etc., ya que se puede esperar que contribuyan también a escribir pruebas unitarias cuando sea necesario.
- Deben conocer las herramientas de control de versiones como Vamos . Además, deben estar familiarizados con los conceptos de Solicitudes de extracción , revisiones de código, etc.
- Comprensión de la arquitectura de aplicaciones web y modelo general cliente-servidor.
- Debe conocer los conceptos básicos de programación orientada a objetos y la comprensión de SÓLIDO modelo S responsabilidad individual O pluma / Principio cerrado, L sustitución de iskov I Segregación de interfaces D Inversión de dependencia)
- Comprensión básica de Integración continua / Entrega continua conceptos (CI / CD) y también debe conocer las herramientas de CI como Jenkins / Bamboo, etc.
Por lo general, se espera que los SDET se encarguen también de los problemas de implementación, por lo que es imperativo comprender estas herramientas. - Deben estar familiarizados con al menos un marco de automatización de front-end. El más fácil y el más utilizado en Selenio . Es el santo grial de las pruebas de front-end para aplicaciones web y casi todas las organizaciones utilizan el marco Selenium para automatizar las pruebas de IU.
- Aprender los conceptos básicos de las pruebas de rendimiento y escribir scripts sencillos utilizando herramientas de prueba de rendimiento de código abierto como JMeter es muy útil y puede consultar este Tutorial de Jmeter . Esto es útil ya que también se espera que los SDET se encarguen de los requisitos no funcionales, como las pruebas de rendimiento.
- También deben conocer los conceptos fundamentales de las pruebas de seguridad. Esto también incluye tener conocimiento de los estándares básicos de codificación, lo que garantiza que no queden fallas de seguridad básicas sin resolver en la aplicación. OWASP es una gran referencia para todos estos conceptos fundamentales.
- Se espera que los SDET conozcan, comprendan e implementen metodologías de desarrollo ágiles y deben sentirse cómodos trabajando con equipos que utilizan la metodología Sprint / Scrum de ágil.
- Debe conocer cualquier plataforma de tecnología en la nube como: Amazon AWS , Google GCP , o Microsoft Azure .
Dado que la mayoría de las empresas se están moviendo ahora a una infraestructura basada en la nube, tener un conocimiento básico de las herramientas y tecnologías de la nube es generalmente útil para comenzar.
Certificación para SDET
En general, no hay certificaciones específicas disponibles para SDET
Si alguien quiere comenzar su viaje de ingeniero de desarrollo de software en prueba, puede centrarse en los puntos que se mencionan en la sección 'Cómo convertirse en un gran SDET' de este tutorial, y luego los SDET con su mentalidad abierta deben continuar su viaje de aprendizaje en el trabajo.
Para probar la terminología y los conceptos básicos, es bueno que todos los que están en la profesión de pruebas de software estén certificados con el Certificado de prueba de ISTQB Foundation .
Esta certificación cubre todos los conceptos básicos de pruebas de software como,
- Tipos de prueba: funcional / no funcional
- Prueba de caja negra / caja blanca / caja gris
- Planificación de pruebas / gestión de defectos
- Técnicas de prueba: partición de equivalencia, matriz de trazabilidad, etc.
También hay otras certificaciones internacionales de pruebas de software disponibles, pero la mayoría de ellas no son criterios de selección muy importantes para que las empresas contraten SDET.
Está disponible una lista de todas estas certificaciones aquí.
Entrevistas
Con la mayoría de las empresas de productos más grandes, el ingeniero de desarrollo de software en la entrevista de prueba es mucho más en comparación con aquellos con entrevistas de desarrollador, ya que se espera que conozcan la mayor parte del desarrollo de metodologías y conceptos relacionados.
Sin embargo, las entrevistas son un poco indulgentes en comparación con los desarrolladores. Lo que se enfatiza aquí es cómo el candidato aborda un problema y qué tan amplio puede pensar una persona sobre el problema.
En general, las entrevistas SDET consisten en seguir los tipos de rondas / preguntas en casi todas las organizaciones de productos grandes como: Amazon, Microsoft, Adobe, Expedia, etc.
- Ronda escrita: Escribir casos de prueba para un producto determinado. Aquí, la intención es tener una idea de todas las facetas de las pruebas que puede pensar la persona sobre el candidato si piensa / enumera todos los escenarios funcionales, escenarios de casos extremos, si el candidato se centra en las pruebas de seguridad, las pruebas de rendimiento, etc.
- Ronda de codificación: Se proporciona un pequeño ejercicio de codificación y también se espera que el candidato anote todas las pruebas unitarias y escenarios de pruebas funcionales. Aquí, el área o habilidad que se está probando es: conocimientos / construcciones de codificación básicos, escritura de código comprobable y conocimiento sobre técnicas de prueba de caja blanca como pruebas unitarias, simulacros, etc.
- Diseño redondo: Se lanza una pregunta sobre el diseño del sistema, ejemplo , cómo diseñarías youtube
Este tipo de preguntas generalmente tienen más relevancia para los desarrolladores, pero para las SDET, el entrevistador busca qué tan ampliamente puede pensar la persona, si el candidato conoce los conceptos de POO, si el candidato es capaz de pensar en escalabilidad, solidez, equilibrio de carga, etc. , ¿puede el candidato utilizar bases de datos adecuadas para la aplicación que se va a diseñar? - Ronda de RRHH / Gerente: Aquí se observan cosas como la aptitud del equipo, la aptitud cultural, etc. sobre el candidato, así como las discusiones sobre el salario y también se realizan las negociaciones.
Lectura recomendada => Preguntas de la entrevista SDET
Salario SDET
Como hemos discutido en nuestras secciones anteriores, los SDET cobran salarios más altos que la mayoría de los roles de prueba manual. En muchos casos, los salarios son comparables a los de los desarrolladores con un nivel de experiencia similar.
Puedes referir aquí para conocer el rango de salarios en diferentes perfiles SDET en diferentes organizaciones. En general, el salario de SDET difiere según la banda de experiencia y la organización.
A continuación se muestra una comparación de los salarios de SDET para las principales empresas como Microsoft, Expedia.
Nivel | Microsoft ($) | Expedia ($) |
---|---|---|
SDET - I | 65000 - 80000 | 60000 - 70000 |
SDET - II | 75000 - 11000 | 70000 - 100000 |
Sr SDET | 100000 - 150000 | 90000 - 130000 |
Trayectoria profesional
En general, la carrera profesional de SDET comienza y crece de la siguiente manera:
- SDET-1 - SDET de nivel junior capaz de escribir scripts de automatización.
- SDET-2 - SDET experimentado capaz de escribir herramientas reutilizables y marcos de automatización.
- Sr SDET - SDET de nivel superior capaz de ser un contribuyente individual como SDET 1 y SDET 2, pero también es capaz de
- Realización de revisiones de códigos.
- Participe en discusiones de diseño y haga sugerencias para tener cambios apropiados en el diseño.
- Participe en la estrategia general de prueba del producto.
- Participe en modelos de entrega de CI / CD, cree pipelines de ejecución, etc.
- Gerente SDET - Después de SDET2, puede elegir Sr SDET o SDET Manager Path. Un gerente de SDET tiene responsabilidades de gestión / liderazgo además del trabajo básico de SDET.
- Arquitecto de pruebas / Ingeniero de soluciones - Test Architect o Solutions Engineer es alguien que principalmente diseña / arquitecta un marco general para múltiples proyectos, marcos de prueba de especificaciones, también puede actuar como gerente de entrega. Estas personas son personas individuales y ayudan a varios proyectos a lograr sus resultados de prueba y enviar un producto ampliamente probado y libre de defectos.
A continuación, se muestra una representación a nivel de bloque de SDET Career Path:
Conclusión
En este tutorial, aprendimos en profundidad qué es un SDET en términos de roles y responsabilidades, habilidades imprescindibles, cuál es la diferencia entre los SDET y los probadores manuales, y qué se necesita para convertirse en un excelente ingeniero de desarrollo de software en pruebas.
En general, SDET es una función que tiene una gran demanda y casi todas las empresas de buenos productos tienen esta función en sus equipos y son muy valoradas.
Lectura recomendada
- Preguntas y respuestas de la entrevista SDET (guía completa)
- 10 MEJORES empresas y servicios de desarrollo de software personalizado en 2021
- 20 MEJORES herramientas de desarrollo de software (ranking 2021)
- Medidas para SSDLC (ciclo de vida de desarrollo de software seguro)
- Fases, metodologías, procesos y modelos de SDLC (ciclo de vida de desarrollo de software)
- Metodologías de desarrollo y prueba de software (con pros y contras)
- 5 cosas que un desarrollador (y evaluador) principiante debe saber sobre las pruebas de software
- 5 formas de ser un probador de software audaz y seguro