Está en la página 1de 21

UNIVERSIDAD DE ORIENTE

NÚCLEO DE ANZOÁTEGUI

EXTENSIÓN REGIÓN CENTRO SUR

DEPARTAMENTO DE INGENIERÍA DE SISTEMAS

Auditoría

Profesor: Bachiller:

Rodmar Rodriguez Luis González Ci: 27.143.015

Wilmer Pérez 26.395.452


Auditoria

Módulo N Caso Descripción Datos Resultados Resultado obtenidos


esperados

Ingresar al 1 Ingresar al Datos no Error al ERROR, No entro, pero


sistema sistema con válidos iniciar no da mensaje de datos
usuario y/o sesión incorrectos
contraseña
inválida

2 Ingresar al Datos no Dar mensaje Ningún mensaje


sistema válidos de cuenta
varias veces bloqueada

3 Ingresar sin Ninguno Dar mensaje OK


introducir de datos
ningún dato vacíos

4 Ingresar con Datos Ingreso al OK


datos válidos sistema
correctos

Dashboard 5 Descargar Ninguno Descarga de ERROR, no descargo


Word documento nada, error en el código

6 Ver si hay Algunos Listar ERROR, no se lista


productos productos productos ningún producto
ingresados de prueba

Productos 7 Crear/ Editar Datos no Error al ERROR, no crea el


Producto válidos crear producto, y tampoco se
producto valida si los campos
introducidos son
válidos, ni da alertas de
información si es
numérica o de texto

8 Crear/ Editar Datos Crear el OK


Producto válidos producto

9 Eliminar Ninguno Eliminar el OK


Producto producto

10 Descargar Ninguno Descarga de ERROR, no descargo


Word documento nada, error en el código
Módulo N Caso Descripción Datos Resultados Resultado obtenidos
esperados

Categorías 11 Crear/ Editar Datos no No debería ERROR, crea los


Categoría válidos de crear productos en cualquier
Categoría caso

12 Crear/ Editar Datos Crear el OK


Categoría válidos producto

13 Eliminar Ninguno Eliminar el OK


producto producto

Clientes 14 Crear/Editar Datos no No debe de ERROR, los campos no


Cliente válidos crear cliente se están validando

15 Crear/Editar Datos Crear el OK


Cliente válidos cliente

16 Eliminar Ningún dato Eliminar el OK


cliente cliente

17 Descarga de Ningún dato Descarga de ERROR, error en el


Word documento código

Proveedores 18 Crear/Editar Datos no No debe de ERROR, los campos no


Proveedores válidos crear se están validando
proveedor

19 Crear/Editar Datos Crear el OK


Proveedores válidos proveedor

20 Eliminar Ningún dato Eliminar el OK


proveedor proveedor

21 Descarga de Ningún dato Descarga de ERROR, error en el


Word documento código
Módulo N Caso Descripción Datos Resultados Resultado obtenidos
esperados

Inventario 22 Ver Ninguno Lista de los OK


inventario productos
con su
inventario

23 Ver historial Ninguno Ver historial OK


de entrada y
salidas de un
producto

24 Eliminar Ninguno Eliminar del OK


historial historial

25 Descargar Ninguno Ver historial ERROR, no descargo


word del en un nada, error en el código
inventario documento
word

26 Descargar ninguno Ver historial ERROR, no descargo


word del en un nada, error en el código
historial de documento
inventario word

Reportes 27 Buscar Ningún dato Reporte de ERROR, no válida si los


reportes de inventario campos estan vacios
inventario

28 Buscar Datos Reporte de OK


reportes de correctos inventario
inventario

29 Buscar Datos Reporte de ERROR,no válida si los


reportes de correctos ventas campos estan vacios
ventas

30 Buscar Ningún dato Reporte de OK


reportes de ventas
ventas
Módulo N Caso Descripción Datos Resultados Resultado obtenidos
esperados

Usuarios 31 Crear/Editar Datos No debe de ERROR, creo el


Usuario inválidos crear usuario
usuario

32 Crear/Editar Crear/Editar Crear/Editar OK


Usuario Usuario Usuario

Configuración 33 Cambiar Ningún dato Ningún ERROR, no tiene


configuració cambio botón para hacer los
n cambios

34 Cambiar Datos Cambio de ERROR, no tiene


configuració correctos configuració botón para hacer los
n n cambios

Vender 35 Buscar Datos ningún OK


producto no incorrectos producto
válido

36 Buscar Datos Lista de OK


producto correctos productos
válido

37 Agregar Datos no debe de ERROR, agrega el


cantidad de incorrectos agregar el producto
producto a producto
vender

38 Agregar Datos Debe de OK


cantidad de correctos agregar el
producto a producto
vender

39 Vender Datos Debe de OK


incompletos evitar hacer
la venta

40 Vender Datos Hacer la ERROR, salen errores


correctos venta según los casos

41 Eliminar un Ninguno Eliminar del OK


producto de carrito de
la venta venta
Módulo N Caso Descripción Datos Resultados Resultado obtenidos
esperados

Abastecer 42 Buscar Datos ningún OK


producto no incorrectos producto
válido

43 Buscar Datos Lista de OK


producto correctos productos
válido

44 Agregar Datos no debe de ERROR, agrega el


cantidad de incorrectos agregar el producto
producto a producto
abastecer

45 Agregar Datos Debe de OK


cantidad de correctos agregar el
producto a producto
abastecer

46 Abastecer Datos Debe de evitar ERROR, salen


incompletos hacer el diversos errores,
abastecimiento dependiendo lo que
se ingrese

47 Abastecer Datos Hacer el OK


correctos abastecimiento

48 Eliminar un Ninguno Eliminar del OK


producto de carrito de
abastecer abastecimiento

Caja 49 Ver historial Ninguno Ver listado de OK


de caja ventas

50 Descargar Ninguno Ver historial en ERROR, error de


historial de un documento código
caja en Word de word
Evidencias

Caso 1 y 2:

No da ningún mensaje de error, a pesar de no entrar con los datos incorrectos. Par este caso
se recomienda dar un mensaje a manera de que el usuario conozca que está introduciendo
los datos incorrectos

Caso 3:
Caso 4:
Caso 5:

Caso 6:
Caso 7:
A agregar productos con estos parámetros no esta validando ningún campo introducido,
dependiendo de los campos puede o no crear el producto exitosamente
Recomendaciones: Dar mensaje de producto creado, realizar validaciones en todos los
campos, no permitir crear producto sin antes crear categoria, agregar campos numéricos
donde corresponda,
Caso 8:

Elimina pero no da mensaje de que se hizo una eliminación, ni da alerta antes de realizar la
acción
Caso 10:

Caso 11:

Categorías
Al momento de agregar y editar no está validando los caracteres

Caso 14:

Caso 17:
Caso 18:

Caso 21:

Caso 25:

Caso 26:
Caso 27:

Caso 29:

Caso 31:
Caso 33 y 34:

Caso 37:
Caso 44:

Conclusiones
Caso 1:
Causas:
No se está retornando una respuesta para el caso en que el usuario sea correcto
Efectos:
El usuario no reconoce si hubo un error al iniciar sesión
Solución:
Esto se soluciona implementando https://sweetalert2.github.io/ para agregar estas alerta y
también al momento de hacer acciones correctamente o cuando haya algún error

Caso 2:
Causas:
No se está tomando en cuenta la cantidad de veces que se intenta loguear
Efectos:
El usuario puede intentar varias veces ingresar hasta obtener la contraseña, haciéndolo
vulnerable a ataques con diccionario
Solución:
Esto se soluciona agregando que al intentar iniciar se registre en sesión la cantidad de veces
que se intento loguear con ese usuario y se validará con un if si es mayor a X veces

Casos 5, 10, 17, 21, 25, 26 y 50 :


Causas:
Error en la librería PhpWord
Efectos:
El usuario no puede descargar reportes en formato de Word
Solución:
Esto se soluciona descargando la libreria https://github.com/PHPOffice/PHPWord y se
procede a copiar el archivo Autoload.php para que pueda funcionar

Caso 7:
Causas:
No se está validando ningún campo, hay un select, el cual no se valida si no tiene algun
item, dos campos que deberían de ser numéricos permiten introducir los demás caracteres
Efectos:
El usuario introduce mal los datos y ocasiona errores en el sistema
Solución:
Cambiar a nivel de html los campos los campos que deben de ser numéricos, agregar
required a los campos requeridos, en php se deben de agregar validaciones que el select sea
válido. Para mejor validación se puede usar condicionales en php y controlar los datos
requeridos y evitar datos incorrectos.

Casos 11, 14, 18 y 31, 40 y 46:


Causas:
No se está validando ningún campo, se puede usar condicionales en php y controlar los
datos requeridos y evitar datos incorrectos.
Efectos:
El usuario introduce mal los datos y ocasiona errores en el sistema
Solución:
Cambiar a nivel de html los campos los campos que deben de ser numéricos, agregar
required a los campos requeridos, en php se deben de agregar validaciones que el select sea
válido.
Casos 27 y 29:
Causas:
No se está validando ningún campo.
Efectos:
El usuario introduce mal los datos y ocasiona errores en el sistema
Solución:
Se puede usar condicionales en php o se puede poner la fecha actual para hacerlo de manera
más rápida para el usuario.

Casos 33 y 34:
Causas:
No hay botón para cambiar la configuración, y no se puede cambiar la configuración.
Efectos:
El usuario no puede cambiar la configuración.
Solución:
Se debe de crear la consulta update sql en la carpeta model, en la carpeta actions de crea un
archivo que ejecute la consulta anterior y finalmente se agrega un botón con una action
POST.

Casos 37 y 44:
Causas:
No se está validando el campo de agregar.
Efectos:
El usuario introduce mal los datos y ocasiona errores en el sistema
Solución:
Se debe de poner que el campo sea numérico.

Casos 40 y 44:
Causas:
No se está validando el campo de agregar.
Efectos:
El usuario introduce mal los datos y ocasiona errores en el sistema
Solución:
Se debe de poner que el campo sea numérico.
Recomendaciones:
En cuanto a medidas de seguridad, para la encriptación de la contraseña se usa dos hashes,
lo cual no es una medida muy segura, ya que se puede descifrar con algo de facilidad

Se debe de usar password_hash($contrasena_ingresada, PASSWORD_DEFAULT);


Para tener una seguridad mayor al almacenar las contraseñas
Se recomienda usar validaciones para los campos del lado del backend, ya que hay partes
donde el html hace validaciones sencillas, pero faltan muchos formularios que les hace falta
poner las validaciones de html
Se puede mejorar el funcionamiento de compra/venta con el uso de javascript, ya que este
permite hacer búsquedas en tiempo real usando Ajax
Para mejorar la experiencia se puede colocar un buscador en las tablas de reportes
Protección contra inyección SQL se debe de usar mejorar consultas para evitar la inyección
SQL, ya que no se usa ninguna validación de caracteres, además que se pasan los
parámetros tal cual se reciben
public static function getLike($q){

$sql = "select * from ".self::$tablename." where name like


'%$q%'";

$query = Executor::doit($sql);

return Model::many($query[0],new UserData());

Se puede cambiar por:


public static function getLike($q)

$escapedQ = "%" . $q . "%";

$sql = "SELECT * FROM " . self::$tablename . " WHERE name LIKE


?";

$params = array($escapedQ);

$query = Executor::doit($sql, $params);

return Model::many($query[0], new UserData());

Así se protegen los datos que se van a la consulta. Esto habría que aplicarlo en todos los
archivos de core\app\model
No se usa softdelete para eliminar, esto facilita la recuperación de datos
No se da alerta de que se va a eliminar, esto se soluciona implementando
https://sweetalert2.github.io/ para agregar estas alerta y también al momento de hacer
acciones correctamente o cuando haya algún error
Se puede mejorar la validación de los datos usando código en php. Esto ya que no realiza
ninguna validación de caracteres, tanto para el usuario y la contraseña, solo hace
validaciones de que no esté vacío, aceptando si se ingresa cualquier carácter

Hay un error en la estructura, allí no debería de ir la información de Copyright ya que este


debe ir debajo ya que es un footer

No permite editar la cantidad en vender y en abastecer


Mejorar funcionamiento de interfaz de usuario para hacerla más intuitiva para el usuario,
esto al momento de hacer una venta y de abastecer
No hay diferencia entre los roles de usuario

También podría gustarte