Anar al contingut

Automatisació de proves

De L'Enciclopèdia, la wikipedia en valencià

En les proves de software, la automatisació de proves consistix en l'us de software especial (casi sempre separat del software que es prova) per a controlar l'eixecució de proves i la comparació entre els resultats obtinguts i els resultats esperats.[1] L'automatisació de proves permet incloure proves repetitives i necessàries dins d'un procés formal de proves ya existent o ben adicionar proves l'eixecució manual de les quals resultaria difícil.

Generalitats

[editar | editar còdic]

Algunes proves de software tals com les proves de regressió intensives de baix nivell poden ser laborioses i consumir molt temps per a la seua eixecució si es realisen manualment. Adicionalment, una aproximació manual pugues no ser efectiva per a trobar certs tipos de defectes, mentres que les proves automatizado oferixen una alternativa que ho permet. Una volta que una prova ha segut automatisada, esta pot eixecutar-se repetitiva i ràpidament en particular en productes de software que tenen cicles de manteniment llarc, ya que inclús canvis relativament menors en la vida d'una aplicació poden induir fallos en funcionalitats que anteriorment operaven de manera correcta. Existixen dos aproximacions a les proves automatizado:

  • Proves manejades pel còdic: Es proven les interfaços públics de les classes, mòduls o biblioteques en una varietat àmplia d'arguments d'entrada i es valida que els resultats obtinguts siguen els esperats.
  • Proves d'Interfaç d'Usuari: Un marc de proves genera un conjunt d'events de l'interfaç d'usuari, tals com teclejar, fer clic en la rata i interactuar d'atres formes en el software i s'observen els canvis resultants en l'interfaç d'usuari, validant que el comportament observable del programa siga el correcte.

L'elecció mateixa entre automatisació i eixecució manual de proves, els components la prova dels quals serà automatisada, les ferramentes d'automatisació i atres elements són crítics en l'èxit de les proves, i por lo regular deuen provindre d'una elecció conjunta dels equips de desenroll, control de calitat i administració. Un eixemple de mala elecció per a automatisar, seria triar components que les seues característiques són inestables o el seu procés de desenroll implica canvis continus.

Proves manejades pel còdic

[editar | editar còdic]

En el desenroll contemporàneu de software existix una tendència creixent a usar Frameworks com els denominats XUnit (per eixemple JUnit i NUnit) que permeten l'eixecució de proves unitàries per a determinar quàn vàries seccions del còdic es comporten com és esperat en circumstàncies específiques. Els casos de prova descriuen les proves que han d'eixecutar-se sobre el programa per a verificar que este s'eixecuta tal i com s'espera. L'automatisació de proves és una característica clau del desenroll àgil de software en a on se li coneix com "desenroll guiat per proves". En elles, les proves unitàries s'escriuen abans que el còdic que genera la funcionalitat. Solament quan el còdic passa exitosamente les proves es considera complet. Quan hi ha canvis, el programador descobrix immediatament qualsevol defecte que trenque els casos de prova la qual cosa baixa el cost de la reparació. Dos inconvenients d'este estil de treball són:

  1. Algunes voltes es "desperdicia" la capacitat del programador escrivint les proves unitàries. El entrecomillado es deu precisament que assegurar la calitat del producte no és desperdici algun.
  1. Normalment es proven els requeriments bàsics o el fluix normal del cas d'us en lloc de tots els fluix alternatius, ya que estendre les proves més allà de la prova base eleva el cost del producte. En algunes ocasions els fluix alternatius són provats per un equip de proves més o menys independent de l'equip de desenroll.

Referències

[editar | editar còdic]
  1. Kolawa, Adam (2007). Automated Defect Prevention: Best Practices in Software Management, Wiley-IEEE Computer Society Press, p. 74. ISBN 978-0-470-04212-0.


Referències

[editar | editar còdic]