Artikoloj

Kio estas Programaro Testado, kion signifas testi programaro

Programaro-testado estas aro de procezoj por esplori, taksi kaj konstati la kompletecon kaj kvaliton de programaro skribita por komputiloj. Certigas konformecon de programaro rilate al reguligaj, komercaj, teknikaj, funkciaj kaj uzantpostuloj.

Programaro-testado, aŭ programaro-testado, ankaŭ estas konata kiel aplikaĵo-testado.

Programaro-testado estas ĉefe granda procezo konsistanta el pluraj interligitaj procezoj. La ĉefa celo de programaro-testado estas mezuri la integrecon de la programaro kune kun ĝia kompleteco laŭ ĝiaj fundamentaj postuloj. Programaro-testado implikas ekzamenadon kaj testadon de programaro per malsamaj testaj procezoj. La celoj de ĉi tiuj procezoj povas inkluzivi:

Konfirmo de programaro-kompleteco kontraŭ funkciaj/komercaj postuloj
Identigi cimojn/teknikajn erarojn kaj certigi, ke la programaro estas senerara
Taksado de uzebleco, rendimento, sekureco, lokalizo, kongrueco kaj instalado
Provita programaro devas pasigi ĉiujn testojn por esti kompleta aŭ taŭga por uzo. Kelkaj el la malsamaj specoj de programaj testaj metodoj inkluzivas blankan skatolon-testadon, nigra-skatolon-testadon kaj grizan skatolon. Krome, la programaro povas esti provita kiel tutaĵo, en komponantoj/unuoj aŭ ene de viva sistemo.

Testado pri Nigra Skatolo

Black Box Testing estas programara testa tekniko, kiu fokusiĝas pri analizado de la funkcieco de la programaro, rilate al la interna funkciado de la sistemo. Black Box Testing estis evoluigita kiel metodo por analizi klientpostulojn, specifojn kaj altnivelajn dezajnostrategiojn.

Testilo de Black Box Testing elektas aron de validaj kaj nevalidaj kodaj ekzekuto kaj enigokondiĉoj kaj kontrolas por validaj eligrespondoj.

Black Box Testing ankaŭ estas konata kiel funkcia testado aŭ fermita kestotestado.

Serĉilo estas simpla ekzemplo de aplikaĵo submetata al provo de nigra skatolo. Uzanto de serĉilo enmetas tekston en la serĉbreton de retumilo. La serĉilo tiam lokalizas kaj retrovas uzantajn rezultojn (eligo).

La avantaĝoj de Black Box Testing inkluzivas:

  • Simpleco: Faciligas testadon de altnivelaj projektoj kaj kompleksaj aplikoj
  • Konservu rimedojn: Testistoj koncentriĝas pri la funkcieco de la programaro.
  • Testkazoj: Fokuso sur softvarfunkcieco por faciligi rapidan evoluon de testkazoj.
  • Provizas flekseblecon: ne necesas specifa programado.

Black Box Testing ankaŭ havas kelkajn malavantaĝojn, jene:

  • Testkazo/manuskripto-dezajno kaj prizorgado povas esti malfacilaj ĉar Black Box Testing-iloj dependas de konataj enigaĵoj.
  • Interagi kun la grafika uzantinterfaco (GUI) povas korupti testajn skriptojn.
  • La testoj koncernas nur la funkciojn de la aplikaĵo.

Blanka Skatolo-Testado

Dum blank-skatolo-testado, kodo estas rulita kun antaŭ-elektitaj enigvaloroj por validigi la antaŭ-elektitajn eligvalorojn. Blank-kesto-testado ofte implikas skribi stumkodon (peco de kodo uzita por anstataŭigi specifan trajton. Stumpo povas simuli la konduton de ekzistanta kodo, kiel ekzemple proceduro sur fora maŝino.) kaj ankaŭ ŝoforojn.

La avantaĝoj de blank-skatola testado inkluzivas:

  • Ebligas reuzon de testkazoj kaj ofertas pli grandan stabilecon
  • Faciligas kodan optimumigon
  • Faciligas trovi la lokojn de kaŝitaj eraroj en la fruaj stadioj de evoluo
  • Faciligas efikan aplikaĵan testadon
  • Forigu nenecesajn liniojn de kodo


La malavantaĝoj inkluzivas:

  • Postulas spertan testilon kun scio pri interna strukturo
  • Bezonas tempon
  • Altaj kostoj
  • Valumado de peceto de kodo estas malfacila.
  • Blank-skatola testado inkluzivas unuotestadon, integrigan testadon kaj regresan testadon.

Unueca Testo

Unuotesto estas komponento de la Software Development Life Cycle (SDLC) en kiu ampleksa testproceduro estas individue aplikata al la plej malgrandaj partoj de softvarprogramo por dezirata taŭgeco aŭ konduto.


Unuotesto estas kvalita mezurado kaj taksadprocedo aplikita en la plej multaj entreprenaj programaj evoluagadoj. Ĝenerale, unutesto taksas kiom bone la softvarkodo konformas al la totala celo de la softvaro/aplikaĵo/programo kaj kiel ĝia taŭgeco influas aliajn pli malgrandajn unuojn. Unuaj testoj povas esti faritaj permane - de unu aŭ pluraj programistoj - aŭ per aŭtomatigita programara solvo.

Dum testado, ĉiu unuo estas izolita de la ĉefa programo aŭ interfaco. Unuotestoj estas tipe faritaj post evoluo kaj antaŭ deplojo, tiel faciligante integriĝon kaj fruan problemodetekto. La grandeco aŭ amplekso de unuo varias dependi de la programlingvo, programaro, kaj testaj celoj.

Funkcia Testo

Funkcia testado estas testa procezo uzata ene de programaro, kie programaro estas testata por certigi, ke ĝi konformas al ĉiuj postuloj. Ĝi estas maniero kontroli programaron por certigi, ke ĝi havas ĉiujn postulatajn funkciojn specifitajn en siaj funkciaj postuloj.


Funkcia testado estas ĉefe uzata por kontroli, ke programaro provizas la saman produktaĵon, kiel postulas la fina uzanto aŭ komerco. Tipe, funkcia testado implikas taksi kaj kompari ĉiun programaran funkcion kontraŭ komercaj postuloj. La programaro estas provita donante al ĝi iun rilatan enigaĵon tiel ke la eligo povas esti taksita por vidi kiel ĝi konformas al, rilatas al, aŭ varias de ĝiaj bazaj postuloj. Krome, funkciaj testoj ankaŭ kontrolas la uzeblecon de la programaro, ekzemple certigante ke la navigaciaj funkcioj funkcias laŭbezone.

Informilo pri novigo
Ne maltrafu la plej gravajn novaĵojn pri novigado. Registriĝi por ricevi ilin retpoŝte.

Regresa testado

Regresa testado estas speco de softvartestado uzata por determini ĉu novaj problemoj estas la rezulto de softvarŝanĝoj.

Antaŭ apliki ŝanĝon, programo estas testata. Post kiam ŝanĝo estas aplikita, la programo estas retestita en elektitaj lokoj por detekti ĉu la ŝanĝo kreis novajn cimojn aŭ problemojn, aŭ ĉu la fakta ŝanĝo servis sian celitan celon.


Regresa testado estas esenca por grandaj programoj, ĉar ofte estas malfacile scii ĉu ŝanĝi unu parton de problemo kreis novan problemon por malsama parto de la aplikaĵo. Ekzemple, ŝanĝo al banka aplika pruntformularo povas rezultigi malsukceson de ĉiumonata transakcia raporto. Plejofte, la problemoj povas ŝajni senrilataj, sed ili efektive povas esti la kaŭzo de frustriĝo inter aplikaĵprogramistoj.

Aliaj situacioj kiuj postulas regrestestadon inkludas detekti ĉu certaj ŝanĝoj atingas fiksitan celon aŭ testadon por novaj danĝeroj asociitaj kun temoj kiuj reaperas post periodo sen problemoj.

Moderna regrestestado estas ĉefe pritraktita per specialecaj komercaj testaj iloj kiuj prenas momentfotojn de ekzistanta programaro kiuj tiam estas komparitaj post aplikado de specifa ŝanĝo. Estas preskaŭ neeble por homaj testistoj plenumi la samajn taskojn same efike kiel aŭtomatigitaj softvartestiloj. Ĉi tio validas precipe kun grandaj kaj kompleksaj programaroj en grandaj IT-medioj kiel bankoj, hospitaloj, produktaj kompanioj kaj grandaj podetalistoj.

Stresa Testado

Streĉa testado rilatas al testado de programaro aŭ aparataro por determini ĉu ĝia agado estas kontentiga sub ekstremaj kaj malfavoraj kondiĉoj, kiuj povas okazi kiel rezulto de peza rettrafiko, proceza ŝarĝo, underclocking, overclocking, kaj pinta uzado postuloj de rimedoj.

La plej multaj sistemoj estas evoluigitaj supozante normalajn funkciigadkondiĉojn. Tial, eĉ se limo estas superita, eraroj estas nekonsiderindaj se la sistemo estas strestestita dum evoluo.


Streĉtestado estas uzata en la sekvaj kuntekstoj:

  • Programaro: Streĉa testado emfazas haveblecon kaj erartraktadon sub ekstreme pezaj ŝarĝoj por certigi, ke la programaro ne kraŝas pro nesufiĉaj rimedoj. Programaro-strestestado temigas identigitajn transakciojn por interrompi transakciojn, kiuj estas forte emfazitaj dum testado, eĉ kiam datumbazo ne estas ŝarĝita. La strestesta procezo ŝarĝas samtempajn uzantojn preter normalaj sistemaj niveloj por trovi la plej malfortan ligon en la sistemo.
  • Aparataro: Streĉaj provoj certigas stabilecon en normalaj komputikmedioj.
  • Retejoj: Streĉaj provoj determinas la limojn de iu ajn retejo-funkcio.
  • CPU: Ŝanĝoj kiel overvolting, undervolting, underlocking, kaj overlocking estas kontrolitaj por determini ĉu ili povas manipuli pezajn ŝarĝojn funkciante CPU-intensan programon por testi pri sistema kraŝoj aŭ frostiĝoj. CPU-strestesto ankaŭ estas konata kiel torturtesto.

Aŭtomataj Testoj

Aŭtomatigita testado (programara testaŭtomatigo) estas aliro al koda testado, kiu uzas specialajn programarajn ilojn, kiuj aŭtomate ruligas testojn kaj poste komparas realajn testrezultojn kun atendataj rezultoj.

Aŭtomatigita testado ludas gravan rolon en Kontinua Livero (KD), Kontinua Integriĝo (CI), DevOps kaj DevSecOps. La ĉefaj avantaĝoj de aŭtomata testado inkluzivas:

  • Aŭtomatigita testado ŝparas al programistoj tempon kaj monon igante la testan procezon pli efika.
  • Aŭtomatigitaj testoj identigas erarojn pli efike ol manaj testoj.
  • Kiam testoj estas aŭtomatigitaj, pluraj testaj iloj povas esti efektivigitaj paralele.


En programaro, estas speciale utile plenumi aŭtomatigitajn testojn dum la konstruprocezo por certigi, ke aplikaĵo estas libera de konstrueraroj kaj plenumas sian celitan funkcion.

Preni la tempon por aŭtomatigi softvartestadon finfine ŝparos tempon al programistoj reduktante la riskon ke kodŝanĝo rompos ekzistantan funkciecon.


Testado estas tre grava etapo en la disvolva procezo. Certigas, ke ĉiuj cimoj estas korektitaj kaj ke la produkto, programaro aŭ aparataro, plenumas kiel celite aŭ kiel eble plej proksime al sia cela rendimento. Aŭtomatigita testado, prefere ol mana testado, estas esenca por konstante liveri kostefikan programaron kiu renkontas uzantbezonojn ĝustatempe kun minimumaj difektoj.

Tipoj de aŭtomatigitaj testoj uzataj en programaro
  • Unuotesto: Testu ununuran malaltnivelan programon en izolita medio antaŭ kontroli ĝian integriĝon kun aliaj unuoj.
  • Integriga Testado: Unuaj testoj kaj aliaj aplikaĵaj komponantoj estas testitaj kiel kombinita ento.
  • Funkciaj testoj: Kontrolu ĉu programara sistemo kondutas kiel ĝi devus.
  • Testado de Efikeco: Taksi la fortikecon de aplikaĵo sub pli altaj ol atendataj ŝarĝoj. Efikectestoj ofte malkaŝas proplempunktojn.
  • Fuma Testo: Determinas ĉu konstruo estas sufiĉe stabila por daŭrigi kun plia testado.
  • Testado de Retumilo: Kontrolu, ke programaj komponantoj kongruas kun diversaj retumiloj.

Mana testado ankoraŭ estas farita en diversaj tempoj dum evoluo, sed ĉi tio estas plejparte farita de la programistoj aŭ la aparataj inĝenieroj mem por rapide vidi ĉu la ŝanĝoj kiujn ili faris havis la deziratan efikon.

Ercole Palmeri

Informilo pri novigo
Ne maltrafu la plej gravajn novaĵojn pri novigado. Registriĝi por ricevi ilin retpoŝte.

Lastaj artikoloj

Eldonistoj kaj OpenAI subskribas interkonsentojn por reguligi la fluon de informoj prilaboritaj de Artefarita Inteligenteco

Pasintlunde, la Financial Times anoncis interkonsenton kun OpenAI. FT licencas sian mondklasan ĵurnalismon...

30 aprilo 2024

Interretaj Pagoj: Jen Kiel Fluaj Servoj Faras Vin Pagi Eterne

Milionoj da homoj pagas por streaming-servoj, pagante monatajn abonkotizojn. Estas komuna opinio, ke vi...

29 aprilo 2024

Veeam havas la plej ampleksan subtenon por ransomware, de protekto ĝis respondo kaj reakiro

Coveware de Veeam daŭre liveros servojn de respondaj incidentoj pri ciberĉantaĝo. Coveware ofertos krimmedicinajn kaj solvajn kapablojn...

23 aprilo 2024

Verda kaj Cifereca Revolucio: Kiel Prognoza Prizorgado Transformas la Petrolo kaj Gasa Industrio

Prognoza prizorgado revolucias la petrolon kaj gasan sektoron, kun noviga kaj iniciatema aliro al plantadministrado...

22 aprilo 2024