Me preguntaba cómo las grandes compañías de desarrolladores de software buscan errores en sus programas. ¿Simplemente lo prueban en varias computadoras?
Me preguntaba cómo las grandes compañías de desarrolladores de software buscan errores en sus programas. ¿Simplemente lo prueban en varias computadoras?
Tal como está actualmente, esta pregunta no es adecuada para nuestro formato de preguntas y respuestas. Esperamos que las respuestas estén respaldadas por hechos, referencias o experiencia, pero esta pregunta probablemente solicitará debate, argumentos, encuestas o discusión
Recientemente en el trabajo hemos tenido algunas diferencias de opinión con respecto a las pruebas parametrizadas . Normalmente usamos un estilo TDD (o al menos lo intentamos), así que entiendo los beneficios de ese enfoque. Sin embargo, estoy luchando por ver la ganancia que traen las pruebas...
Sé que se supone que no debes probar métodos privados, y si parece que lo necesitas, es posible que haya una clase allí esperando para salir. Pero, no quiero tener un millón de clases solo para poder probar sus interfaces públicas y encuentro que para muchas clases si solo pruebo los métodos...
Tengo una clase base con una buena cantidad de "meta programación" para darle la flexibilidad / abstracción que necesita para ser bastante genérica. Tengo muchas subclases que usan los métodos comunes en la clase base, y tengo pruebas unitarias orientadas al comportamiento que cubren todos los...
Estoy refactorizando una gran clase de código heredado. La refactorización (supongo) aboga por esto: escribir pruebas para la clase heredada refactorizar al diablo de la clase Problema: una vez que refactorice la clase, mis pruebas en el paso 1 deberán cambiarse. Por ejemplo, lo que una vez...
Hace poco leí un artículo que decía que los objetos simulados a menudo son mal entendidos y mal utilizados. ¿Hay algún antipatrón burlón claro que pueda tener en
Estoy trabajando en un sistema heredado (con eso quiero decir que fue escrito sin pruebas). Hemos tratado de probar parte del sistema escribiendo pruebas de integración que prueban la funcionalidad desde el exterior. Esto me da cierta confianza para refactorizar partes del código sin preocuparme...
Escucho mucho de los profesionales de TDD que una de las ventajas de TDD es que obliga a los desarrolladores a seguir los principios SÓLIDOS (responsabilidad única, abierto-cerrado, sustitución de Liskov, segregación de interfaz e inversión de dependencia). Pero en cuanto a mí, es suficiente...
Al crear un sistema como una IA, que puede tomar muchas rutas diferentes muy rápidamente, o realmente cualquier algoritmo que tenga varias entradas diferentes, el posible conjunto de resultados puede contener una gran cantidad de permutaciones. ¿Qué enfoque se debe tomar para usar TDD al crear un...
Vi una presentación de Google Tech Talk sobre Pruebas unitarias , dada por Misko Hevery, y me dijo que evitara usar la newpalabra clave en el código de lógica de negocios. Escribí un programa y terminé usando la newpalabra clave aquí y allá, pero fueron principalmente para crear instancias de...
Por ejemplo, si el código genera un int aleatorio de 0-10, y toma una rama diferente en cada resultado, ¿cómo se puede diseñar un conjunto de pruebas para garantizar una cobertura del estado del 100% en dicho código? En Java, el código podría ser algo como: int i = new
Quería preguntarles a las personas, en cuyo caso tiene sentido probar un código funcional estáticamente tipado, como está escrito en haskell, scala, ocaml, nemerle, f # o haXe (el último es lo que realmente me interesa, pero quería aprovechar el conocimiento de las comunidades más...
He tenido un poco de experiencia con las pruebas unitarias antes, en lo que llamo (no peyorativamente) el clásico proyecto de ingeniería de software: un MVC, con una GUI de usuario, una base de datos, lógica de negocios en la capa media, etc. Ahora ' m escribir una biblioteca de computación...
Sé que esta es una práctica debatida, pero supongamos que esta es la mejor opción para mí. Me pregunto cuál es la técnica real para hacer esto. El enfoque que veo es este: 1) Haz que una clase de amigo sea la de la clase cuyo método quiero probar. 2) En la clase amigo, cree uno o varios métodos...
¿Cuál sería el mejor enfoque en la unidad de prueba de un modelo que se integra en una aplicación que está estrechamente vinculada a la base de datos? El escenario específico aquí es un carrito de compras: me gustaría poder probar la adición, la eliminación y la recuperación de artículos del...
Estoy tratando de construir algunos casos de prueba, y he leído que debes intentar limitar el número de afirmaciones por caso de prueba. Entonces mi pregunta es, ¿cuál es la mejor manera de probar una función con múltiples entradas? Por ejemplo, tengo una función que analiza una cadena del usuario...
Estoy trabajando en varias aplicaciones, principalmente las heredadas. Actualmente, su cobertura de código es bastante baja: generalmente entre 10 y 50%. Desde hace varias semanas, tenemos discusiones recurrentes con los equipos de Bangalore (la parte principal del desarrollo se realiza en alta...
Inspirado por esta pregunta Uso de bibliotecas de terceros: ¿siempre usa un contenedor? Quería saber lo que la gente realmente considera bibliotecas de terceros. Ejemplo de PHP: si estoy creando una aplicación usando Zend Framework, ¿debo tratar las bibliotecas Zend Framework como código de...
TDD se trata de diseñar código, guiado por pruebas. Por lo tanto, las capas típicas no suelen construirse por adelantado; deberían aparecer ligeramente a través de pasos de refactorización. El diseño impulsado por el dominio implica muchos patrones técnicos, que definen capas bien establecidas...