En las pruebas de mutación, los errores se insertan intencionalmente en el programa y se crean mutantes. Un mutante es simplemente un programa defectuoso. Y nuestro objetivo es determinar si nuestro conjunto de pruebas es capaz de detectar los errores inyectados. Nuestra suposición es que los errores inyectados representan las fallas comunes que podemos encontrar en un programa real.
Entonces, para resumir, las pruebas de mutación se usan en pruebas de software para probar la efectividad de los conjuntos de pruebas. Esta técnica generalmente proporciona la cobertura de línea (% de líneas cubiertas) y la cobertura de mutación (% de mutantes detectados) a través de las cuales podemos determinar fácilmente la efectividad de nuestro conjunto de pruebas.
Si la herramienta A tiene 70% de cobertura de línea y 50% de cobertura de mutación, y la herramienta B tiene 80% de cobertura de línea y 60% de cobertura de mutación, entonces asumiría que la herramienta B es mejor que la herramienta para detectar posibles errores en el sistema. Como elegir un conjunto de pruebas eficiente y efectivo es uno de los desafíos en la ingeniería de software, las pruebas de mutación juegan un papel indispensable para ese propósito.
- ¿Quién es el líder actual en software OpenStack en términos de estabilidad y número de implementaciones? ¿Sombrero rojo? ¿Canónico? ¿Pistón? Mirantis? ¿Escalada de nubes?
- ¿Cuál es la mejor manera de diseñar un programa de autoeducación que aprenda a crear / construir software?
- ¿Existe un período óptimo de tiempo ininterrumpido (sin distracciones) que los programadores necesitan para trabajar de manera efectiva? Por ejemplo, estiramientos de treinta minutos no funcionan para mí.
- ¿Cuál es el mejor software para grabar la pantalla de su computadora para tutoriales?
- ¿Cuándo empezaron a llamar a los programadores "ingenieros"?