Ang pagsubok sa software ay isang paraan upang matiyak na gumagana ang mga program sa computer sa paraang nararapat. Ito ay tulad ng pagsuri sa iyong takdang-aralin o pagtiyak na ang iyong guhit ay may lahat ng mga kulay sa mga tamang lugar. Kapag sinubukan namin ang software, naghahanap kami ng mga pagkakamali na tinatawag na mga bug. Pagkatapos ay inaayos namin ang mga bug na ito para gumana nang maayos ang program at nakakatuwang gamitin.
Ang software testing ay nangangahulugan ng pagsubok sa isang computer program upang makita kung ito ay gumagana nang perpekto. Kapag gumamit ka ng app o naglalaro, inaasahan mong gagana nang tama ang lahat ng button, larawan, at tunog. Tinutulungan kami ng pagsubok na makahanap ng maliliit na pagkakamali gaya ng mga maling kulay, mga button na hindi tumutugon, o mga nawawalang piraso. Ito ay katulad ng pagtingin sa proyekto ng iyong paaralan nang mabuti upang suriin kung ang bawat bahagi ay kumpleto at tama.
Ang pagsubok sa software ay nagbibigay sa amin ng kumpiyansa. Kapag sinubukan namin ang isang programa, alam namin na ito ay ligtas at handa nang gamitin ng lahat. Isipin ito tulad ng pagsuri sa isang bisikleta bago mo ito sakyan; kung nakita mong maluwag ang preno o flat ang gulong, ayusin mo. Katulad nito, nakakatulong ang pagsubok na ayusin ang mga pagkakamali bago ang isang tao ay masaktan o mabigo ang programa. Tinitiyak ng proseso ng pagsubok na ang mga user ay may maganda at maayos na karanasan.
Mayroong iba't ibang paraan upang subukan ang software. Sinusuri ng bawat uri ng pagsubok ang programa mula sa ibang anggulo. Narito ang ilang uri:
Sa pamamagitan ng pagsuri sa bawat bahagi at pagkatapos ng kabuuan, tinitiyak namin na ang programa ay mananatiling malakas at walang error.
Ang mga taong gumagawa ng software testing ay tinatawag na mga tester. Ang kanilang trabaho ay tingnang mabuti ang programa at hanapin ang anumang bagay na hindi tama. Nagtatrabaho sila tulad ng mga detective. Kapag nakakita ng pagkakamali ang isang tester, sasabihin nila sa taong sumulat ng programa. Pagkatapos ay inaayos ng programmer ang pagkakamali. Minsan sinusuri ng tester ang pag-aayos upang matiyak na maayos ang lahat ngayon.
Sinusunod ng mga tester ang malinaw na hakbang kapag sinubukan nila ang isang computer program. Narito ang ilang mahahalagang hakbang na bumubuo sa pagsubok:
Ang mga hakbang na ito ay tumutulong sa mga tester na makahanap ng mga pagkakamali nang maaga at gawing mas mahusay ang software para sa lahat. Ang bawat hakbang ay simple at maingat na binalak, tulad ng pag-aayos ng iyong mga gamit sa silid-aralan bago simulan ang isang proyekto.
Mayroong dalawang pangunahing paraan upang gawin ang pagsubok ng software. Ang unang paraan ay manu-manong pagsubok, at ang pangalawang paraan ay awtomatikong pagsubok.
Ang parehong mga pamamaraan ay tumutulong sa paghuli ng mga pagkakamali. Minsan ang mga tester ay gumagamit ng mga automated na tool upang suriin ang maraming maliliit na detalye nang napakabilis habang ang tester ay nanonood upang makita kung anumang hindi inaasahang mangyayari.
Sa pagsubok ng software, magandang malaman ang ilang mahahalagang salita. Narito ang ilang karaniwang termino na ipinaliwanag sa simpleng paraan:
Ang mga salitang ito ay nakakatulong sa mga tester at developer na magsalita tungkol sa kanilang trabaho nang malinaw. Kapag ang lahat ay gumagamit ng parehong mga salita, mas madaling maunawaan kung ano ang kinakailangan upang gumana ang isang programa.
Isipin na nagtayo ka ng isang tore ng mga bloke. Bago mo ipakita ang iyong tore sa iyong pamilya, itinulak mo ito nang marahan upang makita kung nananatiling malakas ito. Kung bumagsak ang tore, alam mong nangangailangan ito ng karagdagang suporta. Ang pagsubok ng software ay ganoon din. Bago ilabas ang isang laro o app, itinutulak ito ng mga tester sa maraming paraan upang makita kung mananatili itong malakas. Maaari silang mag-click sa maraming mga pindutan o gamitin ang program sa mga hindi pangkaraniwang paraan upang makita kung ito ay masira. Kapag natagpuan ang mga pagkakamali, inaayos ng mga taong bumuo ng programa ang mga ito, tulad ng pagtatayo mo muli ng iyong tore na may mga karagdagang bloke para sa suporta.
Marami sa mga bagay na ginagamit mo sa isang tablet o isang computer ay dumaan sa pagsubok ng software. Halimbawa, isipin ang tungkol sa isang video game. Bago ibigay ang laro sa mga bata, nilalaro ito ng mga tester nang maraming beses. Sinusuri nila kung gumagana nang tama ang bawat antas, kung maayos na gumagalaw ang mga character, at kung tumutugtog ang tunog sa tamang oras. Kung nalaman ng isang tester na ang isang button ay nagpapatalon sa character nang dalawang beses o hindi, nagpapadala sila ng tala sa developer upang ito ay maayos.
Dumadaan din sa pagsubok ang mga mobile app. Isipin na mayroon kang isang app upang matuto ng mga titik at numero. Ang isang tester ay mag-tap sa lahat ng mga titik upang makita kung ang mga ito ay lalabas nang tama at kung ang mga tunog ay tumutugma sa mga larawan. Tinitiyak ng maingat na pagsusuring ito na ang bawat bata na gumagamit ng app ay maaaring matuto nang walang anumang problema.
Ang pagsubok ng software ay bahagi ng mas malaking proseso ng paggawa ng mga program sa computer, na kilala bilang Software Development Life Cycle (SDLC). Ang bawat programa ay nagsisimula sa isang ideya. Ang mga developer ay nagpaplano, nagdidisenyo, bumuo, sumubok, nagbabahagi, at nagpapahusay sa programa. Nangyayari ang pagsubok pagkatapos maisulat ang code. Ito ay isang mahalagang hakbang na tinitiyak na ang ideya ay magiging totoo. Tulad ng maaari mong suriin ang iyong trabaho bago ito ibigay sa iyong guro, sinusuri ng pagsubok ang bawat bahagi ng programa bago ito makarating sa mga user.
Ang cycle na ito ay umuulit dahil kahit na matapos ang isang programa ay ibinahagi, kung minsan ay matatagpuan ang maliliit na pagkakamali. Ang mga developer ay ginagawa itong mas mahusay. Ito ay katulad ng kapag kinulayan mo ang isang larawan, pagkatapos ay tumingin muli upang magdagdag ng mga karagdagang detalye o ayusin ang isang bahagi na mukhang iba.
Ang pagsubok sa software ay hindi ginagawa ng isang tao lamang. Ito ay pagsisikap ng pangkat. Ang mga tagasubok at developer ay malapit na nagtutulungan. Isinulat ng mga developer ang program, at maingat itong sinusuri ng mga tagasubok. Kapag nakahanap ng bug ang mga tester, sasabihin nila sa mga developer para maayos ito. Pagkatapos, muling suriin ng mga tagasubok upang matiyak na ang pag-aayos ay hindi nagdulot ng anumang iba pang mga problema. Tinitiyak ng pagtutulungang ito na ang programa ay ang pinakamahusay na magagawa nito.
Ang prosesong ito ay tulad ng paggawa sa isang malaking art project kasama ng iyong mga kaklase. Ang isang kaibigan ay maaaring gumuhit ng isang larawan habang ang isa ay tumutulong sa mga kulay. Sa pamamagitan ng pagbabahagi ng mga ideya at pagsuri sa gawain ng bawat isa, ang grupo ay makakagawa ng isang magandang proyekto nang magkasama.
Isipin na mayroon kang checklist na ginagamit mo tuwing umaga bago umalis papuntang paaralan. Maaaring kasama sa iyong checklist ang: magsipilyo ng iyong ngipin, kumain ng almusal, mag-empake ng iyong bag, at magsuot ng sapatos. Kung nakalimutan mo ang isang hakbang, babalik ka at gawin ito ng maayos. Ang pagsubok ng software ay gumagana sa katulad na paraan. Ang mga tagasubok ay may checklist na tinatawag na mga test case. Dumadaan sila sa programa nang hakbang-hakbang. Kung may nawawala o hindi gumagana, tandaan nila ito at hinihiling sa mga developer na ayusin ito. Ang step-by-step na diskarte na ito ay nakakatulong na mahuli ang bawat maliit na pagkakamali at tinitiyak na kumpleto ang lahat.
Sa ilang mga kaso, ang pagsubok ay maaaring gawin ng mga computer. Gumagamit ang awtomatikong pagsubok ng mga espesyal na tool na nagpapatakbo ng mga pagsubok nang mag-isa. Ang mga tool na ito ay sumusunod sa mga tagubiling isinulat ng mga tester. Ginagawang posible ng awtomatikong pagsubok na suriin ang maraming bagay sa maikling panahon. Ito ay tulad ng pagkakaroon ng isang katulong na robot na mabilis na nag-aayos ng iyong silid habang masaya kang naglalaro. Ang mga awtomatikong pagsusuri ay nakakahanap ng mga pagkakamali na maaaring mahirap makita sa pamamagitan lamang ng pagtingin. Tumutulong sila na gawing mas mabilis at mas maaasahan ang pagsubok.
Ang mga benepisyo ng automated na pagsubok ay nagiging mas mahalaga kapag ang isang programa ay naging napakalaki. Kapag maraming bahagi sa isang programa, ang manu-manong pagsuri sa bawat bahagi ay magtatagal. Nagagawa ng mga computer ang mga trabahong ito nang napakabilis, na nagbibigay-daan sa mga tagasubok na gumugol ng mas maraming oras sa mga bahaging nangangailangan ng karagdagang pansin.
Bawat taon, nagpapabuti ang pagsubok ng software gamit ang mga bagong tool at mas mahuhusay na pamamaraan. Gumagamit ang mga tester ng mga matalinong computer na natututo at tumutulong sa iyong suriin kung may mga pagkakamali. Nakakatulong ang mga pagpapahusay na ito na gawing mas ligtas na gamitin ang mga laro, app, at system. Sa hinaharap, maaaring gumamit ng mas malikhaing paraan ang pagsubok ng software, tulad ng artificial intelligence, upang makakita ng mga problema bago maging malalaking isyu ang mga ito.
Ang mga pagsulong na ito ay nangangahulugan na ang mga programang ginagamit namin araw-araw ay patuloy na magiging mas mahusay at mas masaya. Nakakatulong din ang mga bagong ideya para sa pagsubok na tiyaking handa na ang bagong teknolohiya para sa lahat. Kahit na nagiging mas kumplikado ang mga programa, ang pagsubok ay nananatiling pangunahing hakbang sa pagtiyak ng kalidad at kakayahang magamit.
Sa araling ito, natutunan namin na ang pagsubok ng software ay parang pagsuri sa iyong araling-bahay o pag-verify na ang bawat piraso ng puzzle ay akma nang tama. Ito ay isang maingat at mahalagang hakbang sa pagtiyak na ang mga programa sa computer ay ligtas, masaya, at gumagana sa paraang nararapat. Ang ikot ng buhay ng pagbuo ng software ay nagbibigay sa amin ng isang buong larawan kung paano ginawa ang isang programa, at ang pagsubok ay ang pangunahing hakbang na nagpapatakbo ng lahat ng maayos.
Sa pamamagitan ng paggamit ng mga simpleng tool tulad ng mga checklist at pagtutulungan bilang isang team, nakakatulong ang mga software tester na lumikha ng mas magandang karanasan para sa lahat. Naglalaro ka man o gumagamit ng app para matuto, tinitiyak ng gawaing ginagawa ng mga tester na mayroon kang ligtas at maaasahang produkto. Tulad ng sa iyong pang-araw-araw na buhay kapag sinusuri mo ang iyong gawa bago ito ipakita sa isang tao, sinusuri ng mga tester ang mga programa bago nila kami maabot.
Ang araling ito ay nagpapakita kung paano ang pagsubok ay hindi lamang para sa mga computer ngunit bahagi rin ng maraming pang-araw-araw na gawain. Mula sa pagsuri ng mga gamit sa paaralan hanggang sa pag-verify na ligtas na sakyan ang isang bisikleta, nakikita natin kung gaano kahalaga na suriing mabuti ang ating trabaho. Ang pagsubok sa software, bagama't tila isang maliit na hakbang, ay gumaganap ng isang malaking papel sa pagtiyak na ang lahat ng mga program na gusto mo ay mananatiling kasiya-siya at walang error.
Tandaan, sa tuwing gagamitin mo ang iyong paboritong app o maglalaro ng nakakatuwang laro, isang team ng mga dedikadong tester at developer ang nagsumikap upang matiyak na perpekto ang lahat. Ang kanilang maingat na trabaho at atensyon sa detalye ang ginagawang ligtas at masaya ang iyong digital na mundo. Sa ganitong pag-unawa, maaari mong pahalagahan ang kahalagahan ng pagsuri at pag-aayos ng mga pagkakamali, anuman ang iyong gawin—ito man ay isang computer program o iyong takdang-aralin.
Sa konklusyon, ang pagsubok ng software ay ang aming pagsusuri sa kalidad sa digital world. Tinitiyak nito na ang mga ideya ay magiging katotohanan nang walang mga pagkakamali. Tulad ng pagbabasa nang mabuti sa iyong libro o paglilinis ng iyong silid sa pamamaraang paraan, ang bawat maliit na tseke ay mahalaga. Tinitiyak ng step-by-step na diskarte na ito na gumagana ang teknolohiya sa mga paraan na ligtas, maaasahan, at kasiya-siya para sa lahat.