Sie sind auf Seite 1von 16

PRUEBAS

En este punto se describen las pruebas desarrolladas para evaluar la eficiencia de implementacin y operacin del sistema, con el fin de detectar errores y deficiencias de cdigo, diseo y rendimiento del mismo, para as obtener una nocin de lo que falta o sobra a fin de satisfacer los requerimientos del cliente en su totalidad. Las pruebas aplicadas durante el desarrollo del sistema, los resultados y observaciones de las mismas se pueden observar en la parte de los anexos del presente trabajo. 10.1 Pruebas de Caja Negra para el sistema La prueba de caja negra describe las pruebas de interfaz componentes del sistema, esto para evaluar el funcionamiento del sistema. Prueba de caja negra para el men principal: La pantalla principal cuenta con dos botones OCULTAMIENTO, DESOCULTAMIENTO y dos para el control de la ventana (cerrar y minimizar). La siguiente tabla muestra la prueba de caja negra del botn OCULTAMIENTO de la ventana principal en condiciones ptimas y no ptimas.
ELEMENTO CONDICIONES DE ENTRADA ptimas Clic izquierdo del mouse. No ptimas 1 Clic izquierdo del mouse. Cualquier tecla. SALIDAS ESPERADAS Muestra ventana Ocultar.

Botn OCULTAMIENTO

No realiza ninguna accin.

Observaciones:

En la tabla XXVIII se muestra la prueba de caja negra del botn DESOCULTAMIENTO de la ventana principal en sus condiciones ptimas y no ptimas.
ELEMENTO CONDICIONES DE ENTRADA ptimas Clic izquierdo del mouse. No ptimas 1 Clic derecho del mouse. Cualquier tecla. SALIDAS ESPERADAS

Botn DESOCULTAMIENTO

Muestra Desocultar.

ventana

No realiza ninguna accin.

Observaciones:

OCULTAR La ventana Ocultar cuenta con 4 botones como parte del control de procesos del sistema y dos para el control de la ventana. Botones del control de sistema: ABRIR IMAGEN OCULTAR TEXTO GUARDAR IMAGEN Prueba de caja negra para el botn ABRIR IMAGEN de la ventana Ocultar en condiciones ptimas y no ptimas (tabla XXIX).
ELEMENTO CONDICIONES DE ENTRADA ptimas Clic izquierdo del mouse. Cualquier. Botn BUSCAR IMAGEN No ptimas Clic derecho del mouse. Cualquier tecla. SALIDAS ESPERADAS Ventana archivos. visor de

No realiza accin.

ninguna

Observaciones:

La siguiente tabla muestra la prueba de caja negra para el botn Abrir de la ventana Abrir (visor de archivos) en condiciones ptimas y no ptimas.
ELEMENTO CONDICIONES DE ENTRADA ptimas Clic izquierdo del mouse. SALIDAS ESPERADAS Abre la imagen y se obtiene la ruta de la imagen .JPG.

Botn Abrir No ptimas Clic derecho del mouse. Observaciones:

No realiza accin.

ninguna

Prueba de caja negra para Seleccin de archivos de la ventana Abrir (tabla XXX) en condiciones ptimas y no ptimas (tabla XXXI).

ELEMENTO

CONDICIONES DE ENTRADA ptimas Clic izquierdo del mouse. Letras y nmeros. Teclas de direccin.

SALIDAS ESPERADAS

Seleccin de archivos

Tecla Enter .

Abre la imagen y se obtiene la ruta de la imagen .JPG. Localiza un archivo que coincida con las teclas presionadas. Permite movernos sobre los archivos del visor de archivos. Abre la imagen y se obtiene la ruta de la imagen .JPG. No realiza ninguna accin. Contina con el proceso en ejecucin.

No ptimas Clic derecho del mouse. Teclas de funcin. Observaciones:

Tabla XXXI. Seleccionar archivos

La prueba de caja negra para el botn Cancelar de la ventana Abrir (Visor de archivos) en condiciones ptimas y no ptimas, es mostrada en la tabla XXXII.
ELEMENTO CONDICIONES DE ENTRADA ptimas 1 clic izquierdo del mouse. SALIDAS ESPERADAS Cierra la venta Visor de archivos.

Botn Cancelar No ptimas Clic derecho del mouse. Observaciones:


Tabla XXXII. Botn cancelar

No realiza ninguna accin.

Las pruebas de caja negra que se realizaron para la caja de texto Ingresar Contrasea en condiciones ptimas y no ptimas se muestran en la siguiente tabla.
ELEMENTO Caja de texto para ingresar la Llave CONDICIONES DE ENTRADA ptimas Letras, caracteres y nmeros. Cadena de 5 caracteres. SALIDAS ESPERADAS Las letras, caracteres y nmeros se capturan en la caja de texto contrasea.

No ptimas 1 Clic derecho del mouse. NULL Teclas de Funcin NULL Una cadena menor o mayor de 5 Mensaje de error caracteres. Observaciones:
Tabla XXXIV. Ingresar llave

Pruebas de caja negra para el botn Aceptar de la caja de texto para entrada de la contrasea (tabla XXXV).
ELEMENTO CONDICIONES DE ENTRADA ptimas 1 clic izquierdo del mouse SALIDAS ESPERADAS El cuadro de entrada se cierra sin mostrar mensaje de error alguno El cuadro de entrada se cierra sin mostrar mensaje de error alguno NULL NULL

Botn Aceptar del Tecla Enter cuadro de entrada de la llave No ptimas 1 Clic derecho del mouse Teclas de Funcin Observaciones:
Tabla XXXV. Botn aceptar

Prueba de caja negra para el botn GUARDAR TEXTO en condiciones ptimas y no ptimas (tabla XXXVI), localizado en la pantalla Ocultar. Este botn es uno de los ms importantes, ya que es el encargado de hacer todo el proceso por el cual el sistema ha sido desarrollado.
ELEMENTO CONDICIONES DE ENTRADA ptimas 1 Clic izquierdo del mouse. SALIDAS ESPERADAS Valida la contrasea Muestra la imagen con el texto oculto en la parte derecha de la pantalla actual. NULL NULL

Botn CIFRAR No ptimas 1 Clic derecho del mouse. Presionar cualquier tecla. Observaciones:
Tabla XXXVI. Botn cifrar

La tabla que se presenta a continuacin muestra la prueba de caja negra para el botn GUARDAR de la ventana Ocultar en condiciones ptimas y no ptimas
ELEMENTO CONDICIONES DE ENTRADA ptimas 1 Clic izquierdo del mouse. SALIDAS ESPERADAS Ventana visor de archivos (Guardar).

Botn GUARDAR No ptimas Cualquier tecla. Observaciones:


Tabla XXXVII. Botn guardar

NULL.

La prueba de caja negra para el botn Guardar de la ventana Visor de imgenes (Guardar) en condiciones ptimas y no ptimas, se muestra a continuacin.
ELEMENTO CONDICIONES DE ENTRADA ptimas Letras alfanumricas y smbolos. SALIDAS ESPERADAS Las letras, nmeros y smbolos se capturan el cuadro de texto nombre del archivo. Guarda la imagen con extensin .jpg en la ruta especificada. La ventana visor de archivos se cierra. NULL

Nombre del archivo

Tecla Enter.

No ptimas Tecla de funcin. Observaciones:

Tabla XXXVIII. Nombre del archivo

DESOCULTAMIENTO La ventana Desocultamiento cuenta con 4 botones como parte del control de procesos del sistema y dos para el control de la ventana, las cuales se describirn en las siguientes tablas. Botones del control de sistema: ABRIR IMAGEN LEER MENSAJE GUARDAR Las tablas que se muestran a continuacin dan a conocer las pruebas de caja negra que se realizaron en cada uno de los botones que intervienen en la ventana Descifrar con las condiciones ptimas y no ptimas de cada una de ellas, as como las salidas esperadas de cada condicin.

La siguiente tabla muestra la prueba para el botn ABRIR IMAGEN de la ventana Desocultamiento.
ELEMENTO CONDICIONES DE ENTRADA ptimas Clic izquierdo del mouse. Cualquier Tecla. No ptimas Clic derecho del mouse. Cualquier tecla.
Tabla XXXIX. Buscar imagen

SALIDAS ESPERADAS Ventana visor de archivos.

Botn BUSCAR IMAGEN

No realiza ninguna accin. No realiza ninguna accin.

Observaciones:

En la tabla XL se muestra la prueba para el botn Abrir de la ventana Abrir (visor de archivos)
ELEMENTO CONDICIONES DE ENTRADA ptimas Clic izquierdo del mouse. SALIDAS ESPERADAS Abre la imagen y se obtiene la ruta de la imagen .JPG.

Botn Abrir

No ptimas Clic derecho del mouse. No realiza ninguna accin. Observaciones: para el descifrado de imagen debe asegurarse de que sea una imagen previamente cifrada.
Tabla XL. Botn abrir

Prueba para la Seleccin de archivos de la ventana Abrir (tabla XLI).


ELEMENTO CONDICIONES DE ENTRADA Optimas Clic izquierdo del mouse. Letras y nmeros SALIDAS ESPERADAS Abre la imagen y se obtiene la ruta de la imagen .JPG. Localiza un archivo que coincida con las teclas presionadas. Permite movernos sobre los archivos del visor de archivos. Abre la imagen y se obtiene la ruta de la imagen .JPG.

Seleccin de archivos

Teclas de direccin. Tecla Enter .

No ptimas Clic derecho del mouse. Teclas de funcin. Observaciones:


Tabla XLI. Seleccin de archivos

No realiza ninguna accin. Contina con el proceso en ejecucin.

La tabla XLII muestra la prueba realizada al botn Cancelar de la ventana Abrir (Visor de archivos).
ELEMENTO CONDICIONES DE ENTRADA ptimas 1 clic izquierdo del mouse. No ptimas Clic derecho del mouse. SALIDAS ESPERADAS Cierra la venta Visor de archivos. No realiza ninguna accin.

Botn Cancelar

Observaciones:
Tabla XLII. Botn cancelar

La prueba realizada al botn LEER MENSAJE se observa en la siguiente tabla.


ELEMENTO CONDICIONES DE ENTRADA ptimas 1 Clic izquierdo del mouse SALIDAS ESPERADAS

Botn CONTRASEA No ptimas Teclas de Funcin Observaciones:


Tabla XLIII. Botn llave

Muestra el cuadro de texto de entrada para ingresar una cadena de longitud igual a 5 NULL

Prueba realizada para la caja de texto Ingresar Contrasea (tabla XLIV).


ELEMENTO CONDICIONES DE ENTRADA ptimas Letras, caracteres y nmeros SALIDAS ESPERADAS Las letras, caracteres y nmeros se capturan en la caja de texto Contrasea

Caja de texto para ingresar la Llave

No ptimas 1 Clic derecho del mouse. NULL. Teclas de Funcin NULL Una cadena menor o mayor de Mensaje de error 5 caracteres

Observaciones:
Tabla XLIV. Caja de texto

La siguiente tabla indica las pruebas realizadas al botn Aceptar de la caja de texto de entrada de contrasea
ELEMENTO CONDICIONES DE ENTRADA ptimas 1 clic izquierdo del mouse. SALIDAS ESPERADAS El cuadro de entrada se cierra sin mostrar mensaje de error alguno. El cuadro de entrada se cierra sin mostrar mensaje de error alguno NULL NULL

Botn Aceptar del Tecla Enter cuadro de entrada de la llave No ptimas 1 Clic derecho del mouse. Teclas de Funcin. Observaciones:
Tabla XLV. Aceptar llave

* La siguiente tabla muestra la prueba realizada al botn DESCIFRAR en sus condiciones, localizado en la pantalla Descifrar. Este botn importante, ya que es el encargado de hacer el proceso por el cual ha sido desarrollado.
ELEMENTO CONDICIONES DE ENTRADA ptimas 1 Clic izquierdo del mouse. SALIDAS ESPERADAS Valida la llave de cifrado Muestra la imagen cifrada en la parte derecha de la pantalla actual NULL NULL

Botn DESCIFRAR No ptimas 1 Clic derecho del mouse. Presionar cualquier tecla. Observaciones:

Tabla XLVI. Botn descifrar

Prueba de caja negra para el botn GUARDAR de la ventana Descifrar (tabla XLVII).
ELEMENTO Botn GUARDAR CONDICIONES DE ENTRADA ptimas 1 Clic izquierdo del mouse. No ptimas Cualquier tecla. Observaciones:
Tabla XLVII. Botn guardar

SALIDAS ESPERADAS Ventana visor (Guardar). NULL de archivos

La tabla XLVIII muestra la prueba para guardar el archivo con las caractersticas indicadas.
ELEMENTO CONDICIONES DE ENTRADA ptimas Letras alfanumricas smbolos. SALIDAS ESPERADAS

Nombre del archivo

Tecla Enter.

y Las letras, nmeros y smbolos se capturan el cuadro de texto nombre del archivo. Guarda la imagen con extensin .jpg en la ruta especificada. La ventana visor de archivos se cierra. NULL

No ptimas Tecla de funcin. Observaciones:

Tabla XLVIII. Nombre del archivo

10.2 Pruebas de Caja Blanca En las pruebas de caja blanca se realiza un anlisis del cdigo para la interfaz entre el usuario y el programa. A continuacin se mencionaran los elementos a analizar. La siguiente tabla muestra el cdigo que indica las condiciones acerca del ingreso de la llave, las condiciones ptimas y no ptimas requeridas para ello, as como las salidas esperadas del mismo.
ELEMENTO CDIGO CONDICIONES DE ENTRADA ptimas Cadena String de 8 dgitos (caracteres, nmeros, smbolos). SALIDAS ESPERADAS

private void INGRESO DE LLAVE

jButton3ActionPerformed(j ava.awt.event.ActionEvent evt) { Sllave=JOptionPane.show No ptimas InputDialog(null,"INGRES Mayor o menor a 8 Mensaje error indicando E LLAVE (8 dgitos)"); dgitos. que la llave es invalida. }
Tabla XLIX. Ingreso de llave

Crea un objeto de la clase Cifrar key =Sllave; cifrarobj = new cifrar(key);

Observaciones:

Prueba para el evento BUSCAR IMAGEN


ELEMENTO CDIGO CONDICIONES DE SALIDAS ENTRADA ESPERADAS ptimas Ingresar el nombre de Una vez obtenida la imagen con el nombre y extensin .bmp. extensin correcta de la imagen a cifrar, se manda a llamar el mtodo cifrar. Muestra la imagen que ser cifrada en pantalla. No ptimas Imagen de formato Manda un diferente. mensaje de que Entrada Null. no es el formato correcto.

BUSCAR IMAGEN

if(bmp.equals("bmp")) { System.out.println("caracter"+b mp); fileF=nombreArchivo; }

Observaciones:
Tabla L: Buscar imagen

En la tabla LI se muestra el cdigo para el mtodo Cifrar, el cual es la parte principal del proyecto puesto que es este el que realiza el proceso principal.
ELEMENTO CDIGO else{ KeySpec ks = new DESKeySpec(keyTxt.getBytes("IS O-8859-1")); SecretKeyFactory kf = SecretKeyFactory.getInstance("D ES"); SecretKey ky = kf.generateSecret(ks); encrypt.init(Cipher.ENCRY PT_MODE, ky); } JOptionPane.showMessageDialo g(null,"no ha seleccionado una imagen"); } CONDICIONES SALIDAS DE ENTRADA ESPERADAS ptimas Direccin y nombre Proceso de cifra de la imagen .bmp la imagen elegida. seleccionada. Crea un objeto de la clase Icifrar(). No ptimas Error inesperado para generacin de llave

MTODO CIFRAR

Observaciones:
Tabla LI. Mtodo cifrar

Con la siguiente tabla se realizo la prueba para el mtodo Descifrar


ELEMENTO CONDICIONES SALIDAS DE ENTRADA ESPERADAS ptimas private void Llave de longitud y Muestra la jButton2ActionPerformed(java.awt caracteres interfaz grfica .event.ActionEvent evt) { correctos del proceso llamadaDesc =new Idescifrar(); Descifrar. amadaDesc.setVisible(true); Crea un objeto de la clase descifrar llamadaDesc.setLocation(250,50) (). ; } No ptimas Tamao excesivo Generacin de de la imagen clave automtica Llave de descifrado y resultados no vlida. desconocidos
Tabla LII. Mtodo descifrar

CDIGO

MTODO DESCIFRAR

Observaciones:

Tabla de prueba para el evento guardar imagen


ELEMENTO CDIGO CONDICIONES DE ENTRADA ptimas Evento GuardarImagen SALIDAS ESPERADAS Abre ventana para guardar la imagen cifrada.

GUARDAR IMAGEN

private void JBguardarActionPerformed(java.a wt.event.ActionEvent evt) { guardarImagenCifrada(); }

No ptimas Evento No realiza desconocido o ninguna accin. diferente a GuardarImagen

Observaciones:
Tabla LIII. Guardar imagen

10.3 Prueba Caja Gris La prueba de caja gris es una combinacin de las pruebas de caja blanca y caja negra, por esto se muestra a continuacin algunas tablas que contienen los elementos importantes para realizar la funcin del sistema. La tabla LIV muestra la prueba para el botn Cifrar imagen y la tabla LV para descifrar la imagen.

ELEMENTO

CDIGO private void jButton1ActionPerformed(java.awt.ev ent.ActionEvent evt) { llamadaCifr=new Icifrar(); llamadaCifr.setVisible(true);

CONDICIONES DE ENTRADA
PTIMAS

SALIDAS ESPERADAS Muestra la interfaz grfica (Icifrar()) del proceso Cifrar. Crea un objeto de la clase Icifrar().

Botn CIFRAR IMAGEN

llamadaCifr.setLocation(250,50); }

Evento perteneciente al botn CIFRAR IMAGEN generado por un clic izquierdo del mouse sobre el botn Cifrar Imagen de la interfaz grfica Cifrar NO PTIMAS Cualquier otra tecla sobre la interfaz grfica. Clic derecho sobre la interfaz grfica.

Contina con proceso actual

Observaciones:
Tabla LIV. Botn cifrar imagen

ELEMENTO

CDIGO

CONDICIONES DE ENTRADA
PTIMAS

SALIDAS ESPERADAS Muestra la interfaz grfica (Idescifrar()) del proceso Descifrar. Crea un objeto de la clase Idescifrar().

Botn DESCIFRAR IMAGEN

private void jButton2ActionPerformed(java.awt.eve nt.ActionEvent evt) { // TODO add your handling code here: llamadaDesc =new Idescifrar(); llamadaDesc.setVisible(true); llamadaDesc.setLocation(250,50); }

Evento perteneciente al botn DESCIFRAR IMAGEN generado por un clic izquierdo del mouse sobre el botn Descifrar Imagen de la interfaz grfica Descifrar NO PTIMAS Cualquier otra tecla sobre la interfaz grfica. Clic derecho sobre la interfaz grfica.

Contina con proceso actual

Observaciones:
Tabla LV. Botn descifrar imagen

Las pruebas realizadas para el elemento buscar imagen y llave se pueden observar en las tablas LVI y LVII respectivamente.

ELEMENTO

CDIGO

if(bmp.equals("bmp")) { System.out.println("caracter"+bmp); fileF=nombreArchivo; } else{ BOTN BUSCAR IMAGEN JOptionPane.showMessageDialog(null ,"SU IMAGEN NO ES BMP"); fileF=null; }

CONDICIONES DE ENTRADA PTIMAS Seleccionar la imagen con extensin bmp, con clic izquierdo o presionar la tecla Enter al tener el objeto seleccionado en la interfaz grfica. Ingresar el nombre de la imagen con extensin. NO PTIMAS No ingresar nombre ni seleccionar imagen Ingresar solo el nombre.

SALIDAS ESPERADAS La variable fileF recibe los atributos de la imagen seleccionada y posteriormente llama al mtodo cifrar.

Muestra la imagen en la pantalla.

Seleccionar una imagen con formato diferente a .bmp.

El sistema no realiza actividad alguna. El sistema muestra un mensaje de error Su imagen no es bmp No muestra la imagen en la pantalla.

Observaciones: Este botn es el mismo para la interfaz Cifrar como para la interfaz Descifrar, siendo su funcionamiento el mismo.
Tabla LVI. Botn buscar imagen

ELEMENTO

CDIGO

CONDICIONES DE ENTRADA OPTIMAS -Ingresar una cadena de 8 caracteres

SALIDAS ESPERADAS -La cadena de caracteres ingresada es guardada en una variable llamada Sllave.

Botn LLAVE

Sllave=JOptionPane.showInputDialog( null,"INGRESE LLAVE (8 dgitos)");

NO PTIMAS Cadena de longitud mayor o menos y 8 Mensaje de Error dgitos de entrada Observaciones: Elemento perteneciente a las interfaces cifrar y descifrar, conservando la misma forma de funcionamiento
Tabla LVII. Botn llave

La tabla LVIII muestra la prueba realizada para el botn cifrar con el cdigo correspondiente y en la tabla LIX se observa para el botn descifrar.

ELEMENTO

CDIGO

if(fileF==null){ System.out.println("no ha seleccionado una imagen"); Botn CIFRAR JOptionPane.showMessageDialog(null ,"no ha seleccionado una imagen"); } else if(Sllave==null||Sllave.length()!=8){ //System.out.println(Sllave); System.out.println("corrija llave"); JOptionPane.showMessageDialog(null ,"LLAVE INVALIDA, CORRIJA"); } else{ System.out.println("bien"); System.out.println(fileF); try{ leer aplicacion2=new leer(""+fileF);

CONDICIONES DE ENTRADA OPTIMAS Haber seleccionado imagen correcta (bmp).

SALIDAS ESPERADAS El sistema comenzara el proceso de cifrar imagen y mostrara la imagen cifrada. Se activara el botn guardar.

Ingresar llave de 8 caracteres. NO PTIMAS No ingresar imagen

Llave de mayor o menor tamao. No ingresar llave.

Aparece un mensaje de error no ha seleccionado una imagen. Se mostrar el mensaje Llave invalida, corrija.

Observaciones: Las entradas ptimas solo se mencionan, es decir, aqu solo se verifican que existan o sean correctas, puesto que el ingreso son otros procesos.
Tabla LVIII. Botn cifrar

ELEMENTO

CDIGO

if(fileF==null){ System.out.println("no ha seleccionado una imagen"); Botn DESCIFRAR JOptionPane.showMessageDialog(null ,"no ha seleccionado una imagen"); } else if(Sllave==null||Sllave.length()!=8){ System.out.println("corrija llave"); JOptionPane.showMessageDialog (null,"LLAVE INVALIDA, CORRIJA");} else{ System.out.println("descifrar"); System.out.println(fileF);

CONDICIONES DE ENTRADA OPTIMAS Haber seleccionado imagen correcta (bmp).

SALIDAS ESPERADAS El sistema comenzara el proceso de cifrar imagen y mostrara la imagen cifrada. Se activara el botn guardar.

Ingresar llave de 8 caracteres con la que la imagen fue cifrada. NO PTIMAS No ingresar imagen

Llave de mayor o menor tamao.

Aparece un mensaje de error no ha seleccionado una imagen. Se mostrar el mensaje Llave invalida, corrija.

Tabla LIX. Botn descifrar

Las siguientes tablas muestran las pruebas realizadas al botn guardar y al botn llave respectivamente.
ELEMENTO CDIGO CONDICIONES DE ENTRADA OPTIMAS Ingresar nombre de imagen SALIDAS ESPERADAS La imagen es guardada con el nombre que deseamos.

Botn Guardar

BBoton=JOptionPane.showInputDialog( null,"INGRESE LLAVE (8 dgitos)");

El sistema no realiza actividad alguna. Observaciones: Elemento perteneciente a las interfaces cifrar y descifrar, conservando la misma forma de funcionamiento
Tabla LX. Botn guardar

NO PTIMAS No hacer ingresar nombre

ELEMENTO

CDIGO

Botn LLAVE

CONDICIONES DE ENTRADA OPTIMAS Ingresar una cadena de 8 caracteres.

SALIDAS ESPERADAS La cadena de caracteres ingresada es guardada en una variable llamada Sllave.

Sllave=JOptionPane.showInputDialog(n ull,"INGRESE LLAVE (8 dgitos)"); NO PTIMAS

Observaciones: Elemento perteneciente a la interfaz Descifrar.


Tabla LXI. Botn llave

11. IMPLANTACIN
11.1 Formacin del Usuario La siguiente tabla muestra cmo ser la formacin del usuario respecto al proyecto, los temas y las tareas que realizara.

PLAN DE FORMACION USUARIOS A FORMAR Usuario Final Usuario Final TEMAS Cifrado de Imagen Descifrado de Imagen CUANDO Da de la implementacin Da de la implementacin DONDE rea de operacin del sistema rea de operacin del sistema TAREAS Proceso de Cifrado de una imagen BMP Proceso de Descifrado de una imagen BMP

Tabla LXII. Plan de formacin

Das könnte Ihnen auch gefallen