Logo de Dallonses

Cobertura de tests

Què és la cobertura de tests?

La cobertura de tests mesura quant del teu codi s'executa quan corre la suite de tests, normalment com a percentatge. La cobertura de línies rastreja quines línies van córrer. La de branques rastreja si es van prendre tots dos costats de cada if/else. La de funcions rastreja quines funcions es van cridar tan sols. Una eina instrumenta el codi, corre els tests i informa de la part que els tests van tocar de debò.

El número és útil i fàcil de malinterpretar. Una cobertura alta et diu que els tests passen per la major part del codi. No et diu que comprovin les coses correctes. Un test pot executar una funció, no afirmar res amb sentit i tot i així comptar per al 100%. Aquí hi ha la trampa: la cobertura mesura execució, no correcció. Un mòdul de pagaments al 95% de cobertura pot encara publicar un bug si cap d'aquests tests verifica l'import real cobrat. La cobertura et mostra què no es va provar mai, cosa genuïnament valuosa, però un número verd és un terra, no una garantia.

Perseguir el 100% rarament compensa. L'últim tram sol voler dir escriure tests per a getters trivials i branques d'error que mai es dispararan de manera realista, cosa que costa temps i afegeix soroll. La majoria d'equips fixen un llindar sensat, vigilen les caigudes brusques que assenyalen codi nou sense provar i gasten el seu esforç real a assegurar que les rutes importants tinguin tests que afirmin alguna cosa que valgui la pena afirmar.

Cobertura de tests a Dallonses

Fem servir la cobertura com a senyal, mai com a marcador. Un informe de cobertura és bo en una cosa: mostrar el codi que els teus tests no han tocat mai. El llegim així, mirem què falta a les rutes que carreguen el risc real i escrivim tests que verifiquen comportament en lloc de només recórrer les línies.

No perseguim un número per ell mateix, i l'hi diem al client que demana el 100%. Una suite trucada per assolir un objectiu sembla tranquil·litzadora i no protegeix res. El nostre testing automatitzat enfoca la cobertura on la fallada de debò faria mal, els fluxos de diners i la lògica central, i la manté honesta amb assercions que fallarien genuïnament si el codi es trenqués. El sentit de l'informe és menys bugs en producció, no un dashboard més bonic.

Tens un número de cobertura alt del qual no estàs segur de poder-te'n fiar? Posem-lo a prova.

Parlem de QA

Serveis relacionats


Preparat per a traballar junts?

Reserva una reunió
Aymón sostenint una revista Tools davant de la seva cara
Ari treballant en un portàtil a l'aire lliure envoltada de plantes
Vista superior d'un escriptori de fusta amb teclat, ratolí i auriculars
Il·lustració dibuixada a mà d'una mà chasquejant els dits
Nico recolzat contra un dispensador d'aigua al costat d'un extintor
Primer pla d'un ordinador obert amb placa de circuit i components sobre un escriptori de fusta
Bernat i Andreu col·laborant en un escriptori amb monitors i un portàtil
Il·lustració dibuixada a mà d'una mà oberta saludant
Aymón sostenint una revista Tools davant de la seva cara
Ari treballant en un portàtil a l'aire lliure envoltada de plantes
Vista superior d'un escriptori de fusta amb teclat, ratolí i auriculars
Il·lustració dibuixada a mà d'una mà chasquejant els dits
Nico recolzat contra un dispensador d'aigua al costat d'un extintor
Primer pla d'un ordinador obert amb placa de circuit i components sobre un escriptori de fusta
Bernat i Andreu col·laborant en un escriptori amb monitors i un portàtil
Il·lustració dibuixada a mà d'una mà oberta saludant