Grans empreses de programari, com Google, tenen èxit malgrat els errors de baixa prioritat en el seu programari, però les empreses més petites i les startups no tenen aquest luxe.
Els clients esperen que els productes facin el que reclamen a la pàgina de vendes o a la documentació. Amb tantes opcions per aquí, no pensaran dues vegades sobre saltar el vaixell si el producte perd el temps i els diners. Per tant, el programari se sotmet a proves rigoroses abans del llançament per tal de:
ressaltar les diferències entre el concepte original i la producció final
comproveu que el programari funciona de la manera que tenien previst dissenyadors
validar el producte final: el producte ha de complir els requisits del client
avaluar característiques i qualitat
Les proves segueixen un pla estricte. Això optimitza l'ús de valuosos recursos: habilitats, temps i diners, alhora que proporciona als interessats informació essencial per fer avançar el producte. L'objectiu és facilitar una bona experiència d'usuari final a través d'un fort programa d' assegurament de la qualitat . Amb les apostes tan altes, els directius de QA són alguns dels màxims professionals de la tecnologia. L'avaluació generalment segueix aquests passos:
Anàlisi de requisits on els administradors perfilen un pla per posar en pràctica una estratègia de prova adequada.
Les proves comencen i els resultats són objecte d'anàlisi.
Qualsevol defecte es corregeix, i el programari passa per proves de regressió: un sistema per comprovar que el programa encara funciona després de les modificacions.
Un informe de tancament de la prova detalla tot el procés i els resultats.
Mètodes d'assaig de programari
Aquests són els diferents mètodes utilitzats per jutjar el comportament i el rendiment del producte.
La caixa negra i la prova de caixa blanca són els dos mètodes fonamentals.
- Proves de caixa negra : també anomenades proves basades en funcionalitats o especificacions, aquest mètode se centra en la producció. Els verificadors no es refereixen als mecanismes interns. Només comproven que el programari fa el que se suposa. El coneixement de la codificació no és necessari, i els assaigs funcionen a nivell d'interfície d'usuari.
- Proves de casella blanca : aquest mètode utilitza els coneixements de codificació com a part del procediment de prova. Quan un producte falla, els verificadors aprofundir en el codi necessari per trobar la causa. Els desenvolupadors de programari fan això ells mateixos ja que determinen com ha de funcionar el producte. Les proves de caixa de vidre i basades en estructura són altres noms d'aquest mètode.
- Proves estàtiques : els examinadors examinen el codi i la documentació del programari, però no executen el programa. Les proves estàtiques comencen a principis del desenvolupament del producte durant el procés de verificació.
- Proves dinàmiques : el programari s'executa amb diverses entrades i els verificadors comparen els resultats amb el comportament esperat amb aquest mètode.
- Proves de GUI: proveu les característiques de la GUI: formateig de text, quadres de text, botons, llistes, disseny, colors, fonts, mides de lletra, etc. Les proves de la GUI triguen molt de temps, i les companyies de terceres parts solen assumir la tasca en comptes de desenvolupadors.
Nivells de prova
Aquests són necessaris per identificar àrees de debilitat i superposició en cada fase del cicle de vida del desenvolupament de programari.
- Proves d'unitat : els desenvolupadors comproven les parts més bàsiques del codi, com ara classes, interfícies i funcions / procediments. Saben com ha de respondre el seu codi i que poden fer ajustos segons la producció.
- Prova de components : altres noms són mòdul o proves de programes. És similar a les proves unitàries però conté un major nivell d'integració. Els mòduls del programari són provats per defectes per verificar la seva funció individual.
- Prova d'integració : identifica errors quan els mòduls estan integrats. Les diferents proves d'integració són de baix a dalt, cap avall i incremental funcional.
- Prova del sistema : els components d'un projecte es comproven en la seva totalitat en diferents entorns amb aquest mètode. Cau sota el mètode de quadre negre i és una de les proves finals del procés. Determina si el sistema funciona per satisfer les necessitats empresarials i usuaris.
- Proves alfa : el personal intern prova el programari al lloc del desenvolupador en un entorn simulat o real. Després d'això, els desenvolupadors rectifiquen errors i altres problemes.
- Proves beta : també conegut com a prova de camp, el client prova el producte en el seu propi lloc en condicions reals. El client pot oferir a un grup d'usuaris finals l'oportunitat de provar el programari mitjançant prereleases o versions beta. Els comentaris sobre possibles millores s'envien al desenvolupador.
- Proves d'acceptació : també sota l'abast de les proves de caixa negra, el client prova de programari per esbrinar si el desenvolupador ha creat el programa a les especificacions desitjades.
Tipus de prova
Aquestes proves de programari se centren en objectius específics.
- Prova d'instal·lació : l'enginyer de proves de programari i el gestor de configuració realitzen aquesta prova per garantir que l'usuari final pugui instal·lar i executar el programa. Abasta àrees com ara fitxers d'instal·lació, ubicacions d'instal·lació i privilegis administratius.
- Proves de desenvolupament : implementa diverses estratègies sincronitzades per detectar i prevenir defectes. Inclou l'anàlisi de codi estàtic, revisions de codi d'experts, traçabilitat i anàlisi de mètriques. L'objectiu és reduir els riscos i estalviar costos.
- Proves d'usabilitat : l'experiència de l'usuari ve sota el punt de mira d'aquesta prova. Mesura el rendiment de la GUI i la seva facilitat d'ús. La prova comprova la precisió i l'eficiència de les funcions i les respostes emocionals dels subjectes de prova.
- Proves de sanitat : això indica si el programari val la pena el temps i el cost per continuar les proves posteriors. No segueixen massa defectes i proves més agressives.
- Proves de fum - Les proves de fum revelen errors bàsics prou greus per evitar l'alliberament. Quan es realitza en una nova versió, es coneix com una prova de compilació de compilació.
- Prova de regressió : quan el sistema experimenta modificacions, les proves de regressió supervisen un comportament inesperat. Indica els efectes adversos en els mòduls o components.
- Proves destructives: els assaigs registren entrades anormals i discuteixen la capacitat del programari per gestionar els ingressos inesperats. Això demostra als desenvolupadors quina robustesa té el programa en la gestió d'errors.
- Prova de recuperació : quan el maquinari o altres funcions fallen, aquesta prova mostra el rendiment del programari per continuar funcionant.
- Proves automatitzades : realitza funcions difícils d'implementar manualment. Utilitza programari específic per executar les proves i per proporcionar dades sobre els resultats reals enfront dels resultats esperats.
- Prova de compatibilitat : el programari s'ha d'executar en diferents entorns informàtics, de manera que comprova la compatibilitat amb els diferents sistemes. Per exemple, el programari funciona amb diversos sistemes operatius i navegadors web?
- Proves de rendiment : aquesta és una prova en profunditat que examina el rendiment del programari en diferents escenaris. Es recopila informació sobre la capacitat de resposta, estabilitat, assignació de recursos i velocitat. A més, les subproves, com ara el volum, la capacitat i les proves de pics, participen en aquest procés.
- Proves de seguretat : això mesura la capacitat del programari per protegir la seguretat dels usuaris. Això significa funcions d'autorització, autenticació, confidencialitat, integritat, disponibilitat i no repudi.
- Proves d'accessibilitat : això no és el mateix que les proves d'usabilitat. Això determina fins a quin punt els usuaris de diferents habilitats, com l'aprenentatge i les discapacitats físiques, poden utilitzar el programari.
- Internacionalització i proves de localització : els resultats mostren com el programari pot adaptar-se a diferents idiomes i demandes regionals. Això inclou afegir components per a ubicacions específiques i traduir text.
Les proves de programari són una part essencial de portar un producte al mercat. I sense provadors, la gran quantitat de programari disponible no existiria. Converteix-te en un provador de programari certificat a través d'organitzacions com BCS, The Chartered Institute for IT, ISTQB® (International Software Testing Qualifications Board), i ASQ (anteriorment American Society for Quality).