Edge case

De Wikipedia, la enciclopedia libre

Un Edge case (situación limítrofe) es un problema o situación que ocurre sólo en un extremo (máximo o mínimo) de un parámetro operativo. Por ejemplo, la bocina de un estéreo podría distorsionar el audio cuando el volumen esté al máximo, incluso cuando no está siendo afectada por otra situación o preferencia.

Una situación limítrofe puede ser esperada o inesperada. En ingeniería, el proceso de planear para y adecuadamente lidiar con situaciones limítrofe puede ser una tarea importante, y de todas formas esta tarea puede ser pasada por alto o subestimada.

Las situaciones limítrofe no-triviales pueden resultar en la falla de un objeto que esté siendo diseñado. Podrían no haber sido previstas durante la fase de diseño, y podría haberse pensado que no eran posibles durante el uso normal del objeto. Por esta razón, los intentos de formalizar buenos estándares de ingeniería a menudo incluyen información acerca de situaciones limítrofe.

Ingeniería de software[editar]

En programación, una situación limítrofe típicamente implica la entrada de valores que requieren un manejo especial en un algoritmo detrás de un programa de computadora. Una medida para validar el comportamiento de programas de computadora en tales casos es crear pruebas unitarias; éstas prueban las condiciones límite de un algoritmo, función o método. Una serie de situaciones limítrofe alrededor de cada "frontera" pueden dar una cantidad razonable de certeza y cobertura, suponiendo que si se comporta correctamente en los extremos debería comportarse correctamente en otras circunstancias.[1]

Por ejemplo, una función que divida dos números podría ser probada utilizando números muy grandes y números muy pequeños. Se supondría que si la función se ejecuta en ambos extremos, debería comportarse de manera correcta en los puntos medios.

Véase también[editar]

  • Caso de esquina, un asunto que ocurre sólo cuándo múltiples condiciones medioambientales están en niveles extremos (máximos o mínimos) simultáneos.
  • Ingeniería forense
  • Fuzzing
  • Testaje aleatorio

Referencias[editar]

 

  1. Zimmerman, Josh (2012). «Unit Testing». Principles of Imperative Computation. cs.cmu.edu. Consultado el 16 de enero de 2014.