¿Cuáles son los casos de prueba más comunes en el desarrollo de ios? Incluir ejemplos

Jaanis Kruumins es correcto. A un punto. Prueba todo. Todo ello. ¿Es estúpido verificar si los inits regresan correctamente o si una matriz contiene 20 elementos, si eso es lo que acabas de hacer? Sí. Pero eso lo prueba gratis, y una vez que está hecho, realmente no tiene que volverse a hacer. Probar una llamada asíncrona o la base de datos se puede hacer con datos simulados.

Pero si está agregando pruebas a un proyecto que ya está en funcionamiento, entonces estará en un mal momento. Se ha demostrado a sí mismo que no necesita pruebas, y cuando las cosas salgan mal, y lo harán, le resultará mucho más difícil saber por qué o dónde comenzar a buscar la causa raíz del error. Sin embargo, si toma esa misma base de código y la copia a otro proyecto e la importa Módulo por Módulo, descubrirá exactamente por qué necesita pruebas. Encontrará código muerto, código no utilizado. Código que se puede dividir en funciones más pequeñas y código que podría / sería mucho mejor (pero necesita esto). En cuanto a los detalles, puede probar una variedad de rangos o conjuntos de datos, o incluso que la salida no se desvía más allá de un cierto nivel de precisión. Pruebe que no puede cometer errores o que los datos de entrada que están defectuosos se manejan correctamente. Test to Fail y observe lo que falla, no solo las pruebas ‘Sunshine’

También TDD by the Test first nature te obliga a planificar y razonar tu código, no solo golpearlo hasta que esté ‘listo, supongo’

En cuanto a los ejemplos:

Bueno no. Y no porque sea malo, sino más bien; El código de prueba es el código menos reutilizable de todos. Pero puedo señalarle en la dirección correcta.

Esta charla es del ‘Tío Bob’ (Robert C. Martin) y se llama “Lo que mató a Smalltalk podría matar a Ruby” Y me encanta porque Smalltalk es el progenitor de Objective-C y la falta de pruebas no es lo que mató a Cocoa (Todavía no está muerto) Lo que mata a ObjC es que ES DEMASIADO fácil hacer un desastre. Pero si tiene pruebas, entonces no hará un desastre. Su código funcionará porque funciona.

Detener. Espere. ¡No!

Las pruebas no se hacen de esa manera. Primero, hay una gran cantidad de estrategias de prueba y se supone que debes saber al menos en términos generales cómo funcionan y por qué funcionan.

Eche un vistazo allí: Pruebas de software, la parte “Métodos de prueba” en particular.

Entonces, aquí, para comprender qué es una prueba unitaria: Prueba unitaria

ObjectiveC y Swift alientan a los programadores a hacer que su código sea muy modular, por lo que determinar qué es un módulo no debería ser un problema. Si lo es, y cree que el código no es modular, generalmente significa que el código debe ser rediseñado.

Finalmente, qué probar. Si desea verificar si el código funciona correctamente en un conjunto limitado de variables, la forma más fácil es tratar sus módulos como cajas negras y verificar si se esperan valores de salida y estado de salida en función de la entrada.

Micro cosas como las verificaciones nulas (que merece un comentario por separado), los elementos de la matriz cuentan y son irrelevantes. Lo que necesita es alejarse un poco y ver el código en una escala macro. Luego verifique si los módulos más grandes no tienen efectos secundarios, si su entrada y salida son relevantes y si no puede hacer que todo se bloquee al alimentar algo incorrecto. Y esto solo está comenzando, pero a menudo es suficiente para una aplicación más pequeña.