15. SPRINT 1
15.1. SPRINT BACKLOG
Tabla 4.1 Sprint Backlog - Sprint 1
ID Nombre Historia Estado Tamaño Sprint Prioridad Tipo de
Historia Comentarios
1 Modela base de datos Hecho 3 1 1 Desarrollo Se realizó según lo planeado
2 Estructurar proyecto en
Visual Studio Hecho 2 1 2 Desarrollo
Realiza las funciones
requeridas por el cliente
4 Gestionar mantenedor de
proyecto Hecho 8 1 4 Desarrollo
Engloba las funciones
requeridas en cada nuevo proyecto
15.2. PRUEBAS
15.2.1. CAJA NEGRA Caso: Crear Proyecto
Tabla 4.2 Prueba caja negra - Crear Proyecto
N° PARÁMETRO VALOR RESULTADO
1 FechaInicio 2018-11-25 Valido
2 FechaFin 2018-12-03asd El campo debe ser una fecha
Caso: Asignar Usuario a Proyecto
Tabla 4.3 Prueba caja negra - Asignar usuario a proyecto
N° PARÁMETRO VALOR RESULTADO
1 Usuarios Asd Usuario no encontrado
15.2.2. CAJA BLANCA
Se realizaron pruebas mediante depuración en Chrome para la ejecución de código Javascript (frontend) y mediante depuración de Visual Studio para el código backend.
El comando “Bind” ayuda a parametrizar cuales son los nombres de los parámetros que recibe el controlador, procediendo después con los modelos POCO a validar que los tipos de datos sean correctos
En conjunto con las clases de metadata, filtran la información pasada.
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Create([Bind(Include =
"ID,Nombre,NombreCorto,FechaInicio,FechaFin,PIP,Activo")] PS_PROYECTO
pS_PROYECTO) {
var user = (Usuarios)System.Web.HttpContext.Current.Session["user"]; if (user == null) { Response. Redirect("~/Autenticacion/LogOut"); } using (var transaction = db.Database.BeginTransaction())
{
try{#CrearObjeto}
catch (System.Data.Entity.Validation.DbEntityValidationException dex){} catch (Exception ex) {}
}
public class PS_PROYECTOMetadata
{
[RegularExpression(@"^\d{6}$", ErrorMessage = "El codigo PIP contiene solo digitos, hasta 6")]
public string PIP;
[DisplayFormat(ApplyFormatInEditMode = true, ConvertEmptyStringToNull = true, DataFormatString = "{0:yyyy-MM-dd}")]
public System.DateTime FechaInicio;
[DisplayFormat(ApplyFormatInEditMode = true, ConvertEmptyStringToNull = true, DataFormatString = "{0:yyyy-MM-dd}")]
public Nullable<System.DateTime> FechaFin; }
15.3. INTERFACES
Figura 4-1 Interfaz principal
Figura 4-3 Interfaz Crear Proyecto
Figura 4-5 Interfaz Visualizar Detalles de proyecto
Figura 4-6 Interfaz Asignar Usuarios a proyecto
16. SPRINT 2
16.1. SPRINT BACKLOG
Tabla 4.4 Sprint Backlog - Sprint 2
ID Nombre Historia Estado Tamaño Sprint Prioridad Tipo de
Historia Comentarios
16.2. PRUEBAS 16.2.1. CAJA NEGRA Caso: Iniciar Sesión
Tabla 4.5 Prueba de caja negra - Iniciar sesión
N° PARAMETRO VALOR RESULTADO
1 Usuario (vacío) Ingresa tu usuario
2 Contraseña (vacío) Ingresa tu clave
3 Usuario o Contraseña A1”#a Usuario/Password incorrecto o sin
permisos suficientes
4 Proyecto Seleccione una opción Usuario/Password incorrecto o sin
permisos suficientes
16.2.2. CAJA BLANCA
Se realizaron pruebas mediante depuración en Chrome para la ejecución de código Javascript (frontend) y mediante depuración de Visual Studio para el código backend.
Se valida mediante código Ajax, con el controlador, devolviéndonos los mensajes personalizados $.ajax({ type: "POST", data: { UserName: usuario, UserPass: clave, IdProyecto: idproyecto }, url: raiz+"../Autenticacion/ValidarInicioSesion", success: function (data) {
if (data.Resultado == 3) {
$("#mensaje_login").removeClass("alert alert-block alert-danger fade in"); $("#mensaje_login").addClass("alert alert-success alert-block fade in"); $("#mensaje_login").html(data.Mensaje + " ...Cargando"); $("#mensaje_login").slideDown(); window.location.href = "/" + data.Url; setTimeout(function () { $("#redirecciona_dashboard").html(data.Url); }, 3000); $("#btn_iniciar_sesion").attr("disabled", "disabled"); }else if(data.Resultado == 2){ swal({ title: "Atención!", text: data.Mensaje, type: "warning", timer: 4000, showConfirmButton: false });
window.setTimeout(function () {window.location.href = "/" + data.Url;}, 4000);
}else{
$("#mensaje_login").removeClass("alert alert-success alert-block fade in"); $("#mensaje_login").addClass("alert alert-block alert-danger fade in"); $("#mensaje_login").html(data.Mensaje);
$("#mensaje_login").slideDown(); }
},
error: function (xhr, ajaxOptions, thrownError) { alert(xhr.status);
alert(thrownError); }
16.3. INTERFACES
Figura 4-7 Interfaz Inicio de sesión
17. SPRINT 3
17.1. SPRINT BACKLOG
Tabla 4.6 Sprint Backlog - Sprint 3
ID Nombre Historia Estado Tamaño Sprint Prioridad Tipo de
Historia Comentarios
5 Gestionar mantenedor
usuarios Hecho 2 3 8 Desarrollo
Realiza las funciones requeridas
6 Gestionar mantenedor de
arqueólogos Hecho 2 3 9 Desarrollo
Realiza las funciones requeridas
7 Gestionar mantenedor de
estratos Hecho 3 3 10 Desarrollo
Realiza las funciones requeridas
8 Gestionar mantenedor de
área geográfica Hecho 3 3 11 Desarrollo
Realiza las funciones requeridas
10 Gestionar mantenedor de
tipo de material Hecho 2 3 12 Desarrollo
Realiza las funciones requeridas
17.2. PRUEBAS 17.2.1. CAJA NEGRA Caso: Crear usuario
Tabla 4.7 Prueba de caja negra - Crear Usuario
N° PARÁMETRO VALOR RESULTADO
1 Proyecto Asd El valor debe ser un proyecto
2 Rol (vacío) El usuario debe tener un rol
Caso: Crear arqueólogo
Tabla 4.8 Prueba de caja negra - Crear Arqueólogo
N° PARÁMETRO VALOR RESULTADO
1 Nombre Asd Correcto, puede ser cualquier valor
2 Registro addasda El Registro debe contener solo iniciales,
máximo 6 caracteres
Caso: Crear Estrato
Tabla 4.9 Prueba de caja negra - Crear Estrato
N° PARÁMETRO VALOR RESULTADO
1 Descripción Asd Correcto, el estrato acepta cualquier tipo de
nombre
2 Tipo (vacío) El tipo de estrato debe ser alguno de los
indicados
Caso: Crear Área Geográfica
Tabla 4.10 Prueba de caja negra - Crear área geográfica
N° PARÁMETRO VALOR RESULTADO
1 Nombre Asd Correcto, el estrato acepta cualquier tipo de
nombre
2 Nivel Sector Correcto
3 Pertenece a (vacío) Correcto, el tipo de nivel lo permite
17.2.2. CAJA BLANCA
Se realizaron pruebas mediante depuración en Chrome para la ejecución de código Javascript (frontend) y mediante depuración de Visual Studio para el código backend.
El comando “Bind” ayuda a parametrizar cuales son los nombres de los parámetros que recibe el controlador, procediendo después con los modelos POCO a validar que los tipos de datos sean correctos
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Create([Bind(Include =
"ID,UserName,UserPass,Nombre,Email,Activo,IdUsuarioJefatura,Sociedad,Unidad,Flag
N,Foto,Cargo,Dni,RPC,Anexo,Password,IdRol,IdProyectos")] TI_USUARIO tI_USUARIO)
{
var user = (Usuarios)System.Web.HttpContext.Current.Session["user"]; if (user == null) { Response.Redirect("~/Autenticacion/LogOut"); } using (var transaction = db.Database.BeginTransaction())
{
try{#CreaObjeto}
catch (System.Data.Entity.Validation.DbEntityValidationException dex)
{}
catch (Exception ex) {} }
}
public class TI_USUARIOMetadata
{
[Display(Name = "Jefe inmediato")]
[DisplayFormat(ApplyFormatInEditMode = true, ConvertEmptyStringToNull = true, NullDisplayText = "No tiene")]
public Nullable<int> IdUsuarioJefatura;
[RegularExpression(@"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\da-zA-
Z]).{4,15}$", ErrorMessage = "Incluya números, letras en mayúsculas y símbolos, minimo 4 caracteres")]
public string Password; }
17.3. INTERFACES
Figura 4-8 Interfaz Mantenedor Usuarios
Figura 4-10 Interfaz Visualizar detalles de Usuario
Figura 4-12 Interfaz Mantenedor Arqueólogo
Figura 4-13 Interfaz Mantenedor Estratos
Figura 4-15 Interfaz Mantenedor Tipo de material
18. SPRINT 4
18.1. SPRINT BACKLOG
Tabla 4.11 Sprint Backlog - Sprint 4
ID Nombre Historia Estado Tamaño Sprint Prioridad Tipo de
Historia Comentarios
12 Gestionar registros Hecho 5 4 6 Desarrollo Se incluyó las herramientas
necesarias
11 Elaborar registros Hecho 5 4 5 Desarrollo Se incluyó las herramientas
necesarias
18.2. PRUEBAS
18.2.1. CAJA NEGRA
Caso: Gestionar registro en inventario
Tabla 4.12 Prueba de caja negra - Gestionar registro en inventario
N° PARÁMETRO VALOR RESULTADO
1 Buscar Asd Error , el parámetro debe ser una fecha
2 Buscar 2011-05-22 Correcto, el campo acepta valores de tipo fecha
Caso: Crea registro en inventario
Tabla 4.13 Prueba de caja negra - Crear registro en inventario
N° PARÁMETRO VALOR RESULTADO
1 Sector Asd Correcto, el estrato acepta cualquier tipo de nombre
2 Subsector Sector Correcto
3 Unidad (vacío) Correcto, el tipo de nivel lo permite
4 Capa Vacío Correcto
5 Nivel Vacío Correcto
6 Numero de bolsa asd No se copia pues sólo admite números
7 Contexto asd Correcto, admite cualquier valor
8 Cuadricula asd No se copia pues sólo admite números
9 Tipo material Carbón Correcto
10 Cantidad asd No se copia pues solo admite números
11 Peso (Vacío) El campo es obligatorio
12 Fecha Hallazgo asd El campo debe tener un formato fecha dd-mm-yyyy
13 Descripción asd correcto
18.2.2. CAJA BLANCA
Se realizaron pruebas mediante depuración en Chrome para la ejecución de código Javascript (frontend) y mediante depuración de Visual Studio para el código backend.
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Create([Bind(Include =
"ID,IdAreaGeografica,IdMaterial,IdEstratos,NumBolsa,Contexto,Cuadricula,Peso,Can tidad,FechaHallazgo,Descripcion,UsuarioCrea,FechaCrea,UsuarioModi,FechaModi,Acti
vo")] MM_INVENTARIO mM_INVENTARIO)
El comando “Bind” ayuda a parametrizar cuales son los nombres de los parámetros que recibe el controlador, procediendo después con los modelos POCO a validar que los tipos de datos sean correctos
public class MM_INVENTARIOAMetadata
{
[Display(Name = "Tipo Material")] public int IdMaterial;
[Display(Name = "Num. Bolsa")] public Nullable<int> NumBolsa;
[Required]
[Range(0, 99999.99)]
[DisplayFormat(DataFormatString ="{0} g")] public decimal Peso;
[RegularExpression(@"^(\d*;)*\d+$",ErrorMessage = "La cuadricula deben ser numeros enteros separados por ;")]
public string Cuadricula;
[DisplayFormat(ApplyFormatInEditMode=true,ConvertEmptyStringToNull=true,DataForm atString = "{0:yyyy-MM-dd}")]
public System.DateTime FechaHallazgo;
[Display(Name = "Tipo de material",ShortName = "Tip. Mat.")]
public MM_TIPOMATERIAL MM_TIPOMATERIAL;
[Display(Name = "Unidad de excavación", ShortName = "Lug. Excv.")] public MM_AREAGEOGRAFICA MM_AREAGEOGRAFICA;
18.3. INTERFACES
Figura 4-16 Interfaz Mantener registro de inventario
Figura 4-17 Interfaz Crear Registro de Inventario
19. SPRINT 5
19.1. SPRINT BACKLOG
Tabla 4.14 Sprint Backlog - Sprint 5
ID Nombre Historia Estado Tamaño Sprint Prioridad Tipo de
Historia Comentarios
13 Elaborar reporte
individual Hecho 5 5 13 Desarrollo
Cargar datos filtrados por proyecto y fecha
14 Elaborar reporte por
subsector Hecho 5 5 14 Desarrollo
Cargar datos filtrados por proyecto y fecha
15 Elaborar reporte
general Hecho 5 5 15 Desarrollo
Cargar datos filtrados por proyecto y fecha
19.2. PRUEBAS 19.2.1. CAJA NEGRA Caso: Elaborar reporte individual
Tabla 4.15 Prueba de caja negra – Reporte individual
N° PARÁMETRO VALOR RESULTADO
1 Fecha Inicio Asd Error , el parámetro debe ser una fecha
2 Fecha Fin 2011-05-22 Correcto, el campo acepta valores de tipo fecha
Caso: Elaborar reporte por subsector
Tabla 4.16 Prueba de caja negra – Reporte por subsector
N° PARÁMETRO VALOR RESULTADO
1 Fecha Inicio Asd Error , el parámetro debe ser una fecha
2 Fecha Fin 2011-05-22 Correcto, el campo acepta valores de tipo fecha
3 Sector Suroeste Correcto
4 Subsector Huaca los Gavilanes Correcto
5 Unidad IP Correcto
Caso: Elaborar reporte general
Tabla 4.17 Prueba de caja negra – Reporte general
N° PARÁMETRO VALOR RESULTADO
1 Fecha Inicio Asd Error , el parámetro debe ser una fecha
2 Fecha Fin 2011-05-22 Correcto, el campo acepta valores de tipo fecha
19.2.2. CAJA BLANCA
Se realizaron pruebas mediante depuración en Chrome para la ejecución de código Javascript (frontend) y mediante depuración de Visual Studio para el código backend.
Se validan siempre el estado de la sesión, para poder hacer el llamado, y consiguientemente el proyecto al cual se ha iniciado sesión.
19.3. IINTERFACES
Figura 4-18 Interfaz Reporte individual
public ActionResult RptIndiv()
{
var user = (Usuarios)System.Web.HttpContext.Current.Session["user"]; if (user == null)
{
var auth = new AutenticacionController(); auth.LogOut(); } else if (user.IdProyecto == 0) { return RedirectToRoute(new { area = "", controller = "Principal", action = "Principal",
message = "No tiene un proyecto seleccionado" });
}
return View(); }
Figura 4-19 Interfaz Reporte por subsector
20. SPRINT 6
20.1. SPRINT BACKLOG
Tabla 4.18 Sprint Backlog - Sprint 6
ID Nombre Historia Estado Tamaño Sprint Prioridad Tipo de
Historia Comentarios
16 Exportar reporte Hecho 3 6 7 Desarrollo Realiza las funciones requeridas
20.2. PRUEBAS
20.2.1. CAJA NEGRA Caso: Exportar reporte
Tabla 4.19 Prueba de caja negra – Exportar reportes
N° PARÁMETRO VALOR RESULTADO
1 Exportar Clic Selección de tipo a exportar
20.2.2. CAJA BLANCA
Se realizaron pruebas mediante depuración en Chrome para la ejecución de código Javascript (frontend) y mediante depuración de Visual Studio para el código backend.
Se obtienen los datos mediante una combinación de EF5 y ObjectsDataSource, en uso de IFrames, permitiendo que los objetos estándar de .net controlen el flujo, control y gestión de los datos mostrados y exportados.
20.3. INTERFACES
Figura 4-20 Interfaz Exportar reportes <div style="width: 100%">
<rsweb:ReportViewer ID="ReportViewer1" runat="server"
SizeToReportContent="True" Width="100%" Font-Names="Verdana" Font-Size="8pt"
WaitMessageFont-Names="Verdana" WaitMessageFont-Size="14pt"
AsyncRendering="False" CssClass="reportviewer" ZoomMode="PageWidth"> <LocalReport ReportPath="Areas\MM\Reportes\RptGeneral.rdlc"> <DataSources>
<rsweb:ReportDataSource DataSourceId="ObjectDataSource1"
Name="RptGeneral" /> </DataSources> </LocalReport> </rsweb:ReportViewer>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
OldValuesParameterFormatString="original_{0}" SelectMethod="GetData"
TypeName="VIRUNET.Areas.MM.Reportes.InventarioRptTableAdapters.RPT_MM_INVENTARIO _INDIVTableAdapter">
<SelectParameters>
<asp:ControlParameter ControlID="TextBox1" Name="FechaInicio"
PropertyName="Text" Type="DateTime" />
<asp:ControlParameter ControlID="TextBox2" Name="FechaFin"
PropertyName="Text" Type="DateTime" /> </SelectParameters>
</asp:ObjectDataSource> </div>