1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 | [TestMethod] public void PruebaObtenerOpcionesMenuParaUsuarioAdministrador() { //Se fijan los parametros requeridos para las pruebas string strUsuario = "Administrador"; string strPassword = "Password"; string strNombreOpcion = "ReporteAspirantesIdoneos"; //Se fijan los resultados esperados var ResultadoAutenticarEsperado = true; //Se obtiene el resultado de la primera operación var ResultadoautenticarObtenido = eRecruit.Logic.clsNegocio.Autenticar(strUsuario, strPassword); //Se comparan los resultados, de no coincidir se notifica con un mensaje Assert.AreEqual( ResultadoautenticarObtenido, ResultadoAutenticarEsperado, "Ha fallado la autenticacion del Usuario"); //Se fijan los resultados esperados en la segunda operación var ResultadoEsperadoOpciones = true; //Se obtiene la lista que contiene los datos para buscar la opción esperada var ListadoOpciones = eRecruit.Logic.clsNegocio.ObtenerOpcionesMenu(strUsuario); //Se busca si existe la opción esperada var ResultadoObtenidoOpciones = ListadoOpciones.Any(lst => lst.Nombre == strNombreOpcion); //Se compara el resultado de la búsqueda con el resultado esperado //si falla se notifica con un mensaje de error Assert.AreEqual( ResultadoObtenidoOpciones, ResultadoEsperadoOpciones, "El usuario no tiene acceso a la opción de generación del reporte"); } [TestMethod] public void PruebaGenerarReporteAspirantesIdoneos() { //Se fijan los parametros string strDescripcionProceso = "SISTEMAS01"; //Se obtiene un resultado intermedio var ProcesoSeleccion = eRecruit.Logic.clsNegocio.ObtenerProcesoSeleccion(strDescripcionProceso); //Se obtiene el listado de aspirantes aprobados para el proceso seleccionado var ListadoAprobado = eRecruit.Logic.clsNegocio.ObtenerAspirantesIdoneos(ProcesoSeleccion.IdProceso); //Se compara si el proceso devolvio al menos un aspirante aprobado //si no existen aprobados se notifica con un mensaje de error Assert.AreNotEqual( ListadoAprobado.Any, true, "No existen aspirantes aprobado para el proceso"); //Se genera el reporte, el metodo devuelve el path del reporte generado var PathReporte = eRecruit.Logic.clsNegocio.GenerarReporteAspirantesAceptados(ListadoAprobado); //Se verifica que el Path no sea vacio // de lo contrario se notifica un error Assert.IsFalse( String.IsNullOrEmpty(PathReporte), "No se ha devuelto un path correcto"); } [TestMethod] public void PruebaPublicarResultadosPruebas() { //Se fijan los parametros string strPathReporte = "~/reportes/plantillaaceptados.pdf"; string strTituloReporte = "Reporte de Aspirantes Aprobados"; //Se fija el resultado esperado bool ResultadoPublicacionEsperado = true; //Se obtiene el resultado del proceso bool ResultadoPublicacionObtenido = eRecruit.Logic.clsNegocio.PublicarReporte(strTituloReporte, strPathReporte); //Se comparan los resultados esperados y obtenido //si no coincide se notifica con un error Assert.AreEqual( ResultadoPublicacionObtenido, ResultadoPublicacionEsperado, "No se ha ejecutado la publicación del reporte"); } [TestMethod] public void PruebaGenerarNotificacionesResultadosAspirantes() { //Se fijan los parametros string strDescripcionProceso = "SISTEMAS01"; //Se obtiene un resultado intermedio var ProcesoSeleccion = eRecruit.Logic.clsNegocio.ObtenerProcesoSeleccion(strDescripcionProceso); //Se obtiene el listado de aspirantes aprobados para el proceso seleccionado var ListadoAprobado = eRecruit.Logic.clsNegocio.ObtenerAspirantesIdoneos(ProcesoSeleccion.IdProceso); //Se compara si el proceso devolvio al menos un aspirante aprobado //si no existen aprobados se notifica con un mensaje de error Assert.AreNotEqual( ListadoAprobado.Any, true, "No existen aspirantes aprobado para el proceso"); //Se establece el resultado esperado bool ResultadoNotificacionEsperado = true; //Se obtiene el resultado del proceso bool ResultadoNotificacionObtenido = eRecruit.Logic.clsNegocio.GenerarNotificacionesAspirantes( ListadoAprobado, eRecruit.Logic.Enumeraciones.Aceptado); //Se comparan los resultados obtenidos con los esperados //si no coinciden se notifica con un error Assert.AreEqual( ResultadoNotificacionObtenido, ResultadoNotificacionEsperado, "No se han generado las notificaciones correctamente"); } [TestMethod] public void PruebaPublicacionRevisionResultados() { //Paso 1 del caso de prueba PruebaObtenerOpcionesMenuParaUsuarioAdministrador(); //Paso 2 del caso de prueba PruebaGenerarReporteAspirantesIdoneos(); //Paso 3 del caso de prueba PruebaPublicarResultadosPruebas(); //Paso 4 del caso de prueba PruebaGenerarNotificacionesResultadosAspirantes(); } |
Nota: El código aquí expuesto funciona con la herramienta de pruebas de Visual Studio Team Tester y se desarrollo en lenguaje C#, se pueden usar otros frameworks para pruebas como NUnit u otros disponibles según la conveniencia de cada equipo de desarrollo para desarrollar las pruebas, además las líneas al lado del código tienen el propósito de ser referencia.
Como se puede ver en el ejemplo, en las líneas 2, 37, 68 y 89 se encuentran los métodos que representan a las pruebas funcionales, cada uno usa la técnica de pruebas unitarias para verificar los resultados, cada uno de los métodos representa un paso del caso de pruebas, además en la línea 124 está el método que representa a todo el caso de prueba, que ejecuta en el mismo orden los métodos que representan a los pasos del caso de uso. En caso de fallar uno de los métodos se entiende que el caso de prueba ha fallado, y debe ser enviado de nuevo a revisión al equipo de desarrollo.
1 comments:
Simple y dulce. Estoy pensando en empezar otro blog o cinco muy pronto, y definitivamente voy a considerar este tema. Mantenga 'em coming!
Post a Comment