You are on page 1of 112
=e, gg www.acklis.com {29 CURSO-TALLER Técnicas de prueba de software para desarrolladores Casos de sistemas de informaci6n Equipo docere del curso i ACKLIS PhD (c) Mag. Abraham Davila Ramon Magister en Informatica por la Pontificia Universidad Catélica de! Perti (PUCP) y doctorando en el area de Calidad de Software en la Universidad Politécnica de Madrid. Profesor Principal de la seccién Ingenieria Informética del Departamento de Ingenieria de la PUCP. Evaluador intemacional en ISO/IEC 15504 y consultor en gestion de procesos (MoProSoft, ISO/IEC 12207, CMMI, ISO 9001, RUP) y gestién de proyectos de software. Consultor en calidad de producto usando ISO/IEC 9126, ISOMEC 14598 y la serie ISONEC 251%. Miembro del equipo de trabajo WG24 de la ISO/IEC JTC1/SC7 que desarrolia la norma ISO/IEC 29110 Perfiles de procesos para pequefias organizaciones que desarrollan sofware. Investigador y consultor principal para Peri del Proyecto Competisoft y Competisoft-Perd. Secretario de! Comité Técnico de Normalizacién en Ingenieria de Software y Sistemas de Informacién ante INDECOPI. Autor de pubicaciones en revistas y expositor en eventos y conferencias nacionales e internacionales. Comunicaciones a: abraham davila@acklis.com (temas comerciales) ‘abraham.davila@pucp.edu. pe (temas académicos) (51) 999 340 643 ‘Skype: abrahamedavila Este material es propiedad de ACKLIS SAC. Todos ls derechos reservados, {Ca repreducein © detrbuciin de este material no estén permtidas bao ningun mecarisma. wwv-acklis.cor CURSO-TALLER Técnicas de prueba de software para desarrolladores Casos de sistemas de informacién Presentaci6n a-* ACKLIS a calidad de software a Agenda + Indicaciones + Presentaci6n — del curso — equipo docente — participantes ACKLIS ———————— 2 s Indicaciones + Sesione: + Dia(s): * Horario: Intermedio: Refrigerio: Servicios de higiene: Uso de celulares: * ACKLIS (cepa enaoenconmamy dade nofiare " + Presentaci6n Silabo en cada tema — Sesiones tipo taller, complejidad progresiva, evaluacién final es opcional. + Equipo docente — Nombre: + Filiacin:. + Experiencia — Empres: + Comunicaciones (cor + Participantes — Nombre — Organizacién— Cargo — Expeciativa ACKLIS fara er ar cra ‘ aed desofiae www.acklis.com CURSO-TALLER Técnicas de prueba de software Casos de sistemas de informaci6n Médulo: TPS001 — Introduccién Guia de la sesi6n ‘Curso: TPS001. Ténioas de prueba de software - Introduccién ae ACKLIS CURSO - TALLER Técnicas de prueba de software Casos de sistemas de informacién Médulo TPS001: Introduccién OBJETIVO Introducir a los participantes en los aspectos fundamentales de las pruebas de software que servirdn de base para comprender conceptos y técnicas utilizadas en pruebas de software. ‘SUMILLA El taller comprende la presentacién de un caso representativo de pruebas de software, las definiciones sobre pruebas de software (caja blanca y caja negra), el concepto de casos de pruebas, test-driver y catdlogo de pruebas. METODOLOGIA DEL CURSO Las exposiciones teéricas de! profesor se realizarén con ayudas visuales y seran complementadas con la ilustracién de un ejemplo practico. En el médulo se considera el uso de un conjunto de diapositivas, una guia del participante e! que incluye un ejercicio orientador que se desarrollara bajo indicaciones del profesor; ademas se incluye un Solucionario para el ejercicio revisado en clase. BENEFICIOS ‘© Aprendizaje basado en problema. * Casos tomado y adaptado de un libro clésico. ‘* Ejercicio y discusin sobre el ejercicio planteado. © Lectura de referencia importante. ste material es propixad inclectualy comerial de ACKLIS SAC. Todos ls derechos reservados. Lareproducién dtibucin de este matrol no eetin pemiias bajo ningun mecanio. wwwacklis:com & a” ge a CURSO TALLER Técnicas de prueba de software Casos para sistemas de informacién TPS001 - Introduccién a= ACKLIS & calidad de'software Ejercicio emblematico * Elabore los casos de prueba para el siguiente caso: Se tiene una funcién que recibe tres valores enteros como pardmetro. Los tres valores representan la longitud de los lados de un triéngulo. El programa presenta un mensaje que sefiala si el triéngulo es escaleno, isdsceles o equilétero. + Utilice la guia del participante para desarrollar la solucién. gTienen casos de prueba donde los tres lados son enteros TMayores que cero y que la suma de dos lados es menor al tercer? pe. (1 pero no ‘existe ese triangulo. ¢Han permutado los lados: p.e. (1,2,4), (1,4,2) y (4,1,2)? Tienan casos de prueba donde dos o tres lados (0,0.0), {o03).103.0) y (60.0)? ° OER iene gangs, de. prueba donde dos 0 més lados son valores no biteros (2.5,3.5,5.2)? gTiene casos de prueba con un nimero incorrecto de valores (dos valores en lugar de tres)? Han permutado? zPara cada caso de prueba se tiene especificado los resultados @sperados del programa en adicion a los valores de entrada? ACKLIS soxsorsteeees monet oh Agenda. * Concepto + Caso representativo Fundamentos Tipos: Funcionales y Estructurales Caso de prueba + Test-Driver * Catalogo de prueba a iS en re ecm + (1) Una actividad en fa que un sistema 0 un componente es ejecutado bajo condiciones especificadas, los resultados son observados 0 registrados, y una evaluacién es realizada de un aspecio del sistema o componente. + (2) Conducir una actividad como se indica en (1).. + (8) Un conjunto de una o mas casos y procedimientos de prueba. + IEEE 829-2008 IEEE Standard for Software and System Test Documentation.3.1.39 International Organization for| ‘Standardization Tonada 19010 FG 275-0: Ops and str engnerng- Yoo 087 ACKLIS srsenreeeetassSeemcmmon called desofunre a Ideas fundamentales + Noes posible realizar pruebas exhaustivas. + Las pruebas NO demuestran ausencia de defectos. Sdlo pueden demostrar la presencia de errores. Use demostraciones formales de qué es correcto para satisfacer la “ausencia’ + El propésito N licacién es satisfactoria, ‘sino determinar con firmeza en via parte NO LO ES. (Myers) Las pruebas ayudan a encontrar defectos por tanto “es un proceso destructivo” Maximizar el nimero defectos encontrados por Soles gastado. ann gi OestvPrpt ei ete 2p ws ACKLIS morons econ rence Elo enous eat noeeapereneateprigsmatens Principios - The Art of Software Testing Datos y resultados esperados en casos de prueba No se puede ser juez y parte: programador y empresa Inspeccionar resultados Funcionalmente correctas e incorrectas Hace lo que se quiere y no hace lo que no debe hacer. Casos de prueba de usar y tirar, luego programas de usar y tirar. Planificar pruebas y correcciones. Probabilidad de defectos es directa a la cantidad de errores. + Pruebas requieren creatividad e intelectualidad. a ACKLIS cormcenaran atrmemnastanans op : {Qué es un caja negra? LORS oe a ec ; a &Qué es un test-driver? np ial ‘y2) calcula ol perimavo de un tiéngul, dado 3 lados.. Ta.) (site. 155.5) = 15 Entonces mosvar "Est conecat ‘Caso contrario mostrar “Einar de cleo” ‘SH15.9.5) | 19 Entonces mostrar “Error de céloule” y ‘Ejempio trivial (extracto de una regia) Una mujer va al cine en dia femanino = martes y s6lo ., aga et 50% y recibe un bono de 100 puntos. EntradaCine (in sexo, h dia, out pago, out bone) Td_EntradaCined) {1Siin sexo = femenino, india = martes entonces eu pago=B0% y bono= 100puntos EntradaCine( femerino, martes, pago, bon) ‘Simo (pago="50%" y bono=100) Entonces mostrar “no se cumplé la regia de negocio * w+ ACKLIS semunritameenmnccacmnmimamnm AGREIS onén Secu maroon p Técnicas de Caja Negra y Blanca + Caja Negra: * Caja Blanca: + Pruebas Funcionales + Pruebas Estructurales — Se sabe que entra y se = Se tiene conocimiento del puede determinar que li sale + Técnicas 7 ‘Técnicas — Clase equivalente - ae - Anélisis de valores * Soviets Vimites ——— Tablas de decisi * Condiciones - penones: — Complejidad ciclomatica = Causa efecto ar ACKLS Seer . Catalogo de Prueba * Documento que recoge los casos de prueba — Identificador de caso de prueba — Datos de entrada — Datos de salida — Observaciones * Se pueden adicionar mas campos de acuerdo a las necesidades de la organizaci6n. ai ACKLIS sosrgmtmen rne eere . wwwacklis.com § CURSO-TALLER Técnicas de prueba de software Casos de sistemas de informaci6n Médulo: TPS001 — Introducci6n Guia del participante BS ACKLIS Curso: TPSOO1. Técricas de prueba de software ~ Inroduccién mee ACKLIS Guia del pariipante BS + Ejercicio emblematico ‘Traducido de: “The Art of Software Testing’, Glenford J. Myers (1979) Elabore los casos de prueba para el siguiente caso introductorio: Se tiene una funci6n que recibe tres valores enteros como parametro. Los tres valores representan la longitud de los lados de un triéngulo. EI programa presenta un mensaje que sefiala si el triéngulo es escaleno, isésceles 0 equilatero. Este material es prosiodad itolectualy comercial de ACKLIS SAC. Todos 1s derechos reservados {a reprduelén o detibucién de este material no estin permitidas bajo ningin mecanio. * ACKLIS ‘Curso: TPS001. Técnicas de prueba de software — Infroduccién ‘a Guia del parficipante * Principio de las Pruebas de Software Tomado de: “The Art of Software Testing”, Glenford J. Myers (1979) A continuacién se presenta un conjunto de principios propuestos por G.Myers sobre pruebas de software: © Una parte indispensable de los casos de prueba es Ia definicién de los resultados esperados. Un programador debe evitar probar sus propios programas. © Una organizacién (desarrolladora) no debe probar sus propios programas. Se debe evaluar a fondo los resultados de cada prueba. '* Los casos de prueba deben ser escritos para condiciones de entrada que no son validos e inesperados, asi como para aquellos que son validos y ‘se espera. © Examinar un programa para ver si hace lo que se supone debe hacer es s6lo fa mitad de la batalla, la otra mitad es ver si el programa hace lo que ‘se supone no debe hacer. Evitar los casos de prueba de usar y tirar a menos que el programa es en verdad un programa de usar y tirar. * No planear el esfuerzo de pruebas bajo el supuesto tacito de que no encontrard errores. Entonces considere el tiempo de las correcciones en fa lanificaci6n (aftadido por nosotros). © La probabilidad de existencia de mas errores en una seccién de un programa es proporcional a la cantidad de errores que ya se encuentran en esa secci6n. © Las pruebas de software constituyen un gran desafio de creatividad e intelectualidad. Este material e propledad intelectual y comercial de ACKLIS SAC. Todos os derechos reservados. Lareproducctino dtibucion de este material no estan pemitidas bajo ningin mecanismo, aueun a BEBSLSSSSFSPAGASSRARE RY SVSBBNR BLON8RoESS a ‘SWEBOK Software Engneeing Body of Knowledge. Capitulo 5. CariruLo5 PRUEBAS DEL SOFTWARE ACRONIMOS ‘SRET Pructes Orientadas ala Confiablidad del Software “IerRopucciox ‘Hacer prucbas os wna actividad que tiene el objetivo de evaluar y mejorar la calidad del producto, ‘dentficando defecns y problemas, ‘Las prochas del software conssien en verificar el ‘comportamicnto de un programa dinémicamente ‘través de um grpo fino de casos de procta, ‘ebidumente seleccionados del, tipicamente, émbito de cjeeuciones infinite,” en relacidn all ‘esperado, En la definicié anterior (¢ Dindmicamente: Ete termina significa que hacer [prucbes siempre supone, cjcutar el programa ‘con entrada de datos (valorados). Para procisar, es precizo afirmar quo la enirada de valores no es sicmpre suficicote para defnir una prucba, dado que mn sistema complejo y no. determinista ‘en el quo se encacnte. En cualquier exso, en este KA, mamtendremos el tésmino de “entrada de datos”, asumiendo Ia convencién de que el ‘trmino inciuyo un estado del sistema especifico, cen Jos casos en que sea necesario, Existen otras ‘enicas complementarias a las pruebas, aque diferentes, desta en el KA sobre ta Calidad ‘el Software. Fito: Tocloso en programas senills, teéricamente podria haber tantas pracbas que realizar, que hscer pruebas exhaustivas podtia Tevar meses o aos, Esta es In raza por Ia que cen Ia préctca el grupo completo de prucbas so podria consider infiit. Hacer procbas ‘siompre suponc un compromiso entre recursos y Calcodrios e tabjo lindo, por un lado, Noctis inet probes itn por ‘Seconds: La een esac ete Is stints tcnicas de procbes propoestas sc ‘encuentra en cimo se escoge el conjunto de ‘pruebas. Los ingenicros informsticos deben ser 8 FQRVLSSLSSeeRReasegsay BEERS consticntes de que criterios de selecciéa do Ta constrain del producto. Es mis, a ‘lanificacion de las prusbas debera empezar en las Primeras tapas del proceso de requisites, micntras que os plnes y proceimicatos de prucbas deberian salle" y—posiblemesie_efinarse sistemétiamente sogin avanza cl desaroll. La plenificacin de las prueba y las propias actividades e disco constituyen uaa infommacion muy itil que ayada a los dischadores de software a identficar ‘ebildades potencales (tales como clemenios del disco que han pasado desapercibidos, contradicciones de disco, u omisiones 0 ‘ambigiodados en la documentacin) En Ia actualdod se considera que la preven es la acitud adceunda en lo que respocta a Ia calidad: ‘obviamente es mejor evar problemss que ‘solucionarls. Realizarprucbas debe verse como un medio para vrificar, o slo sila prevencin ha sido cfectiva, si no para ideaificar fallos en aquellos ‘as0s en los que, por alguna raaéa, 90 lo a sido, SWEBOK. Reproducido para fines académicos. Tomado de http://filebeam.com ‘SWEBOK Software Engineering Body of Knowledge. Capt S. 1 Aumgue quizis sa obvi, val la pona conocer qu, 2 incluso después do" uma campaa do procs 3 extcasva, el software aim podria contenererores. 4 Las scciones de mantenimicnto —conectivas 5 proporcionan la solucin enores cn el software § ace eee aS 8 9 Enel KA del Mantenimicato del Software (véase 10 punto 33 Thenicas de Geslin de Calidad det 11. Software, las tsnicas de gestion de la calidad del 12 software 50 dividen entre téenicas extticas (sin 13 ejecucion do odtigo) y téenicas dindmicas (con 14 ejecuciin de edtigo). Ambas catogrias son stiles. 15. Este KA se contraen tcnicasdingmcas. 16 Las procbas del software también esin olcionadas 17 conla constmecién del software (véasc la scciga 3.4 18 Consiruccin de Pruebas). Las procbas de uni y 19. de integrocign estin inimaments relacionadas con it 20 comsncién de sofware, si no son pate dela 2 Division DE TEMAS La descomposicin de temas en el KA de las Procbas ‘del Software se muestra en la Figara I. ‘La primera subsea describe los Findamentos de las Pruebas del Sofmeare. Cb as dfinicioncs bisias el rea de pruchas del softwar, la teminologia bisica y los términos clave, asi como las relaiones 30 con ots actividades. 31 La segunda subirea, Niveles de Pruebas, esti BRR RRB SWEBOK. Reproducido para fines académicos. Tomado de _http://filebeam.com foxmada por dos punts ertogonales: primero 1) ‘emumera‘los siveles en que undiionsiments so subdividen las pruebas para software grande, sicatas gue el segundo (22) consi las prucbes a siusciones © propicdades espcifins y= ‘onoce como abjtives de lar prasbar. No todos los tips de: prches <=. pueden aplicar a todos los products de sofware, ampooo sc han emer {odes tips poses -Elobjetoy los objetivos de las procas determinaa Ia ‘forma en que un grupo de procbas se identifica, eno implicita 4 alo ws i prime prt de Is dos ses anteriores) Los criterias para responder ala primera ‘cucstiéa se denominan ctitetios de Kdoneided las Pruebas, mientrs que los que so reficren a la ‘seemnda cuestion se deoominan criterios do selec elas pruebas. ‘Proponiendo imnevas tdenicas. El conjunto de prucbas cominmente aceptadssestin emumeradas en a subsea 3. Las ediciones de Pruebas e enumeran ca la ‘shire 4. Finalmente, los aspecios relacionados con Proce dos Praca est ensraasen ‘SWWEBOK Sotware Engineering Body of Knowledge. Caplio 5. —— f I t x 1 Potesias| «| scenes cet meet Tt = — — ie egiinae |, Hoon ncintratmomn |, Conte ‘cones Proce Procbe prerna wciaod [7 MesiantePratbes atuciiny Eepecieaca — ee. ire 2 omce Ly Henn L, mraiasins bb Aue eat Eo : ncn ae saci Teptre soi Tate mt Bene ‘Figura 1 Divisin de los temas para el KA de ls Pras del Software SWEBOK. Reproducido para fines académicos. Tomado de http://filebeam.com SWEBOK. Reproducido para fines académicos. Tomado de http://filebeam.com ‘SWEBOK Sofware Engineting Body of Knowledge. Capua 8. 1. Fundamentos de las Pruebas del Software LL. Terminologiarelaconada con la pruebas LL1 Definciones. de prucbas y tenninologia relacionadas [Beioel; — JorO2e2;— Ly06ie2s22} ((EEESI0.12-90) ‘Vea una introdvccién detallada del KA de las ‘Pruchae del Software en la referencias revomendadas. 112 Exrores Vs Fallos[lor02:22; Lyu96e2s2.2; Pes5-; PHOLe8] IEEEGIO.12:90, IEEE®2.1-89) 2. blag en Iopsint elSaline so téminos para describir un Socloumion incon, parclaments fly deine deta 1990, Standard Glassary of Sofiware Engineering Terminology (EBE610-90) y también se discute en. el KA de Ia Calidad del Software. Es eseacial istingnir claramente entre Ia emsa de un fimcionamicato incorecio, en cuyo caso se usan términos como error y defecio, y 10s efectos 10 descados observados en los servicios ‘por un sistema, que se Ilamarin falls. Hacer pruebas: ‘Puede descubrir fllos, pero es el emor cl que se ‘poode,y se debe, elimina. [En cualquier caso, deberia aceptase. que m0 es de mn filo, No existe ningim crterio teitico que pueda usarse para deteminar goé error produce el fallo obsorvado. Podtia decise que hay que arezler ‘entradas que cousan felis (P98) en ver de extores =o lo que es To mismo, aquellos grupos de entradas ‘de dalos que hacen que! falloaparezes. 12 Cuestiones clave 121 Criteriog de soleocién de pruebas/Criterios ‘de idoncidad de prucbas (0 finalizacin de ‘prucbas) [PAOL:c8s7.3; ZhuOTs1.1] (Wey83; Wey91; Zu9) Uncaiterio de selecsin de pruebas es un medio para decidir cules deben ser Ios casos de prucba ‘adecuados. Un criterio de sclecciin se puede usar para seleecionar casos de prucbas © para comprobar el grupo de easos de prucba es apropiado ~ 0 sca, ‘para decidir sise puede temminar de hacer prucbas. Véase el spartado Finalizacién de la seecién 5.1 Consideracionesprécticas. 1.22 Efectvidad de las prucba/Otjetivos para Js prochas Beis 4; Pee95:<21] (Fra98) Realizar procbas consists en observar un conjunio de cecucions del programa. Hy diferentes objeivos ‘ne nos pueden guia en la sclccién del conjnio de rush: laefctvidad del grupo de prbas slo pede evalua en fancin del objetivo selecionado. 123 _Realizar pruebas para la idenificacion de efectos [BBeitee; Kendo] ‘Cusmdo eaizamas pcb pra la idenicacién de tects, una prcbe es saisfactria Si produce un ero ca el” sistema Bs éie un cnfoque Complement diferente al de realizar probes para Emodrr que ol eoware sash las ‘xpecificatioass u ot conjunlo de propiedaes ‘eseadas, en eayo cao una procb saisfctria es ‘aguela en Ja que no se obeervan exes (al menos ‘Signiticatve)- 1a 6a oricalo [Beis (Bax96, Woy83) ‘Ui orécalo es cualquier agent (xumano o mecinico) = Se = poe = ct fcomctamente dart ana prucba tensememement> profuse "wn verdico de “supeada” o “ila” ay varios pos diferentes de le et haciendo proct, 0 env ov cnv a 1 b § ¢ ‘a ropresenta la clase no valida (cnv) y que corresponde al rango }-©2, 0) = brepresonta la clase valida (cy) y que corresponde al rango [1 , 5] "= Crepresenta la clase no valida (env) y que corresponde al rango [ 6,c0[ ‘Adaptec dl Grso Unive Potdecica de Mads —_—. enc ae mae etn apne, caldod ce sefuere Clase equivalente + Sies.un valor o un rango de valores: 2 cnvy 1 ov ‘nGmero de exdmenes Notas del curso de 0.20 ow x=2 oY O2 crv x>20 ow x<2 ov x<0 * Sison enumerados: tantas cv como elementos haya en la enumeracién y un env. Calificatvos de nota final por ejemplo en Tesis. * Situacién que debe de ocurtr: (ichero) ‘ev Nombre del fichero ‘env No Nombre del fichero, Si creé que no todos los elementos de la clase se tratan Igual. Dividir en clases" Adapt dt Curso Universidad Poiorca de Mac ARE Oreo Unrest Ptr de Mac tg ACKLIS pomscrmmmeenemstotnemenemnmnte + ¥ / ct re Cal uunvy p a Catalogo de pruebas *~ ease [Clase | Valores 16,11 | GOook6 (rpm pT CLuny 2 (8000, 7 opm), (Mary 1(1000),6. 7pm) 3 (6000),6 (7pm), 11 CLurr) 6 (7pm), 12 (War) 1 ae TC ST ne 1 (7000), 8 (Sper), 14 (7 “i 2 a ae eT [ 73 * (1000), 10 Hora), 16. Teg 1, fie 2 3009, 6-7pm), CHOY) Msg "No es dat Be ACKLIS srmtoremmcereneence ene Test driver {Caso de prucba 1, de clase equivalent 1.6.11 Ga Dsio(1000, Fm, Lr) 9% entoncas mensao“eror op 1:6:1.6.11° 11Caso de prueba 2 de clase equivaloie 2,712 1 Cale.Deoto($000,"10prr", Mar") = 9% entonces mensaje “error ¢p2:c03,7.11" completar en la gula del patipante {Caso de prueba 8, do case equvalonte 38,11 1 Cale Dsco(6000, Fp, "Lur) l= Meg "NroSocio mayor 24000" ‘entonces meneaj “erorep 8:003,5.11" 1 Caso.de procha 9, de clase equivalente 46,12 Cake.Dscto(0:7pm", Mar’) le Msg “NeoSocio mayor a O° lentonces mensaje “enor cp 9: c2:4.6,12" ~~~ completar en la guia de! patcipanto } ms ACKLIS sotnreeceremstrocn nmr FOCI ES tanensnaocmncnde sar meas meatnpentint agente Sp Eercicios_ 2 + Caso: Calculo de cuota de impuesto + Caso: Calculo de tasas de interés de préstamos * Caso: P6liza de Seguro. Uso de Ia GUI. * Caso: Puntos acumulables. Dependencia. + Caso: Transferencia entre cuentas. Persistencia. + Caso: Club. Procesar archivos + Caso: Consistencia de archivos. * Caso: opcional mE ACKLIS sromeorommerarctnwmnn neon a Anélisis de Valores Limites (AVL) * El analisis se realiza en todo las fronteras, dentro y fuera. + Los casos de prueba aumentan con estas situaciones. + Porejemplo, con clase equivalente BT ACKLIS: srrcorerememrerornnne emnenennmn www.acklis.com CURSO-TALLER Técnicas de prueba de software Casos de sistemas de informacion Médulo: TPS002 — Clase equivalente Gula del participante ACKLIS Curso: TPS002. Técnicas de prueba de software — Clase equivalente a Guia del partcipante calisidesiare ‘* _Ejercicio orientador: Cine ENIC * Este caso sive para explicar la técnica y podria ser desarrollado considerando otros eriterios. ENIC ha desarrollado Ia siguiente estrategia de promocion para sus socios: Si el ntimero de socio esta entre 1 y 2000 recibe un descuento de 6%, y si esta entre 2001 y 4000 el descuento es de 3%, en otro caso no recibe descuento. Si asiste a una funcion antes de las 9pm, se aumenta el descuento en 2%; y sila funci6n es a las 9pm o posterior el descuento adicional es 3%. Ademas tiene un descuento adicional segin el dia; para “Lun’, “Mie”, “Vie”, “Sab” o “Dom” es de 1% y si es “Mar” 0 “Jue” es de 3%. Elabore los casos de prueba y test driver usando Ia técnica de clase equivaiente. ‘Solucin aprent 1. Resumen de datos - Ndmero de socio: 1 a 2000 y 2001 a 4000 - Funci6n: antes 9pm, 9pm o mas ~ Dia: Lun .. Dom 2. Andlisis de clases equivalentes. ~ Numero de socio: 1 a 2000 y 2001 a 4000 nv: env: - Funcién: antes 9pm, 9pm o mas ev: ov: GakcDsclo="NroSocio mayor a 4000" If Calc. Dscto(6000,’7pm’, Lun’) ‘= Msg "NroSocio mayor a 4000" entonces mensaje “error cp 8: c2:3,6,11" W/Gaso de prueba 9, de clase equivakente 4,6,12 ‘7 aroSocio=0, funcion=7pm y dia=Mar => CaleDsclo="NroSocio menor a 1” if Cake-Dscto(0,"7pm’, “Mar) != Msg ‘NroSocio menor a 1" entonces mensaje “error cp 9: ce:4,6,12" _Exte materiales propiedad inclectual y comercial de ACKLIS SAC. Todos los deectos reservados, 4 Ee metieiGn detbucion de exe materia no estan poise bo ng mecarisno. Curso: TPS002. Técnicas de prueba de software — Clase equivalente Guia del paricipante Ejercicio caso: Célculo de cuota de impuesto * ACKLIS La administraci6n tributaria de una municipalidad ha desarroliado un sitio Web para que las personas puedan calcular las cuotas del fraccionamiento entre 12 y 36 meses para deudas entre S/. 1000 y S/. 4000 nuevos soles. Se pide elaborar los casos de prueba y test-drivers usando clase equivalente. Considere la funcion de célculo como mimpto {in Monto, in Meses) y el test driver como: td_mipmto(). ‘Nota: Para feciitar su trabajo se incluyen datos de céiculo de dichos fraccionamientos. 4000] 25| 110.17 4000) 36/ 103.34; 2000] 25| 220.34 2000| 36] 206.60] '3000| 25] 330.50 '3000|36| 310.03] ~4000| 25 | 440.67, -4000| 38 | 413,37. Este material es propiedad intelectual y comercial de ACKLIS SAC. Todos los derechos reservados, Ga reproducciin o datrbucin de este material no esti peas tao ringin Mecanismo. ‘Curso: TPS002. Técnicas de prueba de software — Clase equivalent me" ACKLIS Guia del partcpante ‘celetdeostue Ejercicio caso: Calculo de tasas de interés de préstamos Una empresa del sector financiero establece sus reglas de cAlculo de tasas de interés de préstamo considerando lo siguiente: Tipo de Moneda, Monto y Plazo. Si el monto del préstamo esta entre 5,000 y 10,000 se aplica el 9.5% de interés, pero si esta entre 10,001 y 25,000 se aplica el 9.0%. Si el préstamo es en Soles se incrementa la tasa en 0.5%, si es en Délares la tasa aumenta en 1.5% y si es en Euros en 2.5%. Adicionalmente, el préstamo se puede otorgar entre 12 y 48 meses siendo la regia para el incremento: 0.01°(48-mes) %. Construir los casos de prueba para el caso presentado. Este material es propedad intelectual y comercial de ACKLIS SAC. Todoe los derechos reservados. 7 ‘La reproducciino dstibuctn de eete material no estan permiias bao ingin mecanisno. ‘Curso: TPS002. Técnicas de prueba de software — Clase equivalente m= ACKLIS Gula del partgpante cea _Eate materiales propiedad intelectual y comercial de ACKLIS SAC. Todos is deechos reservados, 8 {Ga reproduccion detrbuctn de este materia no estn pemiidas bajo ringin mecarimo. ACKLIS (Curso: TPS002. Técnicas de prueba de sofware — Clase equivalente ng ACKL Guia del partcipante Ejercicio caso: Péliza de Seguro Para asegurar un auto una compatia de seguros utiiza los siguientes criterios: antigdedad del vehiculo, ntimero de accidentes en el titimo afio, edad del propietario. A continuacién se muestra la tabla en las que se indica el porcentaje que se aplicard al monto base del seguro, bajo ciertas condiciones: ‘Mas de 24 aos De 0a datos 2% Luego de 3 afios, hasta los 6 4%. Luego de Gafios, hasta los 12 | 6% Luego de 12 afios, hasta los 24 | 9% No se asegura. Vehiculo muy antiguo (1 Sies de 18 fos o menos 'No se asegura. Menor de edad (2) Sitiene mas de 18 afios, hasta 26 4% Sitiene mas de 26 afios, hasta 65_| 2% Sitiene mas de 65 afios No se asegura. Adullo @) Si ha tenido alo mas 1 accidente | 1% ‘Siha tenido 2, 3 6 4 accidentes 3% ‘Siha tenido mas de 4 accidentes | No se asegura. Muchos accidentes (-4) Gaso4 Construya el Catdlogo de pruebas y test-driver. Para los casos de prueba derivados por la técnica de clase equivalente, considere lo siguiente: + Utilice la funcion CalcSegVeh(antigiedad, edad, accidentes). + El factor se calcula sumando los tres factores en caso sea posible, en ‘caso no se asegure y concurran varias condiciones, prevalece el de mayor valor absoluto. Caso 2 Considere que los datos se ingresan en un GUI usando selector nico (radio button) y ninguna opcién seleccionada por defecto. ,Qué casos de prueba se pueden simplificar? Ente material es propiedad itelectualy comercial de ACKLIS SAC. Todos los derechos reservados, 9 {ia repreducelin o dsthbuciin de este material no estin permdas bajo ningun mesaniamo. ACKLIS Curso: TPS002. Técnicas de prueba de software ~ Clase equivalente ACKLIS Guia del pertipante Este materiales propiedad intelectual y comercial de ACKLIS SAC. Todos los derechos reservados 10 La reproduccion o dotibuein de este material no estin permis bajo ringn mecaresmo. Curso: TPS002. Técnicas de prueba de software — Clase equivalente a&= ACKLIS ‘Guia del partcipante ‘isiteroiaoe Ejercicio caso: Puntos acumulables (dependencias) Una tienda ha establecido un esquema de premiacién a sus clientes en base a su documento de identificacién. Los documentos que acepta la tienda son Documento Nacional de Identidad (DNI), Camet de Extranjeria (CE) y Pasaporte (Psp). El puntaje que un cliente acumula es el monto de compra muttiplicado por un factor obtenido del niimero de identificacién. El factor es el niimero entero de la division de la suma de los digitos de! documento y la Jongitud de nimeros que tiene el documento. La funcién utilizada tiene el siguiente protocolo Puntos(in TipoDocumento, in NroDocument, in Monto). Se debe considerar: DNI, documento de 8 digitos, siendo el primer digito mayor a 0. CE, documento de 6 digitos, siendo los dos primeros “51” Psp, documento de 5 digitos, siendo el primer digito mayor a 2. Desarrollarlos casos de prueba y test-drivers. > ‘Ww u Bey m Gry ?) G)7/ 19) cw ci) 4 C4E — 2 CNY hb CE ~~~ @ Este mate x prope elec y comer de ACKIS SAC. Tes os eos ened. 1" {Greprsinoin ertuntn ce oae rotate ean pomaea ip hogin Reza, yO AE pve whe J 48 conv 5 cho mente ~ AF (Curso: TPS002. Técnicas de prueba de software — Clase equivalent m= ACKLIS Guia del partpante WB Ssectescioce ste material es propiedad iteectual y comercial de ACKLIS SAC. Todos os derechos reservados, 2 {i repreduccion © detbucon de este material po estén permidas bajo ningin mecanimo. = ‘Curso: TPS002. Técnicas de prucba de software Clase equivalente gr ACKLIS Guia de! parfcipante ‘esicod de software Ejercicio caso: Transferencia entre cuentas EI banco XYZ tiene un médulo de transferencia entre cuentas del mismo tipo (cuentas de ahorro) y de la misma moneda (Nuevos soles) que permiten transferir entre 10 y 10,000 Soles entre elias. La funci6n tiene la siguiente GUI. Cuenta Origen, Destino: si Cadena de 5 digitos. Desarrolle los casos de prueba y el test-driver correspondiente. Consideré ta funci6n TransfCta (in CtaOrigen, in CtaDestino, in Monto). Si la operacion se ejecuta de manera correcta devuelve el Monto de transferencia como resultado. 4 Si la operacion presenta algun error, devuelve un niimero de error como valor negativo. Para efectos de este ejercicio usted elaboraré una lista de posibles resultados erréneos y le =A asignaré un valor negativo correlativo. ‘Al finalizar el ejercico revisar en ef solucionario una interrogante que esté después del catélogo de este ) 500 po es propiedad inslecualy comercial de ACKLIS SAG. Tacos ios derechos reservados. 8 arenas eer este material no estan peas bajo ningn mecansmo > ~{P) 220 do Cg). gun —> m= ACKLIS ‘Curso: TPS002. Técnicas de prueba de software — Clase equivalente . Guia del partiépante WE censicesctuze ate ex propos irletalycamerse ACKLIS SAC. Teo fs derechos resend 1“ Esasieiih ss Sebectn de eco stent no extn pelos bj angin manna Curso: TPS002. Técnicas de prueba de software — Clase equivalente ee ACKLIS ‘Guia del participante ‘coided de softwore Ejercicio caso: Club —descuentos (procesar archivos) Un club ha establecido para sus socios un esquema de descuento por mes segin la primera letra del apelido y la antigiiedad como socio. El club fija cada mes un rango de letras (por ejemplo de la letra “¢” a la “h”) para la cual se define un descuento a los. socios cuya primera letra del apellido esta en ese rango. Los descuentos se aplican de acuerdo a su antiglledad, para las fechas de insoripcion entre 01/01/2005 y 31/12/2007 aplica un descuento del 15% y los siguientes hasta 31/12/2009 un descuento de 10%. EI programa (funcién) que se construy6 tiene el siguiente protocole CDscto (Letinicial, LetFinal). El archivo se llama ProcesosSocios.txt y el registro tiene la siguiente estructura: ~ + nroSocio char(3) + Apeliido’ char(8) + Nombre char(8) = Fecinscripcion char(8) formato: aaaammdd / + tasaDscto char(5) formato: #8 — Si el proceso se realiza correctamente devuelve una cadena con el valor “O°. Si existe algin error atribuible a un registro devuelve una cadena con los nroRegistro Techazados y sies un error de otra naturaleza devuelve una cadena con el valor 1". Construya el catélogo de pruebas y el test-driver usando clase equivalente. Este material es prosiedad intelectual y comercial de ACKLIS SAC. Todos los derechos reservados. 18 [Ga repreduccin odetriovein de este material no eskin permitidasbajpningin mecaniamo. m= ACKLIS WD ccivnidesofiose ‘Curso: TPS002. Técnicas de prueba de software — Clase equivalente Guia del participante: Este materal ea propiedad intolectual y comercial de ACKLIS SAC, Todos los derechos reservados. 16 ‘Gareprodunciono urbucton do este material no estén permidas bajo inguin mecanismo, Curso: TPS002. Técnicas de prueba de software — Clase equivalente a&* ACKLIS Guia del paricpante ‘stisdeseore Ejercicio caso: Seguro (consistenciador de archivos) Una compafiia de seguros recibe informacién en archivos de texto de diversas ‘organizaciones colaboradoras y para revisar si los archivos que recibe son conformes a las reglas, ha desarroliado un programa que hace las consistencias del caso. El programa ConsistenciaSeguro(Archivo, SueldoBase, EdadMin, EdadMax) recibe ‘como pardmetro un nombre de archivo (entrada.bd) y tiene como Salida un nimero 0 si todo esté conforme o un -1 y un archivo de salida (fallidos.bd) con las inconsistencias. Tanto el archivo de entrada como el de salida son del tipo texto y tienen la misma estructura intema (en cada linea). La estructura de cada linea es la siguiente: NroReg Ch), Apelido Chr(8), Sueldo Chi(8,2)", Cuota Chr(8,2)", Edad Chr(2) Donde: - NroReg, correlative desde 1, para el registro se completa con ceros p.e. "001" -/ - Apellido, cadena de letras oon alineamiento a la izquierda y vacios en el resto. - Sueldo és un valor mayor a SueldoBase, ingresado con dos decimales y completado con cers por delante por ejemplo: 3,456.23 se representa por 00345623 (total 8 caracteres sin puntuacion). = Cuota es un valor obtenido de aplicar el 20% al Sueldo para personas que son menores a (EdadMax-EdadMin)2 + EdadMin y aplicar el 10% al Sueldo para el resto de las personas. Edad es un valor que debe estar entre EdadMin y EdadMax (inclusive esas edades) Desarrolle el catélogo de pruebas y el test-driver comespondiente usando la técnica de clase equivalente. Identifique que tipos de reglas no han sido cubiertas; discuta brevemente sobre ello. Este materiales propioad intelectual y comercial de ACKLIS SAC. Todos los derechos reservados. W La reproducciinodstrbucin de este material no esti permits bao ringan mecariamo. ‘Curso: TPS002. Técnicas de prueba de software — Clase equivalente a®* ACKLIS Guia del pariipante WE cstsiceontare Este material es propiedad intelectual y comercal de ACKLIS SAC. Todos ls derechos reservados. 18 {Ca reproduccin 0 dleibueon de este material no estan permits bajo ringtn meoanismo, w®e ACKLIS ‘oli de ohare Curso: TPS002. Técnicas de prueba de software — Clase equivalent Guia del paricipante <__-jercicio Opcional (discusién): Transaccion en POS hi Ac Jp UA equipo POS recibe y devuelve informacion a través de cadenas de soll’ aracteres, concatenando varios datos entre ellos. Para un caso concreto de transacciones de ventas: - recibe los siguientes datos: NumeroTransaccion char(5) 0000#, fecha char(8) aaaammdd, hora char(6) hhmmss, IdEstablecimiento char(3) fijo en 176, Monto char (6,2) 1234.56 se maneja como 123456, Tipo Tarjeta char (3) [CAD = cadena, PRO = promocional, TDA = tienda], Nro Tarjeta char(7); - devuelve: NumeroTransaccion char(5) 0000#, IdEstablecimiento char(3) fijo en 176, Monto char (6,2) 1234.56 se ve 123456, FlagAprobado Char(1) [T,F]. 0s propiedad intelectual y comercial de ACKLIS SAC. Todos los derechos reservados. 19 [itepodvonenoetbusdn de ede natal wo eian permits ta eng mecaeo. ACKLIS Curso: TPS002. Técnicas de prueba de software — Clase equivalento a ACKL Guia del participante: Ejercicio caso: Calculo de tasas de interés de préstamos (+ AVL) Una empresa del sector financiero establece sus reglas de cAlculo de tasas de interés de préstamo considerando lo siguiente: Tipo de Moneda, Monto y Plazo. ‘Si el monto del préstamo esta entre 5,000 y 10,000 se aplica el 9.5% de interés, pero si esta entre 10,001 y 25,000 se aplica el 9.0%. Si el préstamo es en Soles se incrementa la tasa en 0.5%, si es en Délares la tasa aumenta en 1.5% y si es en Euros en 2.5%. Adicionalmente, el préstamo se puede otorgar entre 12 y 48 meses siendo la regia para el incremento: 0.01°(48-mes) %. Extienda los casos de prueba obtenidos anteriormente usando AVL. Esto material es propiedad intelectual y comercial de ACKLIS SAC. Todos los derecins reservados, 20 {G reproducciono detibucin de este material no est pemtidas bajo ringin mecanismo. ACKLIS ‘old desaae ‘Curso: TPS002. Técnicas de prueba de software — Clase equivalente Guia del partcipante © Ejercicio tabla de decisién. Descuento en cadena de tiendas. Una empresa grande que comercializa dos lineas de productos, tiene definida su estrategia de descuentos bas4ndose en: antigiedad del cliente, la linea de producto y el monto de la compra. En los cuadros siguientes se presentan los desouentos. ‘menos de 1 afio. de1a5 amos. de 5 afos 0: LinA [Lin Lina [tin LinA [uinB =e 6/6 =o8 Je 70 =m }10 44 1000-2098 8 [12 71000-9688 [13 [16 71000-2989 }16 _|20 >=10000 42 [78. >=10000 18 [22 >=10000 [2226 Disefiar los casos de prueba: Calcula_PrecioFinal( AntiguedadCliente, LinProducto, Monto, MontoFinal) Este material es propiedad intelectual y cometial de ACKLIS SAC. Todos los detects reservados. 24 {ia epreduclin e ditbucin de exe material no eetan permiidas bajo ing mecaniomo. Curso: TPS002. Técnicas de prucba de software ~ Clase equivalent a& ACKLIS Guia del participante WE causisestune Problemas propuestos Nota: Conviene que todos los ejercicios los resuelva considerando ademas el concepto de Analisis de Valores Limites. 4. Célculo de impuesto EI siguiente es un caso ficticio sobre un calculo de Impuestos que pagan todas las personas (naturales 0 juridicas) de acuerdo a las siguientes reglas. NroRUC (cadena) ‘Namero de RUC del Personas naturales: xyzkr de tal modo que2>=1 y x3 Personas juridicas: xyzkr de tal modo que x>=5 y XB onto Valor numérico >0. ‘Semestre de pago tr representa de Enero-Jurio {ennumerado) "2" representa de Julio ~ Diciembre impuesto Valor que se obfiene del célculo de ia funcion El célculo del impuesto sigue la siguiente regia de negocios: i 38a X Monto TASAS Semesire 7 z Persona natural 70 40 Persona juriica 15 20, Esoriba el catélogo de pruebas usando la técnica de Clase Equivalente. 2. Promoci6n entre tiendas Un grupo de tiendas ha desarrollado una estrategia de promocion corporativa. La promocion consiste en que una tienda da un premio a les clentes de la otra tienda neciente a la promocién. Las tiendas consideradas en esta promocién son: tienda MA. tienda BB, tienda CC y tienda DD; y cada cual tiene su propio esquema de promocion. Para el caso de la fienda AA que premiara a los clientes de las otras tiendas; los premios se entregan segin el puntaje de la compra, siendo la regla la siguiente: SI 61 Frente es de la tienda BB se le da como puntaje el 20% del monto, si es GC se te da 25% y si es DD se le da 30%, Ademas si el monto es de 100 2 1,000 se le adiciona 5%, & la compra es mas de 1,000 hasta 10,000 se le adiciona 10% y si es mas de 10,000 se le adiciona 15%. La funcién que se utiiza es CalPuntos( Tienda, Monto) que devuelve el valor de! puntaje calculado. Utlizando clase equivalente desarrolle los casos de prueba hasta los test-drivers. 3, Promoci6n entre tiendas (caso adicional) Ente materiale propiedad intlecialy comercial de ACKLIS SAC. Todos os derechos resenados, 2 ste rman» Setibucion de ese atrial no estan pemiias bajo ringin mecanisro. a&= ACKLIS Curso: TPS002. Técnicas de prueba de software ~ Ciase equivalente Guia del participant fslesicesohuse ‘Al problema anterior, se le adiciona la siguiente regia. Se agregara 5% a aquellos clientes cuya fecha de socios sea inferior a una definida por cada tienda. Para el caso de BB es menor o igual a 31-12-2007, para CC es menor © igual a 31-12-2008 y para DD es menor o igual a 31-12-2009. 4. Calculo de sumas en archivo Una empresa tiene registrada a sus empleados con los siguientes datos: DNI, apellido, tEmpleado, sexo, edad, sueldo, dependientes, imptoQuinta y aporteSalud. El grupo de informatica desarrollé un programa que permite hacer totales del sueido, imptoQuinta, y aporteSalud de acuerdo a ciertos parametros como: tEmpleado, sexo, edad y dependientes. La estructura y posibles valores del archivo son: DNI Char(@), s6lo digitos Apeliido Char(10), alfanumérico tEmpleado: Char(2) donde FU=Funcionario, EJ=Ejecutivo, EM=Empleado ‘sexo: Char(1) donde F= Femenino y M=Masculino edad: char(2) donde es un valor entre 18 y 75 sueldo: char(6) valor entero del sueldo siendo menor a 140000. dependiente: char(1) nimero de dependientes: ImptoQuinta: char(4) valor entero del impuesto siendo menor a 35000. ‘AporteSalud: char(4) valor entero del impuesto siendo menor a 25000. La funcién es SumPlanilla(in tEmpleado, in sexo, in edad, in dependientes, out sumSueldo, out sumimptoQuinta, out sumAporteSalud) Los posibles parémetros son: tEmpleado: FU, EJ, EM, TO (todos), AD (alla direccién = FU + EJ) sexo: F,M, A (ambos = F+M) ‘edad: X-Y (tango X-¥); por ejemplo: 18-25, 30-36, 50-75, 18-75 dependientes: T= todos o Valor = 0,1,2.... (valor de niimero de dependientes) Desarrolle el catélogo de pruebas y el test-driver comespondiente. Esto material propiedad intolctualy comercial de ACKLIS SAC. Todos los derechos reservados, 23 (Ga reproduncén odetrbucon de ete material no estan permias bajo ningin mecanismo. www.acklis.com CURSO-TALLER Técnicas de prueba de software Casos de sistemas de informacién Médulo: TPS002 — Clase equivalents : Bt Guia de ejercicios resueltos w ACKLIS Curso: TPS002. Técnicas de prueba de software ~ Clase equivalente Guia de ejercicios resueltos + Ejercicio caso: Calculo di de impuesto a) Clases validas y no validas Deuda [Clase : ov 4000<=monto<=4000 nv. monto<1000 nv. monto>4000 ‘caw otro Meses [Clase 2 46 200,10 “Mes menor a 12" f 3 47 200,40 "Mes mayor a 36" ff 4 18 2000,cd "Mes desconocido” f 5 25 800,24 "Monto menor a 1000" | 6 35 700,24 “Monto mayora 4000"|___f- 7 45 ab,24 "Monto desconocido™ | co) Testdriver PruebaClasEquiv () { 1 Casos funcionalmente correctos o f+ JCP 1, de clase equivalente 1,5 If mimpto(2000,24) j=222.60 entonces mensaje “error CP1” 1! Casos funcionalmente incorrectos o f- JCP 2, de case equivalente 1,6 if mimpto(2000,10) j=" Mes menor a 12" entonces mensaje “error CP2" ICP 3, de clase equivalente 1,7 If mimpto(2000,40) j=" Mes mayor a 36" entonces mensaje “error CP3" Este material es propiedad intalectualy comercial de ACKLIS SAC. Todos los derechos reservados. [La epredvcelin o detnbuetin de ete material no estan permilidas bajo ning mecanismo. a= ACKLIS ‘Curso: TPS002. Técnicas de prueba de software — Clase equivalent Guia de ejercicios resueltos Ejercicio caso: Célculo de tasas de interés de préstamos a) Clases validas v no validas 10M-25M Rega aay 5,000 — 10,000 4 8,000. 10,001 — 25,000 2 15,000 <5,000 3 2,000 > 25,000 4 30,000 “Otro” 5 “Otro” #CP|C. Equiv ~— Walores ‘Resultado esperado =| Obs 4 3,6,10 2,000,"S/", 24 | “Préstamo menor a 5000"_| _f 5 47,10 30,000, *$*, 24 *Prestamo mayor a 25000" & 6 5,6,10 “otro”, *S/.", 24 “Préstamo no numérico” £ 7 1,9,10 8,000, "X", 24 “Moneda no valida” f 8 1,8,14 $,000,"€,6 | “Periodo menor a 12 meses” | _f- 9 1,812 3,000, €, 60 _| * Periodo mayor a 48 meses’ | _f- 40 74,8.13 | 6,000, *€, “otro” “Periodo no numérico” f co) Testariver PruebaCiasequiv 0 { I 0P 4, de dase equivalente 3,6,10 i mimeo ‘000, "I, 24) {= "Préstamo menor a 5000" entonces msq “error cpa" } ste materiale propiedad riecualy comercial de ACKLIS SAC. Tes oe dees sans. [a reproduccitino rin tein prmas bj nngn mean. ‘Curso: TPS002. Técnicas de prueba de software — Clase equivalente . i” ACKLIS Guia de ejercicios resuettos Shaesctooe * Ejercicio caso: Péliza de Seguro (caso 1) a) Clases validas y no validas Antiggedad Clase Regi HCEqimyy cnv | _antigdedad<0 1 ev | O=-antigiedad<=3 2 cv__| 3kantighedad<=6 3 ‘cv | 624 6 nv, vacio 7 Edad Clase Rega) f ae 5 zi cav edad <=18 Nose esequ 2) cv Teedad 4 70 | Nose asegura (3) conv. vacio 12 Vacio Num Acc [' Clase” cv. ov. ony, conv env Resumen: 4ft, 9f- b) Catalogo de pruebas #CPl C Equiv j, edad, accid [Resultado io | Obs. 5 | 49,13 -2, 20,1 “Antigdedad negativa’| 6 | 6.10.14 30, 30,3 (-1) £ 7 | 79,13 20,1 “Anfigiedad vacia™ fF e | 2814 2, 17,3 (2) f 9 [314.13 4,70, 1 (3) ft 40 | 2.12.14 2.5. “Edad vacia® E 11 | 2,9, 15 2, 20,8 (4) £ 12 | 3,10, 16 4, 30, -2 “NroAcc negativo™ £ 43 | 29,17 2:20, “NroAcc Vacio” ft {emai ex propia elect comet de ACKLIS SAC. Todos durocton esac \areproductin odetitucin de este material no estan permiidasbajeningin mecantmo. curso: TPS002. Técnicas de prueba de software — Clase equivalente Ly ACKLIS Guia de ejercicios resueltos c) Testdriver td_CalcSegVeh 0) { 11.Casos funcionalmente correctos 0 f+ ICP 1, de clase equivalente 2,9,13 If CalcSegVeh (2, 20, 1) "7%" entonces mensaje “error CP1” ICP 2, de clase equivalente 3,10,14 if CaloSeaVeh (3, 10, 14) j="9%" entonces mensaje “error CP2" 11 Casos funcionalmente correctos 0 f- 1 CP 7, de clase equivalente 1,9,13 If CaleSegVeh (-2,20,1) = Gaso2: Discusion durante el taller. ste material ea propiedad itlectualy comercial de ACKLIS SAC. Todos log derechos eeerados, ca isn 6 detrbuctn de este material no extn perties op ningan mecaniemo- “Antighedad negativa’ entonces msg “error CPS" ACKLIS : Te i Curso: TPS002. Técnicas de prueba de software — Clase equivalente ACKLIS Guia de ejercicios resueltos * Ejercicio caso: Puntos acumulables (dependencias) a) Clases validas y no validas. Tipo de documento: DNI CE NoTipoDocumento, 90 We Dox ‘Cadena 8 digitos / ter digito > 0 Cadena disinto de 8 di ‘Aifanumerico ov. or ow cav ‘DI ow ‘Cadena 6 digitos / comi 8 514444 cov | Catena de 6 cigitos 2 ‘Cadena distinto de 5 di ‘Aifanumerion Resumen: 3f¢, 10f- b) Catélogo de pruebas Nro, Monto__| Resultado es, 5,15 | Hola, 12345678, 100 | Noes TipDocumento 4,6, 15 DNI, 1234,100 DNI con digitos >8 4,7, 15 | DNI, alfa1234,100 | DNinoes digitos 2,9, 15 2, 10, 15) 2,41, 15 40 | 3, 13,15 44 | 3.14.15 2] 1.5: 13 | 1,5,17 Este material es propiedad intelatal y comercial de ACKLIS SAC. Todos los derechos reservedoa, La reproduc‘in o dstrbuclon de este material no esin permas bajo ningn mecanisino. Ejercicio caso: Transfe curso: TPS002. Técnicas de prueba de sofware — Clase equivalent Guia de ejercicios resueltos 5 validas y NO. Clases validas y no validas rencia entre cuentas =» ACKLIS BE csusidesotane Cadena de 5 digitos 1 12345, Cadena <5 digitos 2 123 Cadena > 5 digitos 3 12345678 Cadena alfanumérica 4 hola ‘Vacio 5 ‘Cadena de 5 digtos 6 54321 ‘Cadena <5 digits. 7 423, Cadena > 5 digitos 8 12345078, Cadena alfanumérica g ‘Mundo. ‘Vacio 10. Monto < 10 Monto > 10,000 ‘No namero ‘Vacio ‘Existe cuenta (12345) No existe cuenta (12345) ‘Monto >= 1,000 ‘Monto < 7,000 = ff ‘Cuenta en BD 54321 ‘Cuenta no en BD 2,250 ACKLIS SAC. Todos los derechos reservados, ACKLIS Curso: TPS002. Técnicas de prueba de software ~ Clase equivalente fe cht Guia de ejercicios resueltos ©) — Gatdlogo de pruebas #] CEquiv Valores Resultado | Obs cp esporado 2 | 2,6,11,16,18,20 | 123, 54321, 1000, existe(12345), | CtaOrig <5digitos | f- 2500, existe (54321), No se mueven ctas 3 | 3.6.11,16,18,20 12345678, 54321, 1000, CtaOrig > Sdigitos | existe(12345), 2500,existe | Nose mueven cias (64321), 4 | 46,11,16,18,20 | hola, 54327, 1000, existe(12345), | CtaOrig alfanamero | & 2500,existe (54321), No se mueven ctas 5 | 5.6,11,16,18,20 | §4321, 1000, existe(12345), | CtaOrig vacio | 2500,existe (54321), No se mueven ctas 6 | 1.2.11,16,18.20 |” 12345, 123, 1000, existe(12348), | CtaDest< 5 digitos | F 2500,existe (54321), No se mueven ctas 7 | 18.17,16,18,20 12845, 12345678, 1000, CtaDest> Sdigitos | existe(12345), 2500,existe | _No se mueven ctas. (54321), & | 1.9,11,16,18,20 | 12345, hola, 1000, existe(12345), | CiaDest aifanimero | & 2500,existe (64321), No se mueven ctas 9 | 1.10,11,16,18,20| 12345, __, 1000, existo(12345), | CtaDestvacio. | & 2500,existe (64321), No se mueven ctas 10 | 1,6.12,16,18,20 | 12345, 54921, 5, existe(12345), Monto < 10 £ 2500,oxiste (54321), No se mueven ctas 71 | 1,6.13,16,18,20 712345, 54321, 20000, Monto >10,000 | existe(12345), 2500,existe | Nose mueven clas (54321), 12 | 1,6.14,16,18,20 | 12345, 54321, hoy, existe(12345), | _Noesunmonto | & 2500, existe (54321), No se mueven ctas 13 1,6,15,16.18,20 | 12345, 54321, _, existe(12345), | Monto vacio t 2500, existe (54321), No se mueven clas 74) 16,1110, 16,20 12345, 54321, 1000, no CtaOrigFis no existe | F existe(12345), 2500,existe | Nose mueven clas (64321), 15 | 7,6,11,1619,20 12345, 54321, 1000, Monto<1000 > | existe(12345), 100,existe (64321), | No hay saldo _(Gependiente) 16| 1.6,11,16,1621, 12345, 54321, 1000, CiaDestFis no existe. | existe(12345), 2500,no existe | No se mueven ctas (64321), Pregunta para discusi6n. El caso en que CtaOrig = CtaDest puede considerarse como ‘no valido, entonces prefijar un valor en CtaOnig para que sea cnv en CtaDest. Desanolle nuevamente el ejercicio considerando ahora esta nueva CNV en CtaDest. Este material es propiedad intelectual y comercial de ACKLIS SAC. Todos loa derechos reservados, a reprodueetin o dstibuctin de esi maria no estan permlidas bajo ringin mean. m=" ACKLIS Curso: TPS002. Técnicas de prueba de software ~ Clase equivalente Guia de ejercicios resueltos HE cssricesctuere a) TestDriver Td_TransiCta) 11 La implementacién de casos de prueba debe seguir las mismas formalidades que el ‘desarrollo de software. 1 TransfCta (in CtaOrig, in CtaDest, in Monto) M1 persistencia CtaOrig, SalCtaOrig, CtaDest, SalCtaDest ‘M'as salidas son: SalCtaOng, SalCtaDest { ‘4.Caso funcionalmente correcto f+ ep = 1,8,11,16,18,20 11 valores funci6n = 12345, 64321, 1000 1) persistencia CtaOrig 12345, SalClaOrig=2,500, CtaDest=54321, SalClaDest= 2,250 I resultados: funcién = 1000, SalCtaOrig=1,500, SalCtaDest=3,250 Update ( “12345", 2500) Update ( 54321", 2250) Operacién = TransfCta(12345, 64321, 1000) selCtaDest = leer ("54321") Wf debe quedar 2250 + 1000 = 3250 I Not{ operaci6n = 1000 and SalCtaOrig = 1500 and SalCtaDest = 3250) ‘Then mensaje “Error CP1” 11 Caso funcionalmente incorredto f- Mp 2=26,11,16,18,20 I valores funcién = 123, 54321, 1000 M persistencia: CtaOrig=12345*, SalCtaOrig=2,500, CtaDest=54321, SalCtaDest= 2,250 "la cuenta origen 12345 si existe, pero la 123 no. ‘/resullados: funciSn = Msg(CtaOrig"Z" cn #ietra 5 cv. LetFinal <°P” 6 ony, LetFinal> "2" 7 env #letra 8 altemativa, Se fi res y se trabaja en funcié! Py Letinicial cv - 1 iad cw oP 2 oe LetFinal [Eeeeaee ov cw » das en el archivo de procesamiento -Nro. Socio.--se debe controlar que sea un ndmero alo més 3 posiciones. ~Apellidot.- se controla (parte de la regia) ~ Nombre. no requiere controlar ¢por qué?.... discutir - FecInscripcion.- si se controla (parte de la regia) ~tasaDscto.- si se controla (pero es salida) nroSocio, ov (0 NroMaxSocio (=# ‘EP or qué so asume 400 como NroMaxSocio? Este material ee propiedad intelectual y comercial de ACKLIS SAC. Todos ls derechas reservados. La reproduccn o dtrbucin de este material no estin permits bajo ingin mecanismo. ACKLIS ‘abenideashanie ‘Curso: TPS002. Técnicas de prueba de software — Clase equivalentte Guia de ejercicios resueltos: 1 “Ps Lin " #ietra ov "20050101<= fecha _<=20071231 8 ‘20060215 ov, "20080101=fecha=20001231 9 "20081008 conv fecha_> 20081231 10, 20120416 cv fecha < 20050101 11 79980520 cav ‘no fecha. 2 Hola, de f+ yf. => "sélo” da ft =2y f=8 3 ras ‘0,Rosales,20060215 0% 4] 348 500, Rosales,20060215 0% 5 15,9 '200,Daniels,20081008. 0% 6 1.6.9 '200,Vialdi,2008 1008 0% 7 1s 200, ines,20081008 0% 8 4.4.10 200,Rosales, 20120416 0% 9 14, 200,Rosales, 19980520 0% yo | 1.442" '200,Rosales, Hola 0% “La prueba se circunscribe al problema no a la validacion de datos. d) —_Esquema de ta prueba: Para poder realizar la prueba se definen: Perchorigte, archivo de pruebas que contiene los datos iniciales renee ix, archivo de resultados de la ejecucion del programa con ol ‘ArchOrig.txt El pseudo cédigo del test driver sera: eaescopia ArchOrg.ixt como ProcesoSocio tt (para que sea procesado porel programa) = Se invoca a CDscto (LI Fin) con los parametros “P” y “T” ‘ise procesa el archivo de prueba y se actualizan las tasas - Se comparan todos Jos registros con los esperados con los resultados obtenidos. 10 ete mate es propiedad elect y comercial de ACKLIS SAC. Tos os derectns rear ados, Ete rat. dbctn coef aleve oes prides bajo ringin messmo, (Curso: TPS002. Técnicas de prueba de software — Clase equivalent w=" ACKLIS Guia de ejercicos resuettos ‘ated sectce ©) Desarrollo de! Esauema de prusba ‘Se tienen archivos para la prueba: “ArchOrig.tet” y “ArchRes. tx”. ‘S6lo se colocan los datos afectados (campos) para notar|a diferencia. ArchOrigtxt Nro. Socio Apellido 7 200 Rosales 200 Rosales 0 Rosales 500 Rosales 200 Daniels, 200 Vaaldt 200 Anes 200 Rosales 200 Rosales 200 Rosales Test Driver Té_cDscto 0) { CopiarA(ArchOrig.txt,ProcesosSocios.tx!) ‘i se procesa el archivo con el programa res = CDscio (P*,“T") ‘Sires #0" Entonces print “error CP en =", res // cadena de registros 0-1" Sino Reiniciar (ProcesoSocio.d) // deja el puntero al inicio Abrir (ArchRes.txt) 1 Se compara resultado del proceso en el archivo de proceso (ProcesoSocio txt) 11 con elvalor esperado registrado en ArchRes.txt Mientras NoFinArchivo (ProcesoSocio.tx!) proc = leer ( ProcesoSocio.txt) res = leer ( ArchRes.txt) Siproc.tasa # res.tasa Entonces “Error en”, res.NroSocio Fin de mientras Endit , "1 Este materiales proplaid itlectualy comercial de ACKLIS SAC. Todos los derechos reservados, ‘a reproduccin ocistibucion de este material no estan permitas bajo ningun Mecano. ACKLIS Curso: TPSO02. Técnicas de prueba de software ~ Clase equivalente Gula de ejarcicios resueltos ‘« Ejercicio caso: Seguro (consistenciador de archivos) Solucién por etapas La funcion Capes Sean APTA ‘SueldoBase, EdadMin, EdadMax) devuelve - 0: ‘conforme = -1=00n inconsistencias y un archivo de fallidos. a) Anal clas valente de Gta Ge Tos Valores ie ta tunekn hain Side eaTBSETTICNte Rjados para SSIe Eas0! cee sd ii 1a Max: 50. Por lo que se omitira el andlisis para esta parte. ») is ul enel NroReg Chr(3): Correlativo desde “001” en adelante. Apellido Chr(8): cadena con alineamiento a la izquierda con vacio al resto. ‘Sueldo Chr(6,2): 3,456.23 se representa por 00345623. Edad Chr(2): dos digitos. ‘Cuota Chr(8,2): 3,456.23 se representa por 00345623. "10% (Sueldo)= 10%(8000) 16. 00.00 Vecio. 16. No numérico 7 Mundo 12 Este materiales propiedad intelectual y comeril de ACKLIS SAC. Todos os derechos resevadon, {Ga reproduccion 6 dstrbuetn de este material no estin pemiidas bajo ringin mecarismo. * ACKLIS (Curso: TPS002. Técnicas de prueba de software — Clase equivalents Guia de ejercicios resueltos * Nota. No se probard si el NroReg es correlativo (por clase equivalente). Existen mas reglas de negocios que deben considerarse para la prueba. Discusién en el taller. Resumen: f+=2, £=10 c) —_Catélogo de pruebas para el archivo #CP]—C.Equiv Valores (como el registro) Resultado ‘Obs 3 | 2.46,14,9 | 0,Perez__,008000.00, 000400.00,28, “1 Grabar en falido.bt @ | 348,18, 10 | Roy,Perez__,008000.00, 000800.00,40 “A & (Grabar en falido.t S| 756,149 "250,_,008000.00, 000400.00,28, A F Grabar en falido.te 6 | 147,149 | 250/Perez '000400.00,28, a € Grabar en falido:tt 7 | 1AB.15,10_ | 250,Perez___ecoiogia, 000600.00,40 4 € Graber en falido:tt 8 | 44B4411 ‘250 Perez___,008000.00, A € (00040000,10, (Grabar en falido.t 9 | 1451612 "250,Perez__,008000.00, 4 (000800.00,60 Grabar en fallido.tt 10 | 746 14,13 "250 ;Perez__008000.00, 4 F (000400,00,AA Grabar en falido.bt Ti | 46.169 | 250,Perez__,008000.00, 28, 4 t Graber en falido.b 72 | 1.46,17,10 | 250,Perez__,008000.00, mundo,28 4 € Graber en falido.b d) —_ TestDriver Para la prueba se considerard dos archivos. “Archivot.tet” tiene datos antes del proceso y “Archivo2.txt’ fiene datos después del proceso, es decir el archivo disefiado 0 esperado de fallidos. 13 Este material es propiedad itelectualy comercial de ACKLIS SAC. Todos los derechos reservados. La reproducién odirbicion de este materal no estan permiigas bajo ningin mecaniamo. = ACKLIS curso: TPS002. Técnicas de prueba de software — Clase equivalente ACK Guia de ejercicios resuettos ‘Archivo2.tet (para comparar con Fallidos.td) NroReg __Apellido sueldo Guota Edad ‘0 Perez__ 008000.00 000400.00 B Hoy Perez 008000.00 (000800.00 40 250 (008000.00 (000400.00 2B 250 Perez (000400.00 28 250 Perez__ _—ecologia (000800.00 40 250 Perez__ _008000.00 000400.00 10 260 Perez__ _008000.00 ‘000400.00 60 250 Perez__ _008000.00 000400.00 AA 250 Perez__ _008000.00 = B 250 Perez__ _008000.00 Mundo 28 Test Driver ‘Td_cDscto 0 « opiara(Archivot.xt,entrada.t) 11 se procesa el archivo con el programa ‘joc = ConsistenciaSeguro(archivo, sueldobase, edadmin, edadmax) res = ConsistenciaSeguro(entrada.t1t,2000,20,50) Sires = 0 Entonces print “errores CP* // sihay errores Sino ‘Abrir (Fallidos.tt) Abrir (Archivo2.txt) 11 Se compara falido.txt con archivo?..xt pues deben ser idénticos. Mientras NoFinArchivo (Fallidos.bt) proc = leer (Fallidos.bd) Tes. = leer ( Archivo2.bd) $i proc.registro ¥ res.registro Entonces “Error en’, res.rediso Free debe comparar todo el registro...aqut se hace a nivel de registro. Fin de mientras End if + 14 ste moe ex propiedad nlectay comercial de ACKLIS SAC. Toe os eco een ae, ate melt cotton Geen materi no extn perma a ingan mecarkno i Curso: TPS002. Técnicas de prueba de software ~ Clase equivalente Guia de ejercicos resueltos * Ejercicio tabla de decisién. Descuento en cadena de tiendas. Para este caso se deben de probar todas las reglas de negocio. Cada tasa de descuento es una regia de negocio. El total de casos de prueba son: 18, pues son 18 tasas. eer Valores Resultado ‘Obs Espetad_ Monto Final i Menos1afo, in, 200 (100-6)% (200) 2 ‘Menos tafio, fina, 2000. (100-8)% (2000) 3 ‘Meenos aro, lina, 20000- 1(100-12)% (20000), 4 'Menos af, fin, 200 (100-6)% (200) 5 ‘Mens tao, linB, 2000 {(100~12)% (2000) 6 Menostafio,linB, 20000, ((100-18)3% (20000), | 7 1-Balios, linA, 200 {100-8)% (200) 8 7-Safios, find, 2000 (100-13)% (2000) 9 4-Batios, lind, 20000 {100-16)% (20000) 10 4-Safios, finB, 200 (100-10)%6 (200) it 1-Sarfos, linB, 2000 {100-16)% (2000) 2 4-5afos,linB, 20000 (100-22)% (20000), 13 14 15 16 a7 48 Estos casos de prueba se deben de complementar con el andlisis de valores limites. 15 Este material es propiedad intelectual y comercial de ACKLIS SAC. Todos los derechos reservadon. ‘areproduccdn ocstibucin de ete material no estan permitigas bajo ningin mezanino. www.acklis.com {2% CURSO-TALLER Técnicas de prueba de software Casos de sistemas de informacién Médulo: TPS003 — Causa-Efecto Guia de la sesi6n core: PSO Tens de Pte do Stwae—Cauecieds BE" ACKLIS CURSO - TALLER Técnicas de prueba de software Casos de sistemas de informacién Médulo: TPS003 Causa - Efecto OBJETIVO Elaborar con los participantes el disefio de casos de prueba usando la técnica de Causa-Efecto aplicado a Sistemas de Informacién y la ampliacién de casos de prueba usando Analisis de Valores Limites. ‘SUMILLA, Derivacién de casos de prueba que demuestren los requisitos funcionales del software utlizando la técnica y criterios de acuerdo a cada caso. Generacién de casos de prueba, catélogo de pruebas y test-drivers. Se combina a los conceptos con e! de andlisis de valores limites aplicado a sistemas de informacién. METODOLOGIA DEL CURSO Las exposiciones teéricas del profesor se realizarén con ayudas visuales y seran complementadas con la ilustracion de ejemplos practicos. El curso considera el uso de un conjunto de diapositivas, una Gula del Participante el cual incluye ejercicios especializados en el tema que se desarroliarén bajo indicaciones del profesor e incluye un Solucionario para algunos de los problemas revisados en clase. BENEFICIOS Aprendizaje basado en problemas. Casos adaptados de situaciones reales. Ejercicios desarrollados en el taller con complejidad progresiva. Ejercicios propuestos a ser desarrollados fuera del taller. Esto materia es propldad de ACKLIS SAC. Todos ls derechos reservados. Lareprocuccin 6 detrbuctn de este mater no estan pormidas alo ningdn mecanis. wwwracklis.com ee Curso Taller Técnicas de Pruebas de Software Casos de sistemas de informacién TPS003 — Causa - Efecto + AVL a™* ACKLIS” @ calidad de software Causa Efecto * Técnica desarrollada por IBM. * Como respuesta a: ¢si la especificacién de requisitos puede ser usada sistematicamente para disefiar casos de pruebas de funcionalidad? Propone diagramas de causas efectos obtenidos a partir de la relacién ldgica entre las salidas y las entradas. Esta relacién se puede representar por un diagrama de relaciones Booleanas. EI diagrama es luego transformado en un tabla de decisiones donde cada columna corresponde con un caso de prueba funcional. CKLIS. season epi gi mca. Causa Efecto + Relaciones basicas QP Oa= SIA entonces & SIno~A) entonces B ®-- ‘SIA y 5) emonces G v ACKLIS comer ; WE coideddesoftuare Ejercicio Orientador + Una empresa ha definido un esquema de promociones. de la siguiente manera: — Si compra productos de la linea alfa y la compra es por un manto entre S/. 100.00 y S/. 200.00 se le aplica un descuento de 1%, pero si la compra es por un monto mayor a S/. 200.00 entonces se le da un descuento de 2%. — Si ademéds el pago se realiza solamente en efectivo entonces. se le aplica 1% de descuento acumulable al anterior (sobre el monto de compras). — La funcién devuelve el valor del dscto 0 un niimero negativo en sefial de error. Para este caso tomaremos solo -1 como nico valor de respuesta. — Considerar que la funcién es fDscto(in prod, in monto, in pago): out dscto Es ACKLIS smescrommsmeree mere UTNE tanoudestie cosctn eer a apni gh anos Causa Efecto + Pasos para aplicaci6n: — Estudiar los requerimientos funcionales. — Marcar y numerar todas las causas y los efectos (que se representan como nodes) — Colocar todas las causas en el lado izquierdo del diagrama — Colocar todas los efectos en el lado derecho del diagrama — Diagramar la relacién légica que existe entre causa y efecto {como arcos que unen los nodos) — Para simplificar el diagrama se pueden adicionar nodos. ACKLIS SromirrmciscStarnem a , cs Ejercicio Orientador ACKLIS: sseecemmmreees meni : psi careacnde er eo sesnpersaa scans BE ACKLIS seme rrmoronce Wh cstesivesoture * Caso: Promoci6n tienda BASICA + Caso: Cine ENIC * Caso: Paquetes turisticos + Caso: Compajiia de Seguro. * Caso: Restaurante (acumular). SPACKLIS sramormmoemnsenemer Causa Efecto + Restricciones en la causas La restricci6n E (exclusivo): las causas ay b no pueden ser verdaderas simulténeamente. La restrioci6n I (inclusivo): al menos una de las causas de a, b y ¢ debe ser verdadera. Larestriccién O (uno y solamente uno): de las causas a, by ¢ debe ser verdadera. er ACKLIS Socom Causa Efecto + Restricciones en la causas La restriccién de requisito R, indica que la causa a ser verdadera sila causa b es verdadera. La restriccién de mascara M, indica que si el efecto x es verdadero entonces el eiecio yy seré de manera forzosa falso. det deo rae min emacs rnin mann, ‘oldeddenofuore Analisis de Valores Limites (AVL) * El analisis se realiza en todo las fronteras, dentro y fuera. + Los casos de prueba aumentan con estas situaciones. * Por ejemplo, con clase equivalente ACKLIS sommerpeiemnanetntemmen cere ctuse, 'nootasinsumvaing mae ean comer meine www.acklis.com CURSO-TALLER Técnicas de prueba de software Casos de sistemas de informaci6n Médulo: TPS003 — Causa-Efecto Guia del participante ACKLIS ‘Curso: TPS003. Técnicas de Pruebas de Software ~ Causa - Efecto WE ccicoicesetiane Guia del partcipante ‘+ Ejercicio orientador: Promocién descuento BASICO * Este caso sirve para explicar la técnica y podria ser desarrollado considerando otros criterios. Una empresa ha definido un esquema de promociones de la siguiente manera: ‘Si compra productos de la linea alfa y la compra es por un monto entre S/. 100.00 y Si. 200.00 se le aplica un descuento de 1%, pero si la compra es por un monto mayor a S/. 200.00 entonces se le da un descuento de 2%. Si ademas el pago se realiza solamente en efectivo entonces se le aplica 1% de descuento acumulable al anterior (sobre el monto de compras). La funcién devuelve el valor del dscto o un ntimero negativo en sefial de error. Para este caso tomaremos solo -1 como tinico valor de respuesta. Considerar que la funci6n es fDscto(in prod, in monto, in pago): out dscto Este materiales propiedad de ACKLIS SAC. Todos los derechos reservados. Lareproducciin odefribuctn de este material no estén permitidas bajo ringin mecaniomo. ACKLIS WB cacadsesetoxe Curso: TPS003. Técnicas de Pruebas de Software — Causa - Efecto 5 Guia del participante Esto material es propledad de ACKLIS SAC. Todos los derechos reservados, {Grreproducesn o dstrbuclin de exte material no estin permias bajo ringin mecanismo. =" ACKLIS Curso: TPS003. Técnicas de Pruebas de Software ~ Causa - Efecto a A Guia del partapante ‘*_Ejercicio orientador 2: Promocién tienda BASICA * Este caso sirve para explicar la técnica y podria ser desarrollado considerando otros criterios. Una tienda establece una estrategia de promocién para la venta de dos lineas de sus productos priorizados. Siel producto es de Ia linea A y la compra es entre 100 y 200 Soles se le da un descuento de 2%. Si la compra del producto de la linea A es mas de 200 soles se le da 3%. Siel producto es de la linea B y la compra es entre 100 y 200 Soles se le da un descuento de 4%. Si la compra del producto de la linea B es mas de 200 soles se le da 5%. ‘Si compra productos de la linea A y la linea B y la compra es entre 100 y 200 Soles se le da un descuento de 8%. Si la compra del producto de la linea A es mas de 200 soles se le da 10%. La funci6n a considerar es tDscto (in IProd, in monto): dscto Derive los casos de prueba usando la técnica de causa-efecto nicamente. Plantear una primera solucién, analizar lo realizado y discutir con otras personas y el profesor las soluciones encontradas. Este material es prociedad de ACKLIS SAC. Todos los derechos reservacos. Ga reproduccin e detrbuctn do este material no estan permis bao ringin mecanko, Curso: TPS008, Técnicas de Prucbas de Sofware — Causa - Efecto Guia del participant — ACKLIS Esto material es propiedad de ACKLIS SAC. Todos los derechos reservados. | reproduncin ocistbuclbn de ceto material no estan permiies bajo ringn mecanismo. m= ACKLIS ‘Curso: TPS003. Técnicas de Prusbas de Software ~ Causa - Efecto te OGRE ‘Guia del participante * Ejercicio de Causa Efecto. Compaitia de Seguro. Una compafiia de seguro tiene establecida las siguientes reglas para las decisions de renovacién de sus polizas de seguro contra accidentes: ‘* Sila persona no ha tenido accidentes en su registro y tiene 25 afios 0 menos, el costo de renovacién es de $25, pero sitiene 26 afios 0 més el costo de renovacién es de $30. En ambos casos no se les envia carta de advertencia. ‘© Sila persona ha tenido entre 1 y 4 accidentes en su registro y tiene 25 afios 0 menos, el costo de renovacién es de $100 y se le manda una carta de advertencia. Si tiene 26 afios o més el costo de renovacién es de $150 y no se le envia carta de advertencia ‘Sila persona ha tenido 5 0 més accidentes en su registro y no tiene otro seguro con la compaiiia entonces se le manda una carta de cancelacion de la péliza; pero si tiene otra péliza entonces el limite es 7 Construya los casos de prueba usando causa-efecto. Este materiales propiodad de ACKLIS SAC, Todos los derechos reservados (a reproducoiino detroucion de este materi no est permits bajo ringgn mecanismo, Curso: TPS003. Técnicas de Pruebas de Sofware —Causa - Efecto * ACKLIS . + Gufa del paricipante WE Gusieese 10 Este materiales propiedad de ACKLIS SAC. Todos os derechos reservados {Ga reproducciino citibucbn de este mateial no estin permidas bao ringin mecansmo. Curso: TPS003, Técnicas de Pruebas de Sofware ~ Causa - Efecto we* ACKLIS Guia del partidpante BE Siesicesteae * Ejercicio de Causa Efecto. Restaurante. Un restaurante tiene la siguiente de promocién. Si el consumo es de platos a base de cames rojas (ROJ) 0 carnes de ave (AVE) el descuento es de 3%, si el plato es a base de frutos del mar (MAR) o de verduras (VER) el descuento es de 5%. Si el comensal consumi6 ademas un vino recibe un descuento adicional de 2%. Si el monto del consumo es igual o superior de S/.120, recibe un descuento adicional de 1%. Hacer el catélogo de pruebas considerando que la funcion se llama ¢PromTC(in NroTarjeta, in tipoPlato, in flagVino, in tMonto, out Descuento) "1 Este materia es propiedad de ACKLIS SAC. Todos ls derechos reservadcs. {Ga reproduccén odetrbucion de este material no eatin permiidas bajo ningun mecaniemo. 24 w2k4 do ‘Curso: TPSO03. Técnicas de Pruebas de Software — Causa - Efecto Guia del paricpante 12 Este materiales propia de ACKLIS SAC. Todos los derechos reservados. [Ga reproducciin o dtibuelbn de este material no estin permidas bajo ringdn mecanismo, curso: TPS08 Tércasce Pitas de Sotmare—causa-eeco Mg" ACKLIS Guia del particivante Problemas propuestos + Ejercicio de Pélizas de seguro. Para obtener el monto por el que se asegura un auto, una compatiia de seguros utiliza los ‘siguiente criterios: antigdedad del vehiculo, nimero de choques en los tiltimos 6 afios, edad del propietario. Las reglas que han utlizado son las siguientes: + Antighedad del vehioulo: se aplica 5% si el auto tiene 8 afios 0 menos de fabricado, se aplica 10% para mas de 5 y hasta 12 afios. Carros mas antiguos no se aseguran. + Edad del propietario: para una persona entre 18 afios y menos de 65, se calcula el porcentaje como edad/20 (expresado en %), como por ejemplo, si tiene 40 aftos, seria 40/20 = 2, entonces se aplica 2%; para otras edades no se ofrecen seguros. +’ Ndmero de choques: si no ha tenido choques se aplica 10%; si ha tenido entre.1 y Choque se aplicar 20%; si ha tenido mas choques entonces no se asegura el auto. Construya el test-driver td_CalFactorSegVeh0, para los casos de prueba derivados nicamente Por la técnica de causa efecto, considerando lo siguiente: + La antigtiedad, nimero de choques y edad del propielario se registra mediante radio button y ninguno esté seleccionado por defecto. + Utlice la funeién CaleFactorSegVehin antigtiedad, in edad, in choques, out factor, out mensaie). El factor se calcula sumando los tres factores en caso sea posible 0 dewuelve un mensaje apropiado a cada situacién. * Ejercicio de Promocién de CINE. CINE.ENIC es una cadena peruana de multicines que opera en Lima, Arequipa y Cajamarca. En los tiimos 2 afios, el mercado de multicines ha crecido considerablemente y en ‘consecuendia, la competencia. Por este motivo, la empresa se ha visto en la necesidad de ‘plicar diversas promociones de modo que pueda atraer y conseguir la fidelizacion del client. El precio de la entrada depende de determinados factores: Por dia de semana * Los lunes son “Lunes femeninos"; es decir, las mujeres pagen el 50% del precio de entrada, Los martes son 2x1; es decir, se paga el precio completo de la primera entrada y la segunda sale gratis, Pordepartamento = En Arequipay Cajamarca se ha lanzado una promocién que se aplicars a los jévenes entre 18 y 25 afios tienen un descuento de! 20%. + En Lima se ha lanzado la misma promocién de 20% para jévenes entre 18 y 25 affos, pero solo aplicar miércoles y jueves. ‘* Los nifos y adultos mayores pagan el 50%. Este descuento no se acumula a la promocién Los descuentos son acumulables salvo se indique en contrario onstruya los casos de prueba derivados tinicamente por la técnica de causa efecto Nera Cen ei Gil T6d0S 168" Blerccis 16S restive considered ‘ademas’ condepto\ de ‘Andlisis de Valores Limies, 13 ate material es propedad de ACKLIS SAC. Todos os derechos reservados. La reproduelén o dstrbueion de este material no estan permiidas bajo ningan mecanismo. wwiwacklis.com CURSO-TALLER Técnicas de prueba de software Casos de sistemas de informacion Médulo: TPS003 — Causa-Efecto Guia de ejercicios resueltos ®ACKLIS Curso: TPS003. Técnicas de Prucbas de Soltware — Causa - Efecto we ACKLIS ‘Guia de ejeicios resuotos cousidessane *__Ejercicio orlentador: Promocién descuento BASICO “Este caso sive para oxplicar ia téonlca y podria sor deserrollado conelderando ots criterias. Una empresa ha definido un esquema de promociones de la siguiente manera: Si compra productos de la linea alfa y la compra es por un monto entre S/. 100.00 y S/. 200.00 se le aplica un desouento de 1%, pero si la compra es por un monto mayor a S/. 200.00 entonces se le da un descuento de 2%. Si ademés el pago se realiza solamente en efectivo entonces se le aplioa 1% de descuento acumulable al anterior (sobre el monto de compras). La funcién devuelve el valor del dscto 0 un némero negativo en sefial de error. Para este caso tomaremos solo -1 como Gnico valor de respuesta. Considerar que la funcién es ‘{Dscto(in prod, in monto, in pago): out dscto 1% 2% 1% oo pee + (mE : i = SC et es ap eee ee Este mata ws propio de ACKLIS SAC. Todo oe duecosrsorvads. Latopreticion deetbucn 6 ote ate ro extn pomvica bangin macarismo, corse: P00 Ths do Pte Sore-Catea-cinco i" ACKLIS, Gibiroecccrcnane eee Sama Cama Eee ae Ejercicio Orientador. Promocién tienda BASICA. A |4o jax 4% xB |e |s7 \g om “Fay [1 |EA Kms Moo [U7 8% \ solucién 2 Prod A Prod B 100-200 te mate x propiedad do ACKLIS SAC. Todos os doechosreseads. [Erropoduccin odin de ete mater no extn pomiidas bao ringin mecaremo. ACKLIS ‘Curso: P0038. Técnicas de Pruebas de Software — Causa -Etocto ACKL Guia de ejrcicios resvetios. Propuesta in Prod A Prod B 100 - 200 200+ éCual es la correcta? {Por qué? Discusion Casos de Prueba ~ Tabla de Decisiones xi [x2 [x3 [x4 [x6 [07 nea ProdAl A | T eEle{r{[t Prodal B | F | F | T TIT Monto | 290-200] ¢ [| 7 T T 200+| Db T 7. T 2.0%, a | T 3.0%] 8 I. i 4.0%) ¥ T Salida cela = 8.0%] T 10.0%] x T Esto material es propia ACKLIS SAC. Telos los derechos reserva. aopraducine aerbuc Go ese meter no otén pone go nrg mecarom. me” ACKLIS ‘Curso: TPS003. Téenicas de Pruebas de Software — Causa - Efecto m Guia de ejercicios resuetos Pr rm isiones Se considera que C corresponde a la compra de productos tipo A y tipo B iat neferencia| Product [iséscients] gry A 150 | 20% 2 | 2 A 20 | 30% 3] 33 B 150 [40% a |x 3 ‘300 | 50% Ss X6_ c* 150 8.0% 6 | x7 ce 300 | 400% C*=A4B ‘Test Drivers ‘Se considera que la funcién tiene el siguiente protocolo: 1Dscto (in Producto, in Monto): out Dsoto td tDscto) 11 casos de prueba derivados por Causa Efecto { ICP 1, producto = A, Monto = 150. Tasa esperada 2% If tDscto(A, 150) l= 2% then “Error CP1” JCP 2, producto = A, Monto = 300. Tasa esperada 3% If tDscto(A, 300) l= 3% then “Error CP2" 1 CP:3, producto = B, Monto = 150. Tasa esperada 4% If tDscto(B, 150) != 4% then “Error CP3” 11 CP 4, producto = B, Monto = 300. Tasa esperada 5% If tDscto(B, 300) != 5% then “Error CP4” JIGP.5, producto = C, Monto = 150. Tasa esperada 8% If tDscto(C, 150) != 5.5% then “Error CP5” JCP 6, producto = C, Monto = 300. Tasa esperada 10% If tDscto(C, 300) != 6.5% then “Error CP4” } ate ates ex propiedad de ACKLIS SAC. Tos os derechos resovados. [ehropeducion o dain de ote mara no extn pomiidas bao nngin mecarisme. Curso: TPS009. Técnicas de Pruebas de Software — Causa - Electo ae ACKLIS Guia de ejercicios resuetos Altea * _Ejercicio orientador: Cine ENIC * Este caso sirve para explicar la técnica y podrla ser desarrollado considerando otros criterios. Se plantean varies formas de resolverlo para ovaluar las ventajes de cada osquema. Se introduce una forma de redacci6n que presenta ambigiedad. ENIC ha desarrollado la siguiente estrategia de promocién para sus socios: Si ‘el ndmero de socio esta entre 1 y 2000 y asiste a una funcion en martes (Mar) 9 jueves (Jue) recibe un 5% de desouento. Si el ntimero de socio esté entre 2001 y 4000 y asiste a una funcién en martes (Mar) y es mujer recibe un descuento de 8%; caso contrario recibe un descuento de 3%. ‘Nota. La ambigidedad se refiere al texto que indica ‘caso contrar’: Se debe continmar a que se ‘fore la regla en realidad. Podrla ser que caso contrario sea ei género (hombre), ef aa, of ‘ango de NroSocio 0 una combinacién de todas ellas. Para este caso se toma que se trata de ‘aénero (hombre) y se debe contimar con el responsable de dicha defincién. Grafico Causa Efecto. Alternativa 1. Casos de Prueba — Tabla de Decisiones Construido a partir de las salidas. aif@lyya coonzoo] Aft |r Nrosede | 7om-2000| 8 mak i Merc _t{_|T{1 ‘uel D T oxo | Femenino| T Masaulino| 7 Sula | T|T Salida sx|_¥ T sx] a 7 Esto materl ee rplodad de ACKLIS SAC. Todos lo drechs resarados aopedicctn a riba do ast met no estan pombdas belo ringin mocarism. Curso: TPS003. Técnicas de Pruebas do Software — Causa - Elecio mer ACKLIS Guta de ejorciios resuetos stiddewtace Construido a partir de los nodos intermedios, mapa [ss [xa ooorz00g] At [+ NroSecio 501-400) B Tr De Marl ct] [Tt] tuel | Femeninol € T Sex Tasculinol_F 7 sla T]T Salida axl ¥ T oul a T Grifico Causa Efecto. Alternativa 2. Regla 1. Si el nimero de socio esta entre 1 y 2000 y asiste a una funcién en martes (Mar) 0 jueves (Jue) recibe un 5% de descuento y un adhesivo (ADH). Socio 1-2000 () x ©) () 5% ser © 5 (*) () ADH Jue (°) Regla 2. Siel nimero de socio esté entre 2001 y 4000 y asiste a una funcién ‘en martes (Mar) y es mujer recibe un descuento de 8%. © ate materia ex propiedad do ACKLIS SAC. Todo os derochasrsorvads. [aepredicriin o dein do este mata no estan permis bp login mecaisn ACKLIS (Curso: TPS003. Técnicas de Pruebas de Software — Causa - Etecto ACKLI Gulia de ejercicios resuetios © Ejerciclo de Causa Efecto. Restaurante. VER VINO >=i20 Etiqueta [afe [ble [ele] a vino >=120 ie es J = |e fo fon fm foe fs fe 5 r= a 1% "1 Este material ee propio de ACKLIS SAC. Todos los derechos esanaos. Lnrepoduceinscltitucin dete ator ne adn pormisgas bangin macanismo. ACKLIS ‘Curso: TPS003. Técnicas de Pruebas de Software — Causa - Efecto Gufa de ojercicios resuekos Debe ser completado por los participantes. 12 ete materi plod do ACKLIS SAC. Todos los daechos reservados. {ropaduatin 9 cic de ete ated o estan poms bap gin mecarismo. @ cpa ig Oz) Xt A)

You might also like