Prova com Google: pràctiques recomanades de Industry Giants (04.25.24)

Podem aprendre molt dels gegants de la indústria observant els seus mètodes i enfocaments en els fluxos de treball.

Com aconsegueixen mantenir el procés de proves de programari dins de milions de línies de codi? Com organitzen el flux de treball amb milers d'enginyers de control de qualitat?

Com afronten l'expansió del projecte?

L'experiència d'empreses com Google o Spotify pot ajudar a millorar els processos de proves en petites empreses i equips.

Vegem de prop com es posen a prova els gegants.

Google: la importància de la cobertura del codi

​​21339 Tot i així, molts enginyers argumenten sobre la importància d'aquesta mesura de l'eficiència de les proves de programari com a cobertura de codi. Els especialistes de Google insisteixen que les dades de cobertura de codi poden ser informació valuosa per avaluar els riscos i els colls d'ampolla en una activitat de proves. Carlos Arguelles, Marko Ivanković i Adam Bender comparteixen les millors pràctiques per a la cobertura del codi:

  • La cobertura del codi pot ajudar a reduir errors i fallades. L’experiència dels enginyers de control de qualitat de Google va demostrar que l’augment de la cobertura del codi condueix a canvis en els enfocaments i les actituds davant les proves. Els equips amb una cobertura de codi com a objectius principals tendeixen a millorar la comprovació dels seus productes. Escriuen un codi més eficaç per fer proves per assolir objectius de prova més fàcils i que consumeixen menys temps.
  • Utilitzeu proves de mutació per assegurar una alta cobertura de les proves. La cobertura completa del codi pot malgastar i no garanteix una cobertura de proves d'alta qualitat. Un percentatge elevat de cobertura de codi no significa que totes les funcions s’hagin provat correctament. Vol dir que el codi es va provar en general. Per garantir una alta qualitat de la cobertura de les proves, els experts de Google recomanen fer proves de mutació. Aquest mètode inclou implementar petits canvis de codi i comprovar com els conjunts de proves els identifiquen.
  • El percentatge de cobertura del codi depèn de molts factors. No hem d’orientar cap a una cobertura elevada de codi, però la baixa cobertura també provoca un gran nombre d’errors. I la pregunta és: quina és la cobertura específica del codi per a un sistema concret? Per respondre a aquesta pregunta, hauríem de considerar aspectes com la criticitat, la complexitat i la freqüència del canvi de codi. La cobertura de codi és una decisió empresarial i els propietaris de productes l’han de definir.
  • Analitzeu què s’ha de cobrir. No podem obtenir una cobertura de codi del 100%, de manera que els enginyers de control de qualitat haurien de tenir en compte que es cobreixen les parts més valuoses del codi. Un equip de desenvolupadors hauria de discutir i no pensar sobre quantes línies de codi es cobreixen, sinó què es tracta exactament.
Spotify: estratègia fiable

Spotify és una empresa de ràpid creixement. Es va establir el 2008 amb 150 empleats. El 2019, el nombre d'empleats va créixer fins als 4.405. Avui Spotify atén uns 300 milions d'usuaris a tot el món, cosa que el converteix en el servei de transmissió més popular del món. processos de desenvolupament.

  • Definiu objectius de producte per a l’equip de control de qualitat. Spotify té equips multifuncionals. Tots els equips tenen objectius i un conjunt d’habilitats particulars per assolir-los. L’estructura de l’equip depèn dels objectius. Per tant, alguns equips només consten de desenvolupadors i alguns tenen desenvolupadors i provadors. Per tant, els provadors cooperen estretament amb l’equip de desenvolupament i se centren en els objectius principals del producte. Aquest enfocament permet a Spotify escalar el procés de desenvolupament de manera eficient.
  • Les proves d'automatització són una eina, però no una panacea. El gerent de proves i desenvolupament a Spotify Kristian Karl afirma que els verificadors de programari no es poden substituir per l'automatització. Les proves requereixen experiència i coneixements humans. Les proves d'automatització són una eina sòlida per accelerar el procés, però els humans prenen decisions i analitzen informes automatitzats. Spotify utilitza l’automatització com una de les eines d’escala. Permet als verificadors deixar rutina d’algoritmes i centrar-se en els objectius del producte.
SpaceX: les proves contínues són imprescindibles

SpaceX és una empresa innovadora coneguda pel transport comercial d’espai, un sistema de llançament reutilitzable alta eficiència.

Nicholas Chaillan, cap de programari de la Força Aèria, va dir que el sistema del departament de desenvolupament SpaceX és cinc vegades més eficient que les empreses amb flux de treball clàssic. Com pot SpaceX fer front al procés de proves amb aquest rendiment?

DevOps i els enfocaments Agile permeten als enginyers de SpaceX QA proporcionar proves d'automatització massiva. A través del cicle de desenvolupament, els provadors proporcionen proves contínues per obtenir informació instantània i eliminar els riscos existents. D’aquesta manera, estan treballant de manera proactiva, realitzant proves freqüents i primerenques.

L’empresa va desenvolupar una estratègia sobre com implementar proves contínues en el procés de desenvolupament.

  • Prioritzar el valor. Igual que Google, SpaceX recomana utilitzar mètriques de cobertura de codi per entendre què heu d’automatitzar i què no. Ajuda a optimitzar les proves contínues i a millorar les activitats que ja s'han realitzat.
  • La clau és la prova automàtica de punta a punta. Feu que l'anàlisi d'impacte formi part de la integració contínua. Permet a les empreses analitzar com afegir noves funcions o canviar el codi pot afectar un sistema general o algunes parts del seu sistema.
  • L’equip ha de tenir un entorn de prova estable i fàcil de replicar. Una eina com la instantània de la màquina virtual pot ajudar a desar l'estat de les dades, tornar a les proves o reprendre el treball.
  • Utilitzeu la intel·ligència artificial i l'aprenentatge automàtic per analitzar els informes de proves. AI Les eines basades agilitzen el desplegament i optimitzen el procés de proves.
  • Construeix una sòlida arquitectura d’integració contínua. L’avantatge principal del sistema CI és que es produeixen breus períodes entre la compilació i les proves del codi. . Les proves contínues han d’estar implicades en el procés de desenvolupament i han d’incloure els tipus de prova necessaris.
  • Resum

    Cada empresa té la seva estratègia, procés i enfocaments de proves. Cada equip selecciona i ajusta el procés de proves en funció dels objectius finals i de les capacitats del producte. La tasca principal de qualsevol especialista és pensar en el client i l'usuari final, adaptar-se a nous requisits i adoptar l'experiència dels millors de la indústria.


    Vídeo de YouTube: Prova com Google: pràctiques recomanades de Industry Giants

    04, 2024