stringtranslate.com

Pruebas en tiempo real

La prueba en tiempo real es el proceso de probar sistemas informáticos en tiempo real .

Las pruebas de software se realizan para detectar y ayudar a corregir errores en el software de la computadora. Las pruebas implican no solo garantizar que el software esté libre de errores, sino también que proporcione la funcionalidad requerida al usuario. Los métodos de prueba estáticos y convencionales pueden detectar errores, pero es posible que dichas técnicas no aseguren resultados correctos en sistemas de software en tiempo real.
Los sistemas de software en tiempo real tienen restricciones de tiempo estrictas y tienen un comportamiento determinista. Estos sistemas tienen que programar sus tareas de manera que se cumplan las restricciones de tiempo que se les imponen. La forma estática convencional de análisis no es adecuada para lidiar con tales restricciones de tiempo, por lo que es importante realizar pruebas adicionales en tiempo real. [1]

Estrategia

El diseño de casos de prueba para pruebas en tiempo real se puede proponer en cuatro pasos [2]

En el primer paso, cada tarea se prueba individualmente con pruebas estáticas convencionales. Estas pruebas se realizan únicamente para descubrir errores en la lógica o la sintaxis del programa. El orden de los eventos no importa, ya que las pruebas de tareas no se ocupan de las restricciones de tiempo ni de las propiedades temporales de los eventos.
Utilizando los modelos de sistema diseñados con la ayuda de herramientas de pruebas automatizadas, es posible simular el comportamiento del sistema en tiempo real y el impacto de eventos externos concurrentes en su comportamiento.
Una vez que se realizan las pruebas con la tarea individual, se supone que la tarea está libre de errores en el área de codificación y comportamiento. Las restricciones relacionadas con el tiempo se prueban con pruebas entre tareas. Para revelar los errores en la comunicación, las tareas asincrónicas se prueban con velocidades de datos variables y diferentes cargas útiles.
En esta prueba, se integran el software y el hardware y se realiza una gama completa de pruebas del sistema para descubrir errores, si los hay, durante la interfaz entre el software y el hardware .

Herramientas para pruebas en tiempo real

A medida que las pruebas de sistemas en tiempo real se vuelven más importantes, existen algunas herramientas diseñadas para dichas pruebas.

MSC

Los gráficos de secuencia de mensajes son un estándar aceptado internacionalmente para capturar requisitos. [3] MSC proporciona un lenguaje gráfico 2-D que a menudo se requiere para recopilar requisitos a través de algunos escenarios de interacción.

SDL

El lenguaje de especificación y descripción es un estándar utilizado para el diseño y el análisis. SDL [4] admite la especificación de sistemas de software complejos y se ha aplicado ampliamente en una amplia gama de dominios, desde telecomunicaciones y automatización hasta el desarrollo de software en general.

TTC

Testing and Test Control Notation es el único lenguaje de pruebas estándar a nivel internacional. TTCN3 [5] ofrece una aplicabilidad más amplia, en comparación con versiones anteriores de TTCN, que se centraban principalmente en protocolos OSI únicamente.

Estos tres estándares se utilizan en conjunto para probar aplicaciones en tiempo real. Es necesario que los requisitos se cumplan con estos modelos y los casos de prueba generados deben capturar la información funcional y en tiempo real necesaria para probar los sistemas. Además, los cambios en los requisitos de diseño y la nueva información sobre las propiedades en tiempo real de los sistemas deben incorporarse a los modelos para poder determinar su impacto.

Para capturar con precisión las propiedades en tiempo real de un sistema de prueba determinado y garantizar que los requisitos y modelos se utilicen para generar información de tiempo realista y exigible, es esencial que el lenguaje mismo (TTCN-3) tenga un modelo de tiempo bien comprendido y semánticamente sólido.

TCN-3

Fondo

TTCN-3 es el único lenguaje de pruebas estandarizado internacionalmente que se encuentra disponible actualmente. Antes de TTCN3, sus versiones anteriores tenían una funcionalidad y un alcance limitados en el protocolo OSI. Sin embargo, TTCN3 es una versión avanzada y tiene una aplicabilidad más amplia.
Las características de TTCN3 son:

La razón para utilizar TTCN3 para pruebas en tiempo real se debe a sus temporizadores. Estos temporizadores se definen en conjuntos de pruebas de funciones . No se utilizan temporizadores de tipo global en TTCN3. Estos temporizadores se pueden iniciar, detener y verificar mediante funciones simples como timer.start, timer.stop y timer.read.

La semántica de instantáneas es una técnica de TTCN3 (también de TTCN2) que se ocupa del mensaje que se transmite durante la comunicación entre sistemas o la implementación en prueba. Cuando el sistema en prueba recibe una serie de respuestas, se toma una instantánea y se evalúan en orden de llegada. Por lo tanto, cada vez que se trata de un conjunto de atributos, se toma una instantánea y solo se evalúan los eventos que están presentes en la instantánea.

Pero esta técnica no es eficiente, ya que algunos eventos y la información de sus atributos pueden perderse mientras se toma la instantánea. Algunos eventos pueden registrarse en la cola de procesamiento, pero no en la instantánea. Dichos eventos nunca pueden procesarse. Además, si el equipo de ejecución de la prueba no es lo suficientemente rápido, no puede comunicarse correctamente con el sistema bajo prueba. Por lo tanto, pueden generarse fallas durante dicha evaluación de prueba.

Herramientas de Linux[6][7]

Véase también

Referencias

  1. ^ Tsai, JJP; Fang, K.-Y.; Bi, Y.-D. (1990). "Sobre pruebas y depuración de software en tiempo real". Actas, Decimocuarta Conferencia Anual Internacional de Software y Aplicaciones Informáticas . págs. 512–518. doi :10.1109/CMPSAC.1990.139423. ISBN 978-0-8186-2054-6.
  2. ^ Pressman, Roger S. (2005). Ingeniería de software: un enfoque práctico (6.ª ed.). Boston, Mass.: McGraw-Hill. ISBN 0-07-285318-2.OCLC 53848343  .
  3. ^ Generación de casos de prueba TTCN-3 a partir de gráficos de secuencia de mensajes (PDF) .
  4. ^ "SDL Forum Society - Página de inicio". sdl-forum.org . Consultado el 8 de marzo de 2021 .
  5. ^ "Inicio". TTCN-3 . Consultado el 8 de marzo de 2021 .
  6. ^ Dahlke, Patrick (6 de febrero de 2018). «Realtime Linux». Medium . Consultado el 10 de marzo de 2021 .
  7. ^ "Mejores prácticas de pruebas en tiempo real - eLinux.org". elinux.org . Consultado el 10 de marzo de 2021 .