Hemos seleccionado contenidos en la web y otros hemos escrito nosotros, todos relacionados con las bases conceptuales del buque insignia, el KW Project.
A
- A/B testing
- Las pruebas A / B implican comparar dos (o más) opciones de IU (Interfaz de Usuario) diferentes y encontrar cuál es la mejor para un usuario. “Mejor” puede definirse de muchas maneras, por ejemplo, el diseño de los botones que genera la mayor cantidad de interacciones, la redacción que más atrae los intereses del usuario, etc. La clave para una buena prueba A / B es tener una buena instrumentación de su aplicación.
Esto le permitirá registrar y analizar correctamente las interacciones de los usuarios.
- Análisis Adaptativo
- Utilizado para la automatización de pruebas. Combina múltiples formas de aprendizaje automático junto con la visión por computadora, el procesamiento del lenguaje natural y técnicas de ciencia de datos más tradicionales. Esto permite que este tipo de sistema modele con precisión cómo debe funcionar la interfaz de usuario, lo que garantiza que necesita un mantenimiento de prueba mínimo.
- Proceso Adaptativo
- El procesamiento adaptativo sirve para crear exámenes a partir de planes de exámenes escritos en forma sencilla. Funciona con procesamiento de lenguaje natural, pero está diseñado específicamente para realizar pruebas. Esto le permite analizar y comprender planes de prueba estructurados y no estructurados. Las pruebas resultantes pueden ejecutarse en varios navegadores y plataformas.
- Assertion
- Una aserción se utiliza en pruebas automatizadas para afirmar el comportamiento esperado de la prueba. Una aserción falla si el resultado es diferente de lo que esperaba. Este es un concepto clave en las pruebas funcionales. Las afirmaciones se usan comúnmente en las pruebas unitarias , pero el mismo concepto se aplica a otras formas de prueba automatizada.
- Agente de prueba inteligente
- Un agente de prueba inteligente utiliza el aprendizaje automático y otras formas de inteligencia artificial para ayudar a crear, ejecutar, evaluar y mantener pruebas automatizadas.
De hecho, actúa como un ingeniero de pruebas que nunca necesita dormir, vacaciones o días libres.
B
- Bug
- Un error o bug es una descripción genérica de cualquier problema con un software que impide que funcione según lo previsto. Los errores pueden variar desde problemas menores en la interfaz de usuario hasta problemas que hacen que el software se bloquee. El objetivo de las pruebas de software es minimizar (o preferiblemente eliminar) los errores en su software. Consulte también Defecto y regresión.
C
- Canary Testing
- En Canary Testing, un pequeño porcentaje (alrededor del 5-10% de los usuarios) se traslada a su nuevo código. Su objetivo es comparar su experiencia de usuario con la de los usuarios que todavía utilizan la versión anterior del código. De esta manera, su nuevo código se prueba en una amplia gama de dispositivos mientras se ejecuta en sus servidores de producción en condiciones del mundo real. Al comparar el nuevo código con el código existente, puede detectar cualquier comportamiento inesperado y registrar cualquier cambio / mejora en el rendimiento.
- Cobertura de código
- Esto está relacionado con las pruebas unitarias. La cobertura de código mide la proporción de su código funcional que tiene pruebas unitarias asociadas. Normalmente, se da como porcentaje. Muchas herramientas de CI miden esto automáticamente y se pueden usar como criterio para aceptar una solicitud de extracción.
- Calidad / aseguramiento de la calidad
- La garantía de calidad es el proceso de garantizar que todo su software cumpla con un nivel adecuado de calidad. Es decir, asegurarse de que esté bien probado y documentado, corrigiendo todos los errores y defectos y verificando que cumpla con los requisitos del usuario. Muchas empresas adoptarán marcos de gestión de la calidad como ISO 9001.
D
- Desarrollo impulsado por el comportamiento
- El desarrollo impulsado por el comportamiento o BDD se enfoca en las necesidades del usuario final, observando cómo se comporta el software, no si pasa las pruebas. BDD se desarrolló como una reacción al desarrollo impulsado por pruebas (ver más adelante). BDD a menudo está estrechamente relacionado con Gherkin , un lenguaje específico de dominio creado para describir pruebas.
- Defecto
- Un defecto es una forma de error de software (bug). Los defectos ocurren cuando el software no se ajusta a la especificación. A veces, esto hará que el software falle de alguna manera, pero con mayor frecuencia un defecto puede ser visual o tener un impacto funcional limitado.
F
- Fracaso
- Una prueba falla cuando una prueba no se completa o cuando no produce el resultado esperado. Algunas fallas de prueba son falsas y ocurren debido a problemas con la prueba en sí.
Consulte Resultado falso positivo.
G
- Gestión del Conocimiento
- La gestión del conocimiento (del inglés knowledge management) es un concepto aplicado en las organizaciones.
Tiene el fin de transferir el conocimiento desde el lugar donde se genera hasta el lugar en dónde se va a emplear (Fuentes, 2010), e implica el desarrollo de las competencias necesarias al interior de las organizaciones para compartirlo y utilizarlo entre sus miembros, así como para valorarlo y asimilarlo si se encuentra en el exterior de éstas.
En el ámbito organizacional la gestión del conocimiento se enfoca en que cada uno en la organización sepa lo que el otro conoce con el objetivo de mejorar los rendimientos de las organizaciones, según Pablo Belly.
El concepto de gestión del conocimiento no tiene una definición única, ya que ha sido explicado por diferentes autores de diversas formas de acuerdo con cada perspectiva de análisis, haciendo énfasis en algunas de sus características particulares (Fuentes, 2010: pp. 114-115).
El conocimiento reside en el complejo sistema de procesos que da como resultado, la materialización de los bienes o servicios (Cordero Borjas & García Fernández, 2008). Según Múnera y Franco (2002) citado por (García Fernández & Cordero Borjas, 2008), existen dos soportes básicos del conocimiento:
1) El capital humano que interviene en los procesos de producción o de soporte organizacional (formación, capacidades, cualidades personales, entre otras); y
2) La información manejada en dichos procesos, que capacita a estas personas a incrementar su formación o habilidades para el desarrollo de sus tareas.
La gestión del conocimiento es el proceso que continuamente asegura el desarrollo y la aplicación de todo tipo de conocimientos pertinentes de una empresa con objeto de mejorar su capacidad de resolución de problemas y así contribuir a la sostenibilidad de sus ventajas competitivas (Andreu & Sieber 1999).
También se ve como la función que planifica, coordina y controla los flujos de conocimiento que se producen en la empresa en relación con sus actividades y su entorno, con el fin de crear unas competencias esenciales (Bueno, 1999).
Además abarca la adquisición y uso de recursos para crear un entorno en el que la información es accesible a los individuos y en el que los individuos adquieren, comparten y usan dicha información para desarrollar su propio conocimiento y son alentados y habilitados para aplicar su conocimiento en beneficio de la organización. (Harman and Brelade 2000).
Se centra en la forma de dar a conocer y administrar las actividades relacionadas con el conocimiento, así como su creación, captura, transformación y uso. Su función es planificar, implementar y controlar, todas las actividades relacionadas con el conocimiento y los programas requeridos para la administración efectiva del capital intelectual e incluye la aplicación de perspectivas tácticas y operativas más detalladas respecto a la Gestión del Capital Intelectual (Wiig, 1997).
Se pueden identificar regiones en el mundo donde la acumulación de conocimiento se da en forma sinérgica, de acuerdo a la intensidad de los procesos de aprendizaje colectivo que el mismo territorio y sus diferentes entidades fomentan (Fuentes, 2010 pp.114).
Estos procesos de aprendizaje expanden de manera social el conocimiento, pero no solo en las empresas sino en todo el territorio (véase a Grant, 1996: p.376).
Características del conocimiento tácito
Gestionar el conocimiento implica verlo como uno de los recursos clave de cualquier organización. Desde esta perspectiva hay que considerar que inicialmente se adquiere y manifiesta mediante habilidades, experiencias e intuiciones de forma tácita. Las propiedades principales del conocimiento tácito son (Fuentes, 2010: pp. 114-115):
Intangible. No se puede tocar, manipular, ni cuantificar, sin embargo su aplicación produce efectos observables e incluso medibles.
No se consume. No disminuye ni se desgasta por el uso.
Inocuo. El conocimiento por sí mismo no hace daño a nada ni nadie, su interpretación y/o uso son las actividades que le confieren un fin, sin embargo estas acciones son las que se constituyen en componentes éticos.
Es multipropósito. Se puede adaptar a diferentes aplicaciones lo que le confiere un valor de uso.
Es potencial. Su valor de uso depende de un conjunto de competencias y capacidades de la entidad que lo ponga en práctica.
Es imperecedero. El conocimiento no se daña ni se deteriora. Lo que caduca es su capacidad para ser usado en algún propósito.
Es acumulable. El conocimiento se puede incrementar en sistemas de trabajo, dispositivos de almacenamiento y en la mente.
Características del conocimiento explícito
Transportable. Se puede llevar desde el lugar en que se generó o almacenó hasta el lugar dónde se va a ocupar o almacenar nuevamente, para ello debe hacerlo explícito por medio de información y utilizando un canal de comunicación que es el elemento físico que lo transmite de un punto a otro. Lo anterior implica que se puede incorporar a dispositivos y/o procesos para después con técnicas de ingeniería inversa se pueda recuperar.
Fuente: https://es.wikipedia.org/wiki/Gesti%C3%B3n_del_conocimiento
- GitHub
- Es una plataforma que permite crear repositorios de código colaborativo.
Es decir, un lugar donde guardar ficheros con código fuente en cualquier lenguaje y ponerlo a disposición de todo aquel que esté interesado. Incluso se pueden gestionar los permisos de cada proyecto subido a la plataforma para que otros opinen, lo modifiquen…
Además, en GitHub ofrece acceso a interesantes herramientas con las que poder trabajar como bug tracking, gestión de tareas, estadísticas o una web para que se promocione el proyecto. Todo a golpe de clic de manera sencilla y rápida.
Aunque esta plataforma tiene solo diez años de vida, se ha convertido en la compañía perfecta de muchos desarrolladores.
Nació en una oficina del valle de San Francisco y cuenta en la actualidad con más de 28 millones de usuarios.
El carácter de GitHub es formar una comunidad colaborativa.
Por ese motivo cualquier usuario puede descargarse el código que otro haya subido, siempre y cuando haya dado permisos para ello, y “forkearlo”. ¿Qué significa esto? El término “forkearlo” se refiere a que la copia de un proyecto hecha por un usuario se convierta en otro repositorio. Sobre él, dicho usuario realizará los cambios que considere y mediante una petición pull request se lo puede hacer llegar de vuelta al usuario inicial para que analice los cambios y valore si incorporarlos o no a su proyecto.
GitHub también dispone de repositorios privados donde solo el creador y quien él decida tendrán acceso. Para esto, eso sí, se deberá pagar una cuota mensual.
El software que opera GitHub fue escrito en Ruby on Rails.
Desde enero de 2010, GitHub opera bajo el nombre de GitHub, Inc. Anteriormente era conocida como Logical Awesome LLC.
El 4 de junio de 2018 Microsoft compró GitHub por la cantidad de 7500 millones de dólares, un cambio de propietarios que ha provocado la salida de varios proyectos de este repositorio debido la posibilidad de acceso a códigos fuentes por parte de una compañía que basa uno de sus principales negocios en el software.
Fuente: https://www.tokioschool.com/noticias/que-es-github/
- Gherkin
- Gherkin es un lenguaje de dominio específico creado para
las pruebas basadas en el comportamiento. Describe los componentes y sus pruebas asociadas en un lenguaje formal diseñado para facilitar la prueba automática del software resultante.
I
- ISO 9001: Gestión del conocimiento y la calidad
- “Nuestros productos son de calidad” o “Calidad garantizada” son algunos de los eslóganes más habituales que todas las empresas incorporan cada vez que promocionan sus productos y servicios. Al fin y al cabo, ¿quién sería tan estúpido como para reconocer que lo que hace es una bazofia? Pero, ¿qué significa calidad? ¿Cómo puedes estar seguro de que lo que entregas es de calidad? Y lo más importante, ¿quién decide la calidad?
Un producto o servicio es de calidad cuando éste está a la altura de la promesa que se hace al usuario de que cumplirá con sus expectativas y con el objetivo para el que fue creado. Es difícil evaluar la calidad puesto que no es un elemento objetivo ni numérico, sino algo subjetivo y opinable.
La calidad resulta ser uno de los conceptos más manoseados en el mundo del management. La mayoría de las medianas y grandes empresas han incorporado a sus organizaciones departamentos de calidad y, además, cuentan con políticas y sistemas de gestión de calidad gracias a las cuales ha surgido un mercado de certificaciones, consultorías, herramientas tecnológicas…
La ISO se ha convertido en un estándar internacional para cualquier empresa que desee prosperar en una economía cada vez más competitiva. En concreto, la ISO 9001 es la norma de calidad más aplicada a nivel mundial y se utiliza para acreditar que se dispone de un sistema de gestión orientado al aseguramiento de la calidad de los productos y servicios. En 2014, más de 1,6 millones de organizaciones a nivel mundial estaban certificadas bajo la versión 2008 de la norma cuyo periodo de vigencia suele estar limitado a unos tres años.
Sin embargo, cuando se analiza con detenimiento, es fácil comprobar que en la mayoría de ocasiones, las empresas buscan la certificación ISO 9001 por tratarse de una exigencia impuesta por determinados mercados o clientes. El objetivo es hacerse lo más rápido posible con el sello, cumplir con el requerimiento pero son minoría las organizaciones convencidas de que la calidad es parte medular de su estrategia y su razón de ser.
La nueva versión de la ISO 9001 incluye una cláusula que hace mención explícita del conocimiento como recurso trascendental y define los requerimientos necesarios para su gestión. Toda organización que quiera certificarse o mantener su certificado tendrá que demostrar cómo gestiona su conocimiento y cómo ha previsto incorporar el conocimiento futuro que no tiene y va a necesitar. La consecuencia evidente de la promulgación de esta versión 2015 es el reconocimiento explícito de la gestión del conocimiento como un elemento clave de la gestión empresarial.
¿QUÉ INDICA LA CLÁUSULA 7.1.6 REFERIDA AL CONOCIMIENTO ORGANIZACIONAL?
“La organización debe determinar los conocimientos necesarios para la operación de sus procesos y lograr la conformidad de los productos o servicios. Se mantendrán estos conocimientos, y serán puestos a disposición en la medida necesaria. Al abordar las necesidades y tendencias cambiantes, la organización debe considerar sus conocimientos actuales y determinar cómo adquirir o acceder a los conocimientos adicionales necesarios».
Comentario 1: Los conocimientos de la organización son conocimientos específicos que la organización adquiere generalmente con la experiencia. Es información que se utiliza y se comparte para lograr los objetivos de la organización.
Comentario 2: Los conocimientos de la organización pueden basarse en:
– Fuentes internas. Por ejemplo, propiedad intelectual, conocimientos adquiridos con la experiencia, lecciones aprendidas de los fracasos y proyectos exitosos, capturar y compartir conocimientos y experiencia no documentados, los resultados de las mejoras en los procesos, productos y servicios.
– Fuentes externas. Por ejemplo, normas, instituciones académicas, conferencias, recopilación de conocimientos provenientes de clientes o proveedores externos.
El detalle no es menor porque, nunca antes, el conocimiento y su gestión habían formado parte nuclear de una norma internacional para el aseguramiento de la calidad de productos y servicios.
Esta cláusula no es una norma para la gestión del conocimiento ni tampoco implica su obligatoriedad. Lo que, principalmente, demanda es que las organizaciones tengan en cuenta el conocimiento para asegurar la calidad de los bienes y servicios para así alcanzar la conformidad con los mismos. Existen dos grandes objetivos relacionados con el conocimiento organizacional:
– Identificar el conocimiento crítico a gestionar, mantenerlo y hacerlo disponible.
– Estimular el aprendizaje organizacional y la adquisición de conocimiento futuro.
A mayor conocimiento, mayo desempeño y más posibilidades de lograr objetivos. Lo que ocurre con las personas también sucede con las organizaciones: a mayor conocimiento organizacional, mayor eficiencia y mejores resultados. Y esta es la razón por la que este nuevo requisito aparece en la norma.
De las dos notas que acompañan a la cláusula, se desprenden referencias directas y claras a distintos elementos de la gestión del conocimiento:
– Contar con un sistema que asegure que los colaboradores incrementen su conocimiento facilitando instancias de aprendizaje a través de la experiencia y la reflexión, por ejemplo mediante la utilización de lecciones aprendidas que retroalimente los procedimientos de casos de éxito y fracaso.
Desarrollar un sistema en el que sea posible compartir los conocimientos mediante procesos de transferencia e intercambios.
– Contar con un sistema para la protección del conocimiento crítico para evitar su pérdida mediante procesos de retención del conocimiento, incluyendo mentoring, previniendo que personal clave o en edad de jubilación centralicen un conocimiento valiosísimo en la empresa.
– Contar con modelos de auditoría de la gestión del conocimiento, benchmarking y un modelo estratégico que permita la identificación del conocimiento crítico.
– Contar con un sistema para mantener el conocimiento, sistematizando las experiencias y el conocimiento tácito en bases inteligentes de conocimiento para su reutilización, poniéndolo a disposición de las personas que lo requieran en el momento adecuado.
– Contar con un sistema para crear nuevo conocimiento a través de procesos de innovación.
Estas nuevas exigencias van a suponer un cambio trascendental en la manera de abordar la gestión del conocimiento porque a partir de ahora, ya es parte del conjunto de requerimientos de una de las normas internacionales más difundidas. Así, pasará de ser percibida como “algo recomendable para la organización” a ser un elemento orientado a demostrar la mejora continua así como “un requerimiento para poder obtener el certificado de calidad”.
COMO RESPONSABLE DE CALIDAD, ¿CÓMO DEBO PREPARARME PARA CONSEGUIR LA CERTIFICACIÓN DE CALIDAD?
La auditoría para la certificación de la norma ISO 9001:2015 se lleva a cabo revisando el sistema de gestión de la calidad establecido para cumplir con los requisitos definidos por la norma. Para ello, las organizaciones que se quieran certificar tendrán que implementar diversas herramientas y metodologías de gestión de conocimiento como las que se incluyen en la siguiente tabla:
Cuando la organización tiene implementadas estas instancias, el cumplimento de los requisitos de la norma y por tanto el proceso de certificación, se convierte en un trámite sencillo.
Está demostrado que las organizaciones que han implementado iniciativas de gestión del conocimiento, obtienen impactos positivos en los resultados, si bien, dicho efecto no es inmediato.
Toda organización que se enfrente a la necesidad de adaptar su sistema a la nueva versión de la ISO 9001, o bien de certificarlo por primera vez, tendrá que pensar en cómo cumplir con este nuevo requisito. Pero más importante aún, tiene la oportunidad de reflexionar respecto de cómo generar un verdadero aporte de valor en la organización, que es lo que está en el alma de la norma, y así contribuir con un nuevo elemento hacia el objetivo de la mejora continua.
Fuente: https://www.observatoriorh.com/blogosfera/gestion-del-conocimiento-calidad-y-la-nueva-iso-9001.html
- Interoperabilidad
- El Instituto de Ingenieros Eléctricos y Electrónicos (IEEE) define interoperabilidad como la habilidad de dos o más sistemas o componentes para intercambiar información y utilizar la información intercambiada.
Más allá de la perspectiva tecnológica, actualmente la interoperabilidad es entendida como un concepto más amplio con un grupo de dimensiones diferenciadas.
En este sentido, el Marco Iberoamericano de Interoperabilidad recoge para el ámbito de la administración electrónica una de las definiciones más completas existentes actualmente en línea con la definición dada por la Comisión Europea, definiendo interoperabilidad como la habilidad de organizaciones y sistemas dispares y diversos para interaccionar con objetivos consensuados y comunes y con la finalidad de obtener beneficios mutuos. La interacción implica que las organizaciones involucradas compartan información y conocimiento a través de sus procesos de negocio, mediante el intercambio de datos entre sus respectivos sistemas de tecnología de la información y las comunicaciones.
El ámbito de la administración electrónica ha dotado a la interoperabilidad de gran relevancia y ha impulsado estudios científicos que actualmente destacan otras dimensiones por encima de la dimensión técnica de la interoperabilidad. Es precisamente en este contexto donde se impone la interoperabilidad actualmente como uno de los elementos clave para la administración electrónica, reflejado en España a través del Esquema Nacional de Interoperabilidad (ENI).
Además de hablarse de la gobernanza de la interoperabilidad, se reconoce a la interoperabilidad actualmente, al menos, tres dimensiones bien diferenciadas:
– Dimensión técnica
– Dimensión semántica
– Dimensión organizacional
L
- Learning Object
- El concepto de objeto didáctico u objeto de aprendizaje (learning object) se ha convertido en el centro de un nuevo paradigma de diseño de actividades de aprendizaje on-line, que hace énfasis en la reutilización de contenidos y actividades, mediante el uso de metadatos en formatos conocidos. En este artículo se revisa la definición del concepto, y se trata de ofrecer un marco conceptual para la justificación del nuevo paradigma y para la delimitación de sus propiedades esenciales. Concretamente, los conceptos de reuso y reusabilidad se analizan en sus diferentes aspectos.
M
- Marco impulsado por palabras clave
- Los marcos de prueba basados en palabras clave son un enfoque popular para simplificar la creación de pruebas.
Utilizan un procesamiento de lenguaje natural simple junto con palabras clave fijas para definir las pruebas. Esto puede ayudar a los usuarios no técnicos a crear pruebas. El motor debe comprende ciertas palabras clave, pero también comprender texto no estructurado, haciéndolo un enfoque más poderoso.
- Mantenibilidad
- La capacidad de mantenimiento es un concepto abstracto que se refiere a la facilidad con la que se puede mantener una pieza de software. Por lo general, esto significa proporcionar buena documentación, siguiendo convenciones de codificación conocidas, utilizando nombres de funciones y variables significativas, etc. En las pruebas de software, la capacidad de mantenimiento se refiere a la facilidad con la que se pueden actualizar las pruebas cuando se realizan cambios en el sistema. Para los planes de prueba , esto significa agregar comentarios para explicar los objetivos del plan. Para los scripts de prueba , significa documentarlos y comentarlos correctamente.
O
- Orquestación
- La orquestación es una parte clave de las pruebas automatizadas. Implica combinar varias pruebas para crear conjuntos de pruebas complejas y, al mismo tiempo, garantizar que las pruebas no interfieran entre sí. Esto incluye aspectos como asegurarse de que diferentes pruebas no intenten utilizar el mismo usuario de prueba simultáneamente; asegurarse de que el sistema esté en el estado correcto al comienzo de cada prueba; etc.
P
- Prueba automatizada
- Las pruebas automatizadas describen cualquier forma de prueba en la que una computadora ejecuta las pruebas en lugar de un humano. Normalmente, esto significa pruebas de IU automatizadas. El objetivo es lograr que la computadora reproduzca los pasos de prueba que realizaría un evaluador humano.
- Prueba autónoma
- La prueba autónoma es un término para cualquier sistema de automatización de pruebas que pueda funcionar sin ayuda humana. Como ocurre con la mayoría de las cosas, la autonomía es un espectro. Existen varios niveles de autonomía de prueba.
- Pruebas ad hoc
- Las pruebas ad hoc son pruebas aleatorias no planificadas que intentan romper su aplicación. A veces, las pruebas ad hoc se denominan “pruebas de monos”, ya que se comparan con monos que presionan botones al azar. Sin embargo, esto es injusto. Si bien las pruebas ad hoc no están planificadas, están enfocadas. Un probador ad hoc experto sabrá cómo activar los sistemas e intentará todos estos trucos para hacer que el sistema falle.
- Prueba beta
- La prueba beta es una forma común de prueba de aceptación.
Implica lanzar una versión de su software a un número limitado de usuarios reales. Son libres de usar el software como lo deseen y se les anima a dar su opinión. El software y el backend generalmente están instrumentados para permitirle ver qué funciones se están utilizando y registrar informes de fallas, etc. si hay algún error.
- Prueba de caja negra
- En las pruebas de caja negra, el evaluador no hace suposiciones sobre cómo funciona el sistema bajo prueba. Todo lo que sabe es cómo debe comportarse. Es decir, para una entrada determinada, ella sabe cuál es la salida. Consulte también
Prueba de caja blanca .
- Punto de Control
- En las pruebas, un punto de control es un paso de verificación intermedio (afirmación) que se utiliza para confirmar que la prueba se está desarrollando correctamente. Idealmente, debería utilizar puntos de control frecuentes en una prueba compleja. Le permiten “fallar rápidamente”, es decir, identificar que hay un problema en una prueba sin necesidad de completar cada paso. También ayudan a que sus pruebas sean más sólidas.
- Prueba de componentes
- Un componente consta de varias funciones de software combinadas. Por lo general, estos se prueban utilizando el
enfoque de caja blanca. Sin embargo, puede usar
las pruebas de caja negra donde solo hace suposiciones limitadas sobre cómo funciona el código. El objetivo es comprobar que el componente funciona correctamente.
Para hacer esto, las pruebas deben proporcionar valores de entrada adecuados.
- Pruebas basadas en datos (DDT)
- Las pruebas basadas en datos son una forma de
prueba
automatizada .
En las pruebas basadas en datos, ejecuta varias versiones de una prueba con datos diferentes cada vez. Para cada conjunto de datos, conoce el resultado esperado. Los datos pueden provenir de un archivo CSV, un documento XML o una base de datos.
Esta forma de prueba puede ser realmente útil en situaciones en las que necesita ejecutar múltiples variaciones de la prueba.
Por ejemplo, si tiene un sitio que necesita funcionar en varias regiones con diferentes formatos de dirección postal.
- Prueba distribuida
- En las pruebas distribuidas, sus pruebas se ejecutan en varios sistemas en paralelo. Hay varias formas en que las pruebas distribuidas pueden ayudar con la automatización de pruebas.
Puede implicar que varios sistemas finales accedan a un backend para realizar pruebas de estrés más precisas.
O pueden ser varias versiones de la prueba ejecutándose en paralelo en diferentes sistemas. Incluso puede implicar simplemente dividir sus pruebas en diferentes servidores, cada uno con un navegador determinado.
- Prueba de extremo a extremo
- Las pruebas de un extremo a otro implican probar el conjunto completo de flujos de usuarios para garantizar que su software se comporte según lo previsto. El objetivo es probar el software desde la perspectiva de un usuario. Por lo general, estas pruebas deben comenzar desde la instalación del software desde cero en un sistema limpio y deben incluir el registro de un nuevo usuario, etc.
- Prueba exploratoria
- Las pruebas exploratorias se utilizan para encontrar errores que sabe que existen pero que no puede replicar. El objetivo es reproducir el error de manera confiable para que los desarrolladores puedan identificar qué lo está desencadenando. En las pruebas exploratorias, no hay casos de prueba formales. En cambio, el evaluador usa su experiencia para tratar de averiguar las posibles causas del error. Consulte también Pruebas ad hoc.
- Pruebas funcionales
- Las pruebas funcionales verifican que su aplicación hace lo que está diseñada para hacer. Más específicamente, su objetivo es probar cada elemento funcional de su software para verificar que la salida sea correcta. Las pruebas funcionales cubren las pruebas unitarias, las pruebas de componentes y las
pruebas de interfaz de usuario, entre otras.
- Pruebas de integración
- Las pruebas de integración implican probar sistemas completos formados por múltiples componentes. El objetivo específico es comprobar que los componentes funcionan correctamente juntos. Cada componente se trata como una caja negra y algunos componentes pueden reemplazarse con entradas falsas. Las pruebas de integración son vitales cuando hay varios equipos trabajando en una gran pieza de software.
- Prueba de carga
- La prueba de carga es una forma de
prueba de
rendimiento .
En las pruebas de carga, está evaluando cómo se comporta su backend cuando está sujeto a una carga alta. El objetivo no es romper el sistema, sino comprobar cómo cambia el rendimiento a medida que aumenta la carga hacia la carga más alta esperada. Esto le permite asegurarse de que sus sistemas backend puedan escalar para hacer frente a esta carga.
Si soporta esta alta carga durante un período prolongado, está realizando una prueba de resistencia.
- Prueba manual
- Esta forma de prueba implica que un humano realice todos los pasos de la prueba, registre el resultado y analice los esultados.
Las pruebas manuales pueden ser bastante desafiantes porque a menudo implican repetir el mismo conjunto de pasos muchas veces. Es esencial realizar siempre cada paso de la prueba correctamente para garantizar la coherencia entre las diferentes rondas de pruebas.
- Prueba de mutación
- Esta es una forma de prueba unitaria, diseñada para garantizar que sus pruebas detecten todas las condiciones de error. Para lograr esto, el código fuente se cambia de ciertas formas controladas y usted verifica si sus pruebas identifican correctamente el cambio como un error.
- Prueba de aceptación operativa
- Las pruebas de aceptación operativa implican comprobaciones finales en su sistema para garantizar que esté listo para que su software entre en funcionamiento. Esto incluirá pruebas de rendimiento, verificación de que sus sistemas se failoverán correctamente, verificar que sus balanceadores de carga estén funcionando, etc. Consulte Prueba de aceptación.
- Prueba de pico
- Una prueba de pico es una forma de prueba de rendimiento en la que verifica qué tan bien su sistema maneja grandes picos transitorios en la carga. Estas multitudes repentinas son a menudo lo más difícil de manejar para cualquier sistema.
Cualquier sistema de cara al público debe probarse así junto con las pruebas de estrés .
- Pruebas de penetración
- Las pruebas de penetración son una forma de prueba de
seguridad en la que contrata a un agente externo para intentar atacar su sistema y penetrar o eludir sus controles de seguridad. Esta es una parte esencial de las pruebas de
aceptación para cualquier sistema de software moderno.
- Pruebas de rendimiento
- Las pruebas de rendimiento están interesadas en saber qué tan bien se comporta su sistema en condiciones de la vida real. Esto incluye aspectos como la capacidad de respuesta y latencia de la aplicación, la carga del servidor y el rendimiento de la base de datos. Consulte también Pruebas de carga y Pruebas de estrés.
- Pruebas de regresión
- La prueba de regresión es el proceso de verificar que cualquier cambio de código que haya realizado no ha dañado su software existente. Normalmente, esto se hace verificando que no se hayan repetido errores conocidos (esto se conoce como regresión). Sin embargo, también implica comprobar que toda la aplicación sigue funcionando correctamente.
- Pruebas de seguridad
- Como sugiere el nombre, se trata de verificar que su aplicación sea segura.
Eso significa verificar que su sistema AAA esté funcionando, verificar la configuración del firewall, etc. Un elemento clave de esto son las pruebas de penetración, pero también hay otros aspectos.
- Prueba de humo
- La prueba de humo es una forma de prueba de regresión. En una prueba de humo, su objetivo es probar todos los viajes principales de los usuarios en su aplicación. Está diseñado para comprobar rápidamente que no se ha roto nada importante. Sin embargo, no puede garantizar que no haya errores, defectos o regresiones.
- Pruebas de estrés
- La prueba de estrés es una forma de prueba de rendimiento .
Aquí, está tratando explícitamente de llevar su aplicación más allá de las condiciones operativas esperadas. Por lo general, esto se hace aplicando una carga grande y creciente al backend.
Quieres medir tres cosas. En primer lugar, ¿con qué gracia falla? En segundo lugar, ¿cuánta carga simultánea puede soportar antes de fallar? En tercer lugar, ¿cuántas sesiones nuevas puede hacer frente a la llegada a la vez? Consulte también Prueba máxima.
- Prueba del sistema
- La prueba del sistema implica probar todo el software una vez que se hayan integrado todos los componentes. Es la penúltima etapa de prueba antes de la prueba de aceptación. El objetivo es verificar que todo funcione correctamente. Las pruebas del sistema deben realizarse según los requisitos establecidos por el equipo de producto durante la fase de diseño y cualquier cambio de diseño posterior.
R
- Reusabilidad Tecnológica
- Aunque la mayoría de los investigadores y profesionales se sienten cómodos usando el término “tecnología”, su significado rara vez está claramente definido (Nieto 2004 ).
Puede referirse a conceptos amplios, como la tecnología de cámaras digitales, que cubre a su vez muchas tecnologías habilitadoras diferentes, o métodos específicos de fabricación, como la soldadura por láser.
En este artículo, se utiliza la definición de Burgelman y Siegel (2008), que cubre los significados amplios y estrechos de la palabra: “La tecnología se refiere al conocimiento, las habilidades y los artefactos teóricos y prácticos que se pueden utilizar para desarrollar productos y servicios , así como sus sistemas de producción y entrega. La tecnología se puede incorporar en personas, materiales, procesos cognitivos y físicos, plantas, equipos y herramientas ”.
Por lo tanto, las tecnologías pueden verse como elementos de capacidad en la colección más amplia de conocimientos de una empresa que les permite desarrollar y fabricar productos (Schulz et al. 2000).
Las capacidades tecnológicas poseen algunas propiedades específicas que no se comparten con otros tipos de conocimiento, incluidos vínculos claros con los artefactos, mejores posibilidades para codificar el conocimiento y un propósito práctico claro, todo lo cual hace que sea más fácil registrar y organizar ese tipo de conocimiento en un sistema (Granstrand 1998 ).
Por lo tanto, se prestan a oportunidades de reutilización en aplicaciones y generaciones de productos.
El ‘desarrollo de tecnología’ es, a su vez, el esfuerzo dedicado a crear nuevos conocimientos que preparen una tecnología particular para su aplicación en un producto o sistema.
La tecnología se puede desarrollar dentro del mismo proyecto que su aplicación, pero la recomendación general en la literatura es dejar que las tecnologías se desarrollen en un proceso separado.
De esta manera, los proyectos de aplicaciones orientados a la ejecución están protegidos de las incertidumbres inherentes al desarrollo de la tecnología que de otro modo plantearían amenazas tanto para los plazos como para los presupuestos (Cooper 2006 ; Nieto 2004).
Los ingenieros reutilizan intuitivamente diseños y conocimientos previos cuando realizan nuevas tareas de diseño, ya sea mediante la transferencia completa de piezas o mediante la reutilización a un nivel abstracto, como conceptos o conocimientos (Schulz et al. 2000 ; Smith y Duffy 2001).
Inspirándose en las metodologías de reutilización del desarrollo de software (Duffy et al. 1995 ), argumentan que con un enfoque formal, en lugar de ad hoc, se mejoraría la comprensión del proceso de reutilización, lo que permitiría a los ingenieros y empresas aprovechar cada vez más su conocimiento.
Apoyar una mayor reutilización de activos tecnológicos requiere tanto elementos sobre cómo desarrollar para su reutilización como cómo desarrollar con reutilización (Hunt et al. 2001).
Estos dos elementos forman la base en los marcos propuestos para la reutilización de tecnologías y diseños (Antelme et al. 2000; Duffy et al. 1995), junto con recomendaciones para gestionar el almacenamiento de información, clasificación de tecnologías, así como las decisiones de implementación y desarrollar determinados activos tecnológicos (Antelme et al.
2000).
En su marco, enumeran cuatro tipos de activos tecnológicos reutilizables: artefactos físicos, procesos, competencias básicas y capacidades.
Argumentan que todos estos activos reutilizables están incluidos en una definición amplia de “tecnología” y continúan definiendo la reutilización de ingeniería como reutilización de tecnología.
Autores: Daniel Stenholm, Daniel Corin Stig, Lars Ivansen y Dag Bergsjö.
Link: https://link.springer.com/article/10.1007/s10669-019-09732-4
- Reusabilidad de los Objetos de Aprendizaje
- Los objetos de aprendizaje sólo se pueden volver a utilizar si fueron diseñados desde un principio para la reusabilidad.
por Eric Munoz
Mientras veía a su hijo jugar con unos bloques de LEGO, a Wayne Hodgins se le ocurrió que así como se ensamblaban los pequeños bloques, así también se podían ensamblar pequeños recursos digitales para construir materiales educativos. Todavía más, que algunos de estos recursos digitales podían reusarse para construir otros materiales, con otros objetivos y con otros alcances. Ahora es común aceptar que fue Hodgins el primero en llamar al resultado de esta operación Objeto de Aprendizaje (Learning Object).
Una de las características más atractivas de los objetos de aprendizaje es la reusabilidad. La reusabilidad se refiere, en términos generales, a la posibilidad de volver a usar un objeto de aprendizaje en un contexto similar o en uno diferente. La reusabilidad significa reducir costos en el diseño y en la elaboración de los materiales, pero también incrementar la calidad de los materiales como resultado de la retroalimentación con nuevos usuarios.
Ahora bien, dado cualquier objeto de aprendizaje, de qué manera se puede reusar. La manera más sencilla de reusabilidad se presenta cuando un objeto de aprendizaje vuelve a aplicarse —en el mismo contexto técnico y pedagógico, con el mismo objetivo y tal vez con algunas mejoras introducidas después de una primera evaluación— a un nuevo grupo de usuarios.
Pero el verdadero potencial de reusabilidad de un objeto de aprendizaje sólo se puede observar cuando se encuentra dentro de un Repositorio de Objetos de Aprendizaje (Learning Object Repository). El Repositorio de Objetos de Aprendizaje permite a los diseñadores instruccionales seleccionar el objeto de aprendizaje para reusarlo en diferentes contextos, con diferentes objetivos y aún con diferentes temas. El objeto de aprendizaje se puede reusar como está o con algunas modificaciones.
Para ajustar el objeto de aprendizaje a los nuevos requerimientos, se puede modificar parte de su contenido —el objetivo, por ejemplo— o el orden de sus componentes; también se pueden desagregar sus componentes para utilizar alguno o algunos de ellos en un nuevo objeto de aprendizaje. En cualquiera de estos casos, la reusabilidad genera costos adicionales.
La reusabilidad, en sentido amplio, pasa por modificar, desagregar y reconfigurar los objetos de aprendizaje para así ensamblarlos con otros objetos de aprendizaje. Pero a veces sucede que después de evaluar los costos y los permisos para reusar un objeto de aprendizaje, resulta más viable diseñar y desarrollar uno nuevo.
Referencias
Hodgins, H. G. 2002. «The Future of Learning Objects». Proceedings of the 2002 eTEE Conference, pp. 76-82. Davos, Switzerland.
Sampson, D. G. & Papanikou, C. 2009. «A Framework for Learning Objects Reusability within Learning Activities». 2009 Ninth IEEE International Conference on Advanced Learning Technologies, pp. 32-36. IEEE.
- Reusabilidad en Software
- La reusabilidad es una importante característica de un componente de software de alta calidad.
En un sistema altamente cohesivo, la legibilidad y reusabilidad del código es mayor, mientras que la complejidad se mantiene manejable.
- Resultado Esperado
- El resultado esperado de una prueba es la salida correcta basada en las entradas dadas en la prueba. Cada plan de prueba debe definir el resultado esperado en cada paso de la prueba.
- Resultado falso negativo
- En las pruebas de software, un falso negativo es una prueba que pasa incorrectamente a pesar de la presencia de un problema.
Por lo general, los resultados falsos negativos ocurren cuando el resultado esperado no se ha definido correctamente. Este puede ser un problema común en las pruebas de IU, donde las pruebas no pueden verificar si hay errores en toda la IU.
- Resultado falso positivo
- En las pruebas de software, una prueba de falso positivo es aquella en la que la prueba falla incorrectamente. Normalmente, esto se debe a un error en la prueba en sí, más que a una falla en el sistema. En las pruebas automatizadas, tales fallas son comunes y dan como resultado la necesidad de mantenimiento de la prueba.
- Reconocimiento de objetos
- El reconocimiento de objetos es una parte clave de la visión por computadora. Implica que una computadora aprenda a reconocer objetos dentro de una imagen mediante la localización, clasificación y segmentación semántica de objetos.
Esto se puede usar en pruebas para ayudar a identificar objetos en la pantalla sin el uso de selectores CSS. Consulte también
Pruebas visuales.
S
- Selector de CSS
- Un selector de CSS generalmente se usa para determinar qué estilo aplicar a un elemento dado en una página web. En Selenium y otras formas de secuencia de
comandos de prueba, se puede reutilizar un selector de CSS para elegir un elemento en la página. Ver selectores .
- Selectores
- Los scripts de prueba utilizan un selector para identificar y elegir objetos en la pantalla. Luego, se utilizan para realizar alguna acción, como hacer clic, ingresar texto, etc. Hay varias formas de selectores que se usan comúnmente. Estos incluyen ID HTML simples, selectores CSS y consultas XPath .
- Selenium
- Selenium es el marco original de uso general para las pruebas automatizadas de IU. Fue desarrollado en 2004 por Jason Huggins mientras trabajaba en ThoughtWorks. Selenium es un proyecto de código abierto que incorpora una serie de módulos diseñados para automatizar las pruebas de aplicaciones web y móviles. Los módulos principales incluyen Selenium Webdriver, Selenium Server y Selenium Grid
T
- Test de aceptación
- La prueba de aceptación es la etapa final de un ciclo de prueba.
Esto es cuando el cliente o usuario final del software verifica que está funcionando como se esperaba.
Hay varias formas de pruebas de aceptación, incluidas las pruebas de aceptación del usuario, las pruebas beta y las pruebas de aceptación operativa
- Test / Prueba
- Una prueba es el conjunto específico de pasos diseñados para verificar una característica en particular. Las pruebas existen tanto en pruebas manuales como automáticas. Algunas pruebas son extremadamente simples y constan de unos pocos pasos. Otras son más complejas e incluso pueden incluir ramas. Consulte también Plan de prueba y Paso de prueba .