Mga computerSoftware

Testing programa - error detection proseso sa produkto software

Sa software development, isang makabuluhang bahagi ng proseso ng produksyon ay batay sa software testing. Ano ito at paano naturang aktibidad ay talakayin sa artikulong ito.

Ano ay tinatawag na isang pagsubok?

Ito ay tumutukoy sa ang proseso sa pamamagitan ng pagpapatakbo ng software sa tiktikan ang mga lokasyon ng mga hindi tamang operasyon ng code. Para sa pinakamahusay na resulta, sadyang itinayo mahirap set ng data input. Ang pangunahing layunin ng inspeksyon ay upang lumikha ng pinakamahusay na pagkakataon para sa kabiguan ng software. Kahit na kung minsan ay pagsubok ng binuo programa ay maaaring pinasimple sa isang routine check ng mga nagtatrabaho kapasidad at isagawa ang mga function. Ito sine-save ng oras, ngunit ay madalas na sinamahan ng ang unreliability ng software, ang user sama ng loob, at iba pa.

bisa

Kung gaano kahusay at mabilis na mga error, isang makabuluhang epekto sa ang halaga at tagal ng software development kinakailangang kalidad. Kaya, sa kabila ng ang katunayan na testers makatanggap ng suweldo ng ilang beses na mas maliit kaysa sa mga developer, ang gastos ng kanilang mga serbisyo ay karaniwang hanggang sa 30 - 40% ng ang gastos ng buong proyekto. Ito ay dahil sa ang bilang ng mga tauhan, dahil sa ang paghahanap para sa mga pagkakamali - ito ay isang hindi pangkaraniwang at medyo mahirap na proseso. Ngunit kahit na ang software na ito ay ang pumasa sa isang kagalang-galang na bilang ng mga pagsubok, walang 100% garantiya na ang error ay hindi mangyayari. Lamang ay hindi alam kapag nangyari ito. Upang hikayatin ang mga testers upang piliin ang mga uri ng mga pagsubok na ay mas malamang na maghanap ng pula, iba't ibang mga tool pagganyak ay ginagamit: parehong moral at materyal.

Diskarte sa trabaho

pinakamainam ay kung kailan upang ipatupad ang iba't-ibang mga mekanismo upang matiyak na ang mga error sa software di pa nangyayari buhat sa simula. Upang gawin ito, kailangan mong mag-ingat ng tamang architecture disenyo, malinaw na mga tuntunin ng sanggunian, at ito ay mahalaga na huwag gumawa ng mga pagsasaayos sa komunikasyon, kapag trabaho sa proyekto ay nagsimula na. Sa kasong ito, ang mga tester na ang gawain ng paghahanap at pagkilala sa isang maliit na bilang ng mga error na manatili sa ang huling resulta. Ito ay magse-save sa parehong oras at pera.

Ano ang pagsubok?

Ito ay isang mahalagang aspeto ng mga gawain inspeksyon, na kung saan ay kinakailangan para sa matagumpay na pagtuklas ng mga depekto ng code. Ang mga ito ay kinakailangan upang kontrolin ang tamang application. Ano ay kasama sa pagsubok? Binubuo ito ng data at ang kanilang mga paunang halaga na dapat ay nakuha bilang ang nagreresultang (o intermediate). Upang matagumpay na kilalanin ang problema at hindi pagkakapare-pareho, mga pagsusuri ay dapat na pagkatapos ng algorithm ay binuo, ngunit hindi simulan ang programming. Ito ay kanais-nais na gamitin ang ilang mga diskarte upang pagtantya ng mga kinakailangang data. Sa kasong ito, madaragdagan ang posibilidad ng pag-detect ng error dahil maaari mong suriin ang mga code mula sa ibang anggolo. Complex pagsusuri ay dapat magbigay ng pag-verify ng mga panlabas na mga epekto ng mga tapos nang produkto ng software, pati na rin ang kanyang trabaho algorithm. Ng partikular na interes at magbigay ng marginal lumubha ang kaso. Kaya, sa kaugalian ng mga error ay maaaring madalas isigaw na cycle nagpapatakbo sa isa o higit pang mga beses mas mababa kaysa binalak. Gayundin kahalaga ang computer testing, sa pamamagitan ng kung saan maaari mong i-verify na ang nais na resulta sa iba't ibang mga machine. Ito ay kinakailangan upang tiyakin na ang software ay gagana sa lahat ng mga computer. Sa karagdagan, ang computer test, kung saan ang pag-unlad ay isinasagawa, ay mahalaga sa paglikha ng mga multi-platform pag-unlad.

Arts pag-troubleshoot

Programa ay madalas na naglalayong upang gumana sa malaking hanay ng data. Ito ba ay kailangan upang lumikha ng ganap? Hindi. Laganap na nakuha sa pagsasanay ng "miniaturization" ng programa. Sa kasong ito doon ay isang makatwirang pagbabawas ng data ng dami kung ihahambing sa na gagamitin. Tingnan natin ang isang halimbawa: mayroong isang program, na lumilikha ng isang matris ng sukat 50x50. Sa ibang salita - kailangan mong manwal na ipasok ang 2500 halaga. Ito ay tiyak na posible, ngunit ito ay tumagal ng isang mahabang panahon. Ngunit upang subukan ang mga pag-andar, ang mga software na natatanggap ng isang matris na ang sukat ay 5x5. Upang gawin ito, kailangan mong magpasok ng higit sa 25 na mga halaga. Kung, sa kasong ito, isang normal na, error-free na operasyon, ito ay nangangahulugan na ang lahat ng bagay ay nasa order. Kahit na may mga pitfalls na hindi nagsasabi ng totoo sa ang katunayan na sa miniaturization sitwasyon ay nangyayari, na nagreresulta sa pagbabago ay nagiging implicit at pansamantalang nawawala. Ito rin ay napakabihirang, ngunit pa rin ang mangyayari ay na mayroong mga bagong bug.

layunin pursued

Testing ay hindi isang madaling gawain dahil sa ang katunayan na ang prosesong ito ay hindi tumututol sa pormalisasyon sa kabuuan nito. Malaking mga programa halos hindi magkaroon ng mga kinakailangang tumpak na benchmark. Samakatuwid, bilang gabay sa paggamit ng bilang ng mga hindi direktang mga data, na kung saan, gayunpaman, ay hindi ganap na sumasalamin sa mga katangian at pag-andar ng software development na debugged. Bukod dito, sila ay dapat na pinili sa gayon na ang tamang resulta kinakalkula sa harap kung paano ang software na produkto ay nasubukan. Kung hindi mo mag-advance, ito ay nakahahalina upang isaalang-alang ang lahat ng tungkol sa, at kung ang resulta ng ang makina ay makakakuha ng sa inaasahang saklaw, ito ay gumawa ng maling desisyon, na ang lahat ay tama.

Lagyan ng check sa ilalim ng iba't ibang mga kundisyon

Bilang isang patakaran, programa ng pagsubok ay nangyayari sa mga volume na kung saan ay kinakailangan para sa minimum na pag-andar sa pagsubok sa isang limitadong lawak. Mga Aktibidad isinagawa sa pagbabago ng mga parameter, pati na rin ang kanilang mga nagtatrabaho kondisyon. Ang mga pagsubok na proseso ay maaaring nahahati sa tatlong yugto:

  • Lagyan ng check sa ilalim ng normal na kondisyon. Sa kasong ito namin subukan ang mga pangunahing pag-andar ng binuo software. Ang resulta ay dapat tumutugma sa mga inaasahan.
  • Lagyan ng check sa matinding kundisyon. Sa mga kasong ito, pati na magkasingkahulugan na may mga hangganan ng data, na maaaring adversely makakaapekto sa pagganap ng mga nilikha ng software. Bilang halimbawa, nakikipagtulungan kami sa isang lubhang malaki o maliit na mga numero o kahit na kumpleto na kawalan ng impormasyon na natanggap.
  • Sinusuri sa natatanging sitwasyon. Ito ay nagsasangkot ng paggamit ng mga data na lampas sa paggamot. Sa ganitong sitwasyon, ito ay napaka-masamang kapag ang software perceives ito bilang kapaki-pakinabang sa pagkalkula at nagbibigay ng isang tila matuwid na resulta. Care dapat ay dadalhin na sa ganitong mga kaso doon ay isang pagtanggi ng anumang data na hindi maaaring ma-proseso nang tama. Ito ay kinakailangan din upang magbigay ng para sa pagpapaalam sa user tungkol dito

Testing: Mga Uri

Lumikha ng software nang walang error ay napakahirap. Ito ay nangangailangan ng isang mumunti halaga ng oras. Upang makakuha ng isang magandang produkto ay madalas na ginagamit ng dalawang uri ng mga pagsubok: "Alpha" at "Beta". Ano ang mga ito? Kapag ang mga tao makipag-usap tungkol sa alpha testing, nangangahulugan itong ang review na isinasagawa ang kanyang sarili sa ang estado ng pag-unlad "laboratoryo" kundisyon. Ito ang huling yugto ng pagsubok bago ang programa ay ililipat sa end-user. Samakatuwid, sa mga developer ay sinusubukan upang i-on sa paligid ng maximum. Para sa kadalian ng operasyon, ang data ay maaaring naka-log in upang lumikha ng isang sunod ng mga pangyayari ng mga problema at ang kanilang mga solusyon. Sa ilalim ng beta test upang maunawaan ang supply ng software sa isang limitadong bilang ng mga gumagamit, upang maaari silang samantalahin ang programa at kilalanin ang mga pagkakamali na iyong nakuha. Ang isang espesyal na tampok na ito sa kasong ito ay ang katunayan na ang madalas na ang software ay hindi ginagamit para sa sinasadyang layunin. Dahil sa kabiguan na ito ay makikilala na kung saan doon ay wala pa kailanman nakikita. Ito ay lubos na normal at mag-alala tungkol sa mga ito ay hindi kinakailangan.

test Pagkumpleto

Kung ang mga nakaraang hakbang ay matagumpay na nakumpleto, ito ay nananatiling upang magsagawa ng pagtanggap pagsusulit. Siya sa kasong ito ay nagiging isang galos lamang pormalidad. Sa panahon ng pagsubok ay patunay na walang karagdagang problema ay natagpuan at ang software ay maaaring pinakawalan sa merkado. Ang pinaka-mahalagang ay ang dulo resulta, ang mas malapit na ito ay dapat ma-verify. Care ay dapat na kinuha upang matiyak na ang lahat ng mga hakbang ay matagumpay na nakumpleto. Narito ang testing proseso bilang isang buo. Ngayon sabihin bungkalin ang mga teknikal na detalye at pag-usapan tulad ng isang kapaki-pakinabang na tool, tulad ng mga programa ng pagsubok. Ano ang mga ito at kapag ginagamit?

computer-aided testing

Dati ito ay naisip na ang mga dynamic na pagtatasa ng binuo software - ito ay masyadong mabigat na diskarte na epektibo na ginagamit upang mahanap depekto. Ngunit dahil sa pagtaas ng pagiging kumplikado at dami ng mga programa ay lumitaw kabaligtaran view. Automated na pagsusuri ay ginagamit kung saan ang pinaka-mahalagang mga prayoridad ay ang kahusayan at kaligtasan. At dapat silang maging sa ilalim ng anumang input. Bilang halimbawa, ang mga programa na kung saan ito ay angkop sa naturang pagsubok, isama ang sumusunod: mga protocol network, web server, pag-sandbox. Patuloy kaming upang tumingin sa isang ilang mga halimbawa, na maaaring magamit para sa mga naturang aktibidad. Kung ikaw ay interesado sa libreng mga programa ng pagsubok, ang kalidad ay mahirap upang mahanap kasama ng mga ito. Ngunit may ay basag "piniratang" na mga bersyon ng well-itinatag proyekto, kaya maaari kang sumangguni sa kanilang mga serbisyo.

pagguho ng yelo

Ang tool na ito ay tumutulong sa tiktikan defects ay nasubok na mga programa sa mga dynamic na mode pagtatasa. Ito nangongolekta ng data at pinag-aaralan ang pagganap ng mga track na dinisenyo object. tester ay bibigyan ng isang hanay ng mga input na naging sanhi ng error o lampasan ang mga umiiral na set ng limitasyon. Salamat sa isang magandang test ng algorithm na binuo sa pamamagitan ng isang malaking bilang ng mga posibleng mga sitwasyon. Ang programa ay tumatanggap ng ibang hanay ng mga input data, na nagbibigay-daan upang gayahin ang isang malaking bilang ng mga sitwasyon at lumikha ng mga kondisyon na kung saan ang pinaka-malamang ay ang pangyayari ng isang pagkabigo. Isang mahalagang bentahe ng programa ay ang paggamit ng heuristic na panukat. Kung may isang problema, pagkatapos ay ang application error ay mataas ang posibilidad. Ngunit ang program na ito ay may mga limitasyon tulad ng lamang ng isang tseke minarkahan input socket o file. Kapag dala ng isang operasyon tulad ng mga programa ng pagsubok ay maglalaman ng detalyadong impormasyon tungkol sa mga problema sa null pointer, walang katapusan na loop, hindi tamang address o malfunctions dahil sa ang paggamit ng mga aklatan. Of course, ito ay hindi isang kumpletong listahan ng nakitang mga error at ang kanilang tanging mga karaniwang mga halimbawa. Pagwawasto deficiencies, sayang, mayroon developer - automated na mga pamamaraan ay hindi angkop para sa mga layuning ito.

Klee

Ito ay isang mahusay na programa para sa pagsubok na memorya. Maaari itong harangin ng humigit-kumulang 50 mga tawag na sistema at ang isang malaking bilang ng mga virtual proseso sa gayon ay executed kahanay o hiwalay. Ngunit sa pangkalahatan, ang mga programa ay hindi naghahanap para sa ilang mga kahina-hinalang mga lugar, at pinoproseso ang pinakamataas na posibleng halaga ng code at pinag-aaralan ginagamit landas ng data. Dahil dito, ang mga pagsubok na programa ay depende sa laki ng mga object. Kapag check ang taya ay nakalagay sa symbolic mga proseso. Ang mga ito ay isa sa mga posibleng paraan upang magsagawa ng mga gawain sa isang programa na ay nasubukan. Salamat sa mga parallel na operasyon ay posible upang pag-aralan ang isang malaking bilang ng mga variant ng gawa ng application test. Para sa bawat landas ng mga hanay ng pag-input ng data ay naka-imbak pagkatapos ng kanyang pagsubok, na kung saan ay nagsimula sa mga tseke. Dapat ito ay nabanggit na ang testing programa gamit Klee ay tumutulong upang makilala ang isang malaking bilang ng mga pagkakaiba-iba, na kung saan ay hindi dapat maging. Maaari itong maghanap ng mga problema kahit na sa mga application na binuo para sa mga dekada.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 tl.delachieve.com. Theme powered by WordPress.