what is thread testing software testing
Aquest tutorial explica què és la prova de fils, quan i com realitzar-la, els tipus de proves basades en fils i els reptes als quals s’enfronta:
La prova de fils és una tècnica de prova de programari que s’utilitza per provar les aplicacions basades en servidor de clients.
Les proves basades en fils s’han de realitzar a les fases inicials de les proves d’integració de manera que es puguin provar / verificar les funcions clau per a una tasca / programa o fil específic.
Què aprendreu:
- Per què la prova de fils
- Quan i com es realitza la prova de fils
- Tipus de proves basades en fils
- Diferència entre fil i processos
- Diferència entre les proves basades en fils i basades en l'usuari
- Conclusió
Per què la prova de fils
Quan els components s’integren, cal comprovar si el sistema funcionarà tal com s’esperava o no i totes les transaccions es produirien segons el requisit o no. Per tant, les proves basades en fils entren per provar el mateix.
Aquesta prova es realitza mitjançant la integració progressiva dels fils a tots els nivells, des del subsistema fins al sistema complet, és a dir, tot el sistema. Totes les activitats del sistema avancen només amb els fils.
La definició de fils ajuda a compartir els antecedents funcionals i els detalls d’execució del fil entre els desenvolupadors i els desenvolupadors als provadors.
Quant als fils
Un fil és el flux de control en un procés. És la tasca més petita del sistema que es pot executar.
SQL consulta les preguntes i respostes de les entrevistes per a estudiants de primer any
Exemple
Un navegador web pot tenir un o més fils en execució, és a dir, un fil per mostrar imatges i text i un altre fil per recuperar dades. En determinats casos, s’ha de requerir una única aplicació per atendre tots els processos.
La creació de fils múltiples és la millor solució per a la mateixa; en cas contrari, el client enviarà diverses sol·licituds al servidor i trigarà un temps a acceptar-les una per una. Multi-thread ajudarà a respondre a les sol·licituds simultàniament.
Quan i com es realitza la prova de fils
S’ha de fer a la fase inicial de les proves d’integració del sistema.
Les proves d’integració es realitzen mitjançant la integració de diferents mòduls de manera planificada. Es segueix el pla d’integració que especifica l’ordre en què s’integraran els mòduls per fer el sistema complet.
A continuació s’enumeren les tècniques per executar les proves d’integració:
- Enfocament del Big-Bang
- Enfocament de dalt a baix
- Enfocament de baix a dalt
- Enfocament mixt
Vegem cada tècnica en detall.
# 1) Enfocament del Big-Bang
L'enfocament del big bang només s'utilitza per a sistemes petits, ja que tots els mòduls estan integrats i provats en un sol cop.
És difícil localitzar qualsevol problema que es trobi durant aquest enfocament, ja que el problema pot provenir de qualsevol dels mòduls integrats. Per tant, els problemes de depuració trobats són molt costosos de solucionar en aquest enfocament.
# 2) Enfocament descendent
L’enfocament de dalt a baix es fa mitjançant els trossos, és a dir, un cop provat el mòdul de nivell superior, s’integren i comproven les subrutines immediates.
Els troncs són els programes que simulen l’efecte de les rutines de nivell inferior i que són anomenats per les rutines sotmeses a prova. La prova de fils utilitza un enfocament de dalt a baix.
# 3) Enfocament de baix a dalt
En l'enfocament ascendent, tots els subsistemes es proven individualment i, a continuació, es prova el sistema complet. La raó de provar tots els subsistemes per separat és provar la interfície entre tots els mòduls que formen part del subsistema.
Aquesta tècnica requereix controladors de prova, és a dir, el programa que crida els altres mòduls i proporciona la mateixa sortida que el producte real.
# 4) Prova d’integració mixta
Aquesta tècnica és una combinació d’enfocaments de dalt a baix i de baix a dalt. Per tant, s’anomena Prova d’Integració Mixta.
Punts clau per realitzar proves basades en fils
- Durant la realització de proves de fils, s’hi integren i proven fils o petites funcions. Les proves realitzades són proves incrementals a nivell de subsistema i després com a sistema complet.
- A la pròpia etapa inicial, els verificadors d’integració tenen una bona idea i coneixement de què voleu provar més endavant.
- Els verificadors d’integració han d’aplicar i executar escenaris tant positius com negatius només dins dels límits del fil. Han de decidir un enfocament de prova de fils que s’ha de seguir per cobrir casos excepcionals i casos límit també.
- La definició de fil proporcionada pel desenvolupador al comprovador ajuda a provar el fil en conseqüència pels verificadors integradors. Qualsevol informació addicional necessària pel verificador es pot respondre en el procés de revisió del fil.
- Els processos de fil funcionen per a processos d'integració més que per a un procés de desenvolupament final a final.
- Per provar la funcionalitat de diversos fils, deixeu que les diverses instàncies de l'aplicació o del programa que voleu provar estiguin actives alhora.
- Executeu el programa multi-thread en diferents maquinari.
- La prova de fils és una forma de prova de sessió per a la qual les sessions estan formades per fils. No cal que un fil format sigui una sessió.
Tipus de proves basades en fils
Es realitzen dos tipus de proves basades en fils:
- Prova de fil únic
- Prova multi-fil
# 1) Prova de fil únic
La prova de fil únic prova una transacció a la vegada. El temps d'espera del client per obtenir una resposta a la seva sol·licitud pot ser una mica més llarg, ja que podrà atendre o respondre a un client alhora.
Aquesta prova ajuda el comprovador a comprendre i provar la lògica del programa o del codi escrit.
# 2) Prova multi-fil
La prova multi-thread prova diverses transaccions actives alhora. En aquest cas, es creen fils separats per a les sol·licituds del client. Sempre que es fa una sol·licitud, es crea un fil al servei o respon a la sol·licitud.
Una transacció que funcionava bé en la prova de fil únic pot fallar mentre es prova en multi-fil i també pot interferir amb altres fils i funcionalitats i deixar que funcionin com s’esperava.
És millor un enfocament multi-fil que un enfocament d’un únic fil?
Les aplicacions multi-thread són millors que les threads individuals, ja que milloren el rendiment de l’aplicació. El multi-threading permet una sèrie de recursos per treballar en un problema / sol·licitud alhora.
Reptes en fer proves basades en fils
Mentre realitza proves basades en fils, el provador afronta diversos reptes que afecten el rendiment, el temps i el cost de les proves.
- Escriure casos de prova d’unitat per a codi multi-thread és difícil.
- Quan es fan proves multi-thread en diferents maquinari, varia segons la mida, la capacitat d'emmagatzematge, la memòria, els problemes, etc.
- Els escenaris de prova tant per a un fil com per a diversos fils són diferents.
- En les proves de fils múltiples, s’han de programar proves reproduïbles per a proves unitàries.
Avantatges / desavantatges de la multi-rosca
El multi-threading té molts avantatges i desavantatges. Com a provador, sabent el mateix els ajuda a provar i trencar el procés de prova en conseqüència.
Avantatges
- El multi-threading augmenta la capacitat de resposta a l'usuari. L'aplicació pot deixar que el programa s'executi encara que es bloquegi part de l'aplicació.
- La compartició de recursos és un altre avantatge, ja que els fils compartixen els recursos del procés al qual estan relacionats o al qual pertanyen.
- La creació de fils és econòmica ja que comparteix els recursos als quals pertanyen.
Desavantatges
- Procés de proves complexes
- Els resultats són molt imprevisibles.
- Escriure un programa es fa més difícil.
- Ocurrència d'un punt mort.
Què és el punt mort?
Quan es fa el multi-threading, el thread entra en un estat d'espera si el recurs no està disponible.
És possible que l'estat d'espera no canviï pel fil, ja que el recurs sol·licitat el mantenen altres fils d'espera. Quan es produeix una situació així, s’anomena Punt mort.
Diferència entre fil i processos
Comprenem les diferències entre el fil i els processos:
S.No | Fil | Procés |
---|---|---|
7 | Els fils no es poden dividir més. | Els processos poden tenir diversos fils. |
1 | El fil és un procés lleuger. | El procés és un procés de pes pesat. |
2 | Si el fil del servidor es bloqueja, es pot executar un segon fil de la mateixa tasca i completar el procés. | Si el procés del servidor es bloqueja, altres processos no es podran executar fins que el procés del servidor bloquejat no es bloquegi. |
3 | Els fils no s’aïllen, comparteixen memòria. | El procés està aïllat. |
4 | La creació de fils, el canvi de context i la finalització requereixen menys temps al fil. | La creació de fils, el canvi de context i la terminació requereixen més temps en els processos. |
5 | El fil fa referència a la tasca específica d’un procés. | El procés fa referència a l'execució de qualsevol programa. |
6 | Els recursos utilitzats són molt pocs en el fil. | Els recursos utilitzats en els processos són més. |
Diferència entre les proves basades en fils i basades en l'usuari
S.No. | Proves basades en fils | Proves basades en l'ús |
---|---|---|
1 | Els fils s’integren i es proven individualment. | Les proves comencen amb classes que no depenen les unes de les altres, és a dir, que són independents. |
2 | Es fan proves de regressió per assegurar-se que res no afecti. | Un cop realitzades les proves de classes independents, es posen a prova les classes dependents. Els dependents són els que depenen de les classes independents. Aquesta sèrie continua fins que es construeix el sistema complet. |
3 | Les proves basades en fils integren les classes que són essencials per reconèixer l'entrada o l'esdeveniment del sistema. | Les proves basades en l’ús integren les classes que són essencials per respondre o reconèixer el cas d’ús. |
Preguntes freqüents
P # 1) Què és la prova de fils?
Resposta: Les proves basades en fils són una metodologia que es realitza durant la primera fase de les proves d'integració. Els fils o els programes s’integren i es comproven de forma incremental en un subsistema i després en un sistema sencer.
Q # 2) Quina prova es fa primer?
llista d’adjacència de gràfics c ++
Resposta : Normalment, primer es fan proves de baix a dalt i després es fan proves de baix a dalt.
P # 3) Què són les proves top-down?
Resposta: El top-down és una tècnica de proves d’integració en què les proves es fan mitjançant talons, és a dir, quan els components de nivell inferior encara no estan preparats per provar la integració, es creen talons (mòduls temporals) per obtenir la mateixa sortida que en el cas dels mòduls reals.
Conclusió
Les proves d'integració basades en fils tenen un paper important a l'hora de provar les principals funcionalitats o la tasca o fil específic. Aquesta metodologia és la millor per a arquitectures basades en servidors de clients.
Mentre realitza la prova de fils, el provador ha d’afrontar molts reptes, però també té molts avantatges, cosa que fa que sigui fàcil i fiable de dur a terme. Permet als verificadors provar totes les transaccions i verificar si funciona tal com s’esperava i segons el requisit.
És impossible provar totes les transaccions / esdeveniments per completar la prova de fils, per la qual cosa es divideix en tipus de fil únic i múltiple.
Lectura recomanada
- Selecció de proves de programari com a carrera professional
- Algunes preguntes d’entrevistes de proves de programari interessants
- Les proves de programari són una tasca emocional?
- Java sincronitzat: què és la sincronització de fils a Java
- Fils de Java amb mètodes i cicle de vida
- Multithreading en C ++ amb exemples
- Multithreading a Java: tutorial amb exemples
- Thread.Sleep (): mètode Thread Sleep () a Java amb exemples