Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ
  • në shtëpi
  • Windows 7, XP
  • Testim pozitiv dhe negativ. Të menduarit pozitiv në botën e testimit negativ Cili test është negativ

Testim pozitiv dhe negativ. Të menduarit pozitiv në botën e testimit negativ Cili test është negativ

Përkthim falas i artikullit "Top 10 Negative Test Cases" nga Steve Miller.

Rastet negative të testimit përdoren për të kontrolluar performancën e një aplikacioni nëse ai merr të dhëna "të pasakta" në hyrjen e tij. Raste të tilla testimi duhet të përdoren gjatë testimit. Më poshtë janë dhjetë rastet më të njohura të testeve negative:

Kuota e vetme e ngulitur - Shumica e bazave të të dhënave SQL kanë probleme me kuotat e vetme në pyetje (për shembull, makina e Jones).
Përdorni thonjëza të vetme kur vërtetoni çdo fushë të hyrjes së bazës së të dhënave.

Hyrja e të dhënave të kërkuara - Në specifikimin e aplikacionit tuaj, fushat që kërkojnë futjen e detyrueshme të të dhënave duhet të përcaktohen qartë.
Sigurohuni që formularët që kanë fusha të përcaktuara sipas nevojës nuk mund të ruhen nëse nuk përmbajnë të dhëna.

Llojet e të dhënave në terren (Testi i llojit të fushës) - Specifikimi i aplikacionit tuaj duhet të përcaktojë qartë llojet e të dhënave për secilën nga fushat (fushat e datës / orës, fushat numerike, fushat për futjen e një numri telefoni ose kodi postar, etj.)
Sigurohuni që secila prej fushave ju lejon vetëm të futni ose ruani të dhëna të një lloji të caktuar (për shembull, një aplikacion nuk duhet t'ju lejojë të vendosni ose ruani shkronja ose karaktere speciale në fushat numerike).

Testi i madhësisë së fushës - Specifikimi i aplikacionit tuaj duhet të përcaktojë qartë numrin maksimal të karaktereve të lejuara në secilën prej fushave (për shembull, numri i karaktereve në një fushë të emrit të përdoruesit nuk duhet të kalojë 50).
Sigurohuni që aplikacioni të mos lejojë futjen ose ruajtjen e më shumë karaktereve sesa specifikimi. Mos harroni se këto fusha jo vetëm që duhet të funksionojnë siç duhet, por edhe të paralajmërojnë përdoruesin për kufizimet, për shembull, duke përdorur etiketa shpjeguese ose mesazhe gabimi.

Testi i kufijve numerikë - Fushat numerike në aplikacionin tuaj mund të kenë kufizime të vlerës numerike. Këto kufizime mund të tregohen në specifikimin e aplikacionit tuaj ose të rrjedhin nga logjika e programit (për shembull, nëse jeni duke testuar funksionalitetin në lidhje me përllogaritjen e interesit në llogari, atëherë do të ishte mjaft logjike të supozohet se interesi i përllogaritur nuk mund të marrë një vlerë negative).
Kontrolloni që aplikacioni të lëshojë një mesazh gabimi nëse vlerat janë jashtë intervalit të vlefshëm (për shembull, një mesazh gabimi duhet të shfaqet kur futni 9 ose 51 në një fushë me një diapazon të vlefshëm nga 10 deri në 50, ose kur vendosni një vlerë negative në një fushë, vlerat e së cilës duhet të jenë pozitive).

Testi i kufijve numerikë - Shumica e bazave të të dhënave dhe gjuhëve të programimit përcaktojnë vlerat numerike si variabla me një lloj (për shembull, numër i plotë ose i gjatë), të cilat, nga ana tjetër, kanë kufizime në vlerat numerike të vlefshme (për shembull, vlerat e numrave të plotë duhet të jetë në intervalin -32768 deri në 32767, dhe numër i plotë i gjatë nga -2147483648 në 2147483647).
Kontrolloni vlerat kufitare të variablave të përdorur, për fushat numerike, vlerat kufitare të të cilave nuk janë të përcaktuara qartë nga specifikimi.

Testi i kufijve të datës - Shumë shpesh në aplikacione ka kufizime logjike për fushat që përmbajnë datë dhe orë. Për shembull, nëse jeni duke kontrolluar një fushë që përmban datën e lindjes së përdoruesit, atëherë do të ishte mjaft logjike të ndaloni futjen e një date që nuk ka ardhur ende (dmth. një datë në të ardhmen), ose një kufizim në futjen e një date. që ndryshon nga e sotmja me më shumë se 150 vjet.

Data e vlefshmërisë - Fushat e datës duhet të kenë gjithmonë një kontroll për vlefshmërinë e vlerave të futura (për shembull, 31/11/2009 nuk është një datë e vlefshme). Gjithashtu, mos harroni të kontrolloni datat në një vit të brishtë (vitet që janë shumëfish të 4 m dhe shumëfisha të 100 dhe 400 në të njëjtën kohë janë vite të brishtë).

Testimi i sesionit në ueb - Shumë aplikacione ueb përdorin sesione të shfletuesit për të gjurmuar përdoruesit e identifikuar, për të aplikuar cilësime specifike të aplikacionit për një përdorues të caktuar, etj. Në të njëjtën kohë, shumë pjesë funksionale të sistemit nuk mund ose nuk duhet të funksionojnë pa u kyçur më parë në sistem. Sigurohuni që funksionaliteti ose faqet pas fjalëkalimit të mos jenë të aksesueshme nga një përdorues i paautorizuar.

Shumë i shqetësuar për cilësinë e produkteve. Kjo shpjegon disponueshmërinë mbarëbotërore të testuesve të softuerit. Duke ofruar, këta njerëz sigurojnë cilësinë e tij.

Shumë testues nuk do të harrojnë kurrë testimin negativ, megjithëse jo të gjithë programuesit janë të kënaqur me të. Një kontroll i tillë është i nevojshëm për t'u mbrojtur kundër hakerëve, robotëve, sulmeve Dos / DDos.

Cili është profesioni i profesionistëve të testimit? Ata duhet të gjejnë probleme që nuk janë të dukshme për të tjerët. Mos e vononi testimin negativ, ose po e vendosni sistemin në rrezik.

Testim pozitiv dhe negativ

Le të fillojmë nga fillimi. Ekzistojnë 2 lloje të kontrollit kur testet përfshihen në testim: pozitiv dhe negativ. Ky i fundit ka avantazhin.

Testim pozitiv Është një proces kontrolli për sjellje korrekte sipas kërkesave teknike dhe dokumentacionit. Testimi pozitiv bëhet për të siguruar që sistemi të bëjë pikërisht atë që pritet.

Testim negativ Është procesi i kontrollit për sjellje të pahijshme. Gjatë një testimi të tillë, mund të zbulojmë se sistemi do të përballet me situata të paparashikuara.

Testimi pozitiv-negativ

Për të kryer testimin e softuerit, duhet të keni intuitë ose instinkt gjuetie. Një specialist testimi është një person i gjithanshëm, i cili mund të kryejë analiza dhe testime të biznesit.

Testuesit kontrollojnë nëse procesi po funksionon siç duhet: nëse ka përputhje me kërkesat teknike dhe skenarët e testimit. Bërja e testimit pozitiv dhe negativ veç e veç do të zgjasë më shumë sesa bërja e të dyjave në të njëjtën kohë. Kjo për shkak se ka dy përsëritje testimi.

Në fund të fundit, sa më afër orës X, aq më shpejt kalon koha dhe aq më shpejt duhet të përfundoni detyrat, të rregulloni defektet, të aplikoni kërkesat e biznesit (të cilat mund të ndryshojnë) dhe më shumë për të bërë. Afati është koha më e nxehtë!

Ndarja e testimit negativ dhe pozitiv thjesht bie ndesh me natyrën e një testuesi! Detyra e tij është të kontrollojë sistemin për të gjitha veprimet e mundshme të përdoruesit përfundimtar.

Njerëzit janë kryesisht të palogjikshëm dhe mund të provokojnë probleme me softuerin. Testimi negativ mund të ndihmojë në shmangien e problemeve.

Iiiiiiii ... Kjo është hyrja e fundit nga cikli! Është më e shkurtra, më e thjeshta dhe pothuajse tërësisht përbëhet nga histori reale. Nëse është e mundur - marrëzi qesharake. Ekziston edhe një video e xhiruar posaçërisht për regjistrim pikërisht në momentin e shkrimit. Svezhachok-s. Fatkeqësisht, nuk mendova të bëja një pamje nga ekrani me një mesazh në lidhje me përplasjen e klientit të Youtube, do të kishte funksionuar. Ra në rregull kur plotësoni videon që është futur në artikull. Mirë, le të kemi ekranin tim të kyçjes.

Në fillim të testimit, pavarësisht nëse është një projekt i ri apo ai që duhet të ishte varrosur tashmë, në përgjithësi është gjithmonë e qartë se ku të fillohet. Nëse, sigurisht, në kohën kur filloi testimi, asnjë nga hallkat në zinxhir nuk funksionoi. Zakonisht testuesit lexojnë kërkesat dhe dokumentet e tjera me emra jo rusë, si "BBC", "EsArki" dhe "Historia e përdoruesit" dhe kuptojnë se si të shkruajnë një rast testimi në mënyrë që të kontrollojë përmbushjen e të gjitha këtyre dokumenteve. E gjithë kjo është e qartë, në sipërfaqe, dhe nuk ka kuptim të ndalemi në këtë. Por ka edhe sjelljen e vetë Android-it, për të cilën ndonjëherë jo vetëm analistët, por edhe arkitektët dhe disa zhvillues nuk e dinë. Dhe duke kujtuar se, vetëm me porosi, shfaqen mjaft tipare të tilla. Dhe nuk po flas për skenarë stresues, kur nuk ka memorie ose bateria është hequr papritmas (në një farë mënyre takova indinjatën e një personi në terminalin GNU / Linux se ai nuk tregon fjalëkalimin kur shkruan, por ka një buggy tastierë dhe ai nuk e kupton nëse po fut një fjalëkalim apo kjo tastierë nuk funksionon përsëri), por për sjelljen e paracaktuar të personalizimit të Android dhe madje edhe sjelljen e ngulitur në AOSP. Kjo do të thotë, sjelljet standarde të sistemit që mund të ndikojnë negativisht në produktin nën provë. Të ashtuquajturit skenarë negativë.


Do të përshkruaj shkurtimisht disa nga skenarët negativë dhe do të përpiqem të jap shembuj konkretë.

  • Problemet e komunikimit. Shembulli më i thjeshtë është Fly Mode. Për shembull, aplikacioni i shënimeve Google Keep ose nuk u testua në modalitetin e fluturimit, ose gabimet e gjetura nuk ndikuan në lëshimin. Është shumë e lehtë të riprodhosh problemin:
    • Aktivizo modalitetin e fluturimit
    • Prekni në linjë Merrni një shënim ...
    • Në ekranin që shfaqet, kryeni veprimin Fshij
    • Shijoni animacionin kornizë për kornizë të lëvizjes së shënimeve të ruajtura më parë


Përveç modalitetit Fly, ekziston një lidhje e paqëndrueshme me humbje pakete, dhe një lidhje shumë e ngadaltë, dhe porta të mbyllura përmes të cilave funksionon aplikacioni juaj dhe një lidhje Wi-Fi, por pa qasje në internet.
  • Nuk ka qasje në dyqanin e aplikacioneve... Për shembull, për të testuar blerjet brenda aplikacionit, duhet që montimi të ngarkohet në dyqan në një seksion të veçantë. Nëse nuk është aty, ose nuk ka të njëjtin version (po flasim për kodin e versionit - versionin e brendshëm), atëherë nuk do të testoni blerjet tuaja. Nëse një përdorues fluturoi me pushime në Kinë, ku gjithçka është shumë e trishtuar me lidhjen me Google Play, ai nuk duhet të humbasë licencën për të cilën ka paguar para.
  • Funksionimi i aplikacionit me leje të kufizuara nëse Niveli i Target API është nën 23, domethënë nën Android 6 dhe kur versioni i API është 23 e lart. Në rastin e parë, aplikacioni është i trashëguar, por ju ende mund t'i hiqni lejet. Në rastin e dytë, ajo ende do të fillojë të marrë përjashtime të reja, të cilat nuk i dinte më parë.
  • Modaliteti i kursimit të baterisë... Zbatimi i Doze dhe App Standby, si dhe zbatimet alternative të prodhuesve të talentuar alternativë si Samsung (dhe STAMINA nga Sony në versionin e parë), kur gjithçka zbatohet tmerrësisht gabim, por duhet të jetosh me të. Është e lejuar që një aplikacion të mos kryejë kontrolle në kohë, të mos dërgojë statistika ose të mos përditësojë të dhëna. Por nuk lejohet të përplasesh, të ngrish, të mos kryesh kurrë detyra të planifikuara.
  • Ndryshoni datën, kohën, zonën kohore... Njerëzit mund të fluturojnë për pushime dhe udhëtime pune në vende të tjera ku zona kohore është e ndryshme. Nëse aeroplani kalon meridianin e 180-të, atëherë përdoruesi mund të hyjë "në dje" nga pikëpamja e aplikacionit.

    Historia e vërtetë e dështimit. Kontrollet prindërore në KIS për Windows u shfaqën në versionin 7.0 në 2006. Në të njëjtën kohë, në produkt kishte një agjent lajmesh të integruar, aspak njësoj si tani. Nëpërmjet tij supozohej se do të dërgoheshin lajme të ndryshme për kërcënime, lloj-lloj “çka ka të re” e të ngjashme. Versioni i lëshimit, i cili ishte instaluar tashmë nga përdoruesit, kishte një gabim. Nëse e vendosni përsëri kohën në Windows, para fillimit të licencës, mbrojtja është çaktivizuar. Në mënyrë të rreptë, jo-administratorët nuk mund të ndryshojnë kohën, por 10 vjet më parë, kompanitë nuk monitoronin veçanërisht të drejtat e përdoruesve dhe çdo kontabilist ishte një administrator lokal atje. Një nga klientët tanë në zyrën e tij të vogël vendosi kontrollet prindërore në mënyrë që përdoruesit të mos mund të lundronin në internet, përveç faqeve të lejuara. Cilësimet e konfiguruara dhe të mbrojtura me fjalëkalim të Drakonovski. Gjithçka funksionoi mirë derisa agjenti i integruar i lajmeve iu dërgua lajmi se ishte koha për të përmirësuar në versionin e ri 7.0.1 ku, ndër të tjera, u fiksua një gabim që çaktivizon mbrojtjen kur koha kthehet mbrapsht përpara fillimit të licencën. Përdoruesi lexoi lajmet, u kënaq dhe çaktivizoi mbrojtjen duke përdorur metodën e propozuar. Disa ditë më vonë, kjo histori prej tij erdhi në bash.org.ru. Që atëherë, lajme të këtij lloji nuk kanë ardhur më për përdoruesit.

    Dhe mos mendoni se ai nuk bën gabime të tilla. Kujtoni historinë me iOS, e cila ndodhi këtë vit, megjithëse kishte vetëm 3 muaj nga fillimi i vitit ( Shënim: po, ky është një leksion mjaft i vjetër, kam dashur ta postoj prej kohësh). Telefonat ndërpriteshin nëse koha i afrohej fillimit të kohës unix. Dhe si e rregulloi Apple këtë defekt? Ata ndaluan lëvizjen e kohës më larg se data kritike, e cila NUK ishte një zgjidhje për problemin. Sulmuesit filluan të vendosin pikat e tyre të nxehta Wi-Fi me emra që zakonisht gjenden në të gjitha McDonald's dhe nëpërmjet tyre transmetojnë kohë false. Pajisjet u lidhën automatikisht me pika të tilla dhe zbuluan serverët NTP, nga të cilët kërkuan kohën. Apple ka zakon të sigurojë që iOS të mos përdor serverë të rremë NTP. Kështu, iOS u ringjall përsëri.

  • Ndryshimi i vendndodhjes së sistemit, gjuhës së ndërfaqes... Përdoruesi ka të drejtë të ndryshojë gjuhën e sistemit njëqind herë në ditë dhe askush nuk mund ta ndalojë atë për ta bërë këtë. Detyra e testuesit është të sigurohet që produkti, së pari, të reagojë saktë ndaj kësaj (e ndryshon gjuhën në atë të kërkuar automatikisht), dhe së dyti, ai nuk rrëzohet fare. Përveç vendndodhjes, përdoruesi ka të drejtë të ndryshojë shkronjat dhe kunjat, duke zgjedhur ato që janë të rehatshme për të për t'u lexuar. Aplikacioni nuk duhet të zvarritet kur përdoruesi bën ndryshime të arsyeshme.
  • Tapjaking... E përmenda këtë që në leksionin e parë. Më lejoni t'ju kujtoj se ky është përgjimi i kasetave që pranon aktivizimi i aplikacionit A, ndërkohë që përdoruesi përpiqej të arrinte tek aplikacioni B. Vetëm aktivizimi i aplikacionit A është transparent. Duket se nuk është një zgjidhje e sigurt e Google, por kjo është mënyra se si funksionojnë aplikacionet e kontrollit të ndriçimit dhe temperaturës së ngjyrave në pajisje. Përdoruesit janë të kënaqur me aplikacione të tilla dhe meqenëse Android i lejon ata të punojnë pa rrënjë, kjo duhet të merret parasysh. Për shembull, nëse keni një aplikacion që përdor kodin ose, le të themi, një fotografi për autorizim, duhet të përdorni mbrojtjen kundër tapjacking, për shembull, të vendosni filterTouchesWhenObscured në true.
  • Thirrja e Aktivitetit direkt... Unë kam folur tashmë për këtë, por do ta përsërisim. Aktiviteti është një nga pikat hyrëse në aplikacion. Është krejtësisht e pranueshme që të ketë disa aktivitete të ndryshme që mund të thirren nga aplikacione të jashtme, nuk e dini kurrë pse. Këto do të jenë aktivitete të eksportuara. Por mund të ndodhë që për të thirrur ndonjë aktivitet, duhet t'i kaloni parametra. Dhe një aplikacion i palës së tretë nuk do t'i transferojë ato. Në rastin më të mirë, përdoruesi do të shohë një lloj ekrani të shtrembër, në rastin më të keq, aplikacioni juaj do të rrëzohet. Pra, nuk duhet, si të thuash, të shkëlqesh bythën tënde pa nevojë. Si parazgjedhje, flamuri i eksportuar është vendosur në true dhe nëse jeni i sigurt se aplikacionet e jashtme nuk duhet t'i thërrasin ato, duhet ta vendosni në false. Epo, testuesi duhet të kontrollojë se si do të sillet aplikacioni nëse thirret nga aplikacione të tjera.
  • Vrasës i sistemit... Në përgjithësi quhet OOM Killer - Out Of Memory Killer. Sistemi fillon KILLING nëse aplikacioni me të cilin përdoruesi po ndërvepron në këtë moment të caktuar nuk ka memorie të mjaftueshme për të punuar. Sigurisht, vrasësi nuk është budalla, i bindet algoritmeve të caktuara, duke zgjedhur objektiva (për shembull, sistemi do të vrasë lehtësisht shërbimin e sfondit, por deri në momentin e fundit ai do të ruajë shërbimin në plan të parë; shërbimi në plan të parë është zakonisht ai që tërheq ikona në zonën e njoftimit, për shembull, luajtësi ), por thelbi është si më poshtë. Si rregull, në pajisjet moderne, OOM Killer nuk është shumë i ashpër. Tani memoria është vendosur nga një gigabajt e lart. Por kjo nuk vlen për lojërat. Lojërat janë kaq të rënda, konsumojnë aq shumë memorie sa sado ta plotësoni, do të jetë sërish e vogël. Dhe në përgjithësi, sa më shumë RAM të vendosin në pajisje, aq më të trashë do të jenë aplikacionet dhe lojërat do të jenë më të majme. Në të njëjtën kohë, ato do të mbeten të njëjta të mërzitshme dhe të panevojshme.

    Në fund të fundit është se produkti juaj është i garantuar të bjerë nën OOM Killer. Detyra juaj është të siguroheni që të mos ju çojë askund dhe produkti të ngrihet sapo SSBBM të shembet nga sistemi (nëse kërkohet nga produkti, sigurisht). Dhe sistemi do ta bëjë sa më shpejt të jetë e mundur, nuk do të lejojë që një SSBBW e tillë të jetojë në sfond.
    Një tjetër avantazh është se aplikacioni juaj nuk duhet të jetë as një SSBBW. Çdo rrjedhje duhet të zbulohet nga zhvilluesi përpara se të shkruajë kodin e vërtetë. Testet tuaja të performancës duhet patjetër të kenë skriptet e vërtetimit kur majmuni gjeneron një ton ngjarjesh. Nëse kodi është shkruar mirë, atëherë mbledhësi i mbeturinave do të çlirojë memorien dhe sistemi nuk do ta vrasë procesin e aplikimit. Nëse gjithçka është e keqe dhe aplikacioni rrjedh nga të gjitha çarjet, sistemi do ta shkrepë atë. Natyrisht, pas kësaj do të fluturojë përsëri lart dhe nuk do të ketë më memorie, sepse pas vrasjes së procesit, mbledhësi i plehrave pastron gjithçka, por nëse mashtrimi tregoi se aplikacioni rrjedh në testin e tij në 15 minuta, atëherë përdoruesi ka këto rrjedhje, edhe pse më vonë, por kjo është ajo.

  • Të dhëna të mëdha... Nëse aplikacioni juaj punon me të dhënat e përdoruesit, përgatituni për faktin që përdoruesi ushqen diçka shumë të madhe pa ndonjë mendim të dytë. Për shembull, si përdorues, pres që klienti i Youtube-it të shkarkojë videon time, pavarësisht sa e rëndë është kjo video. Pres që arkivi të futet në çdo thellësi të arkivit, i cili peshon 5 herë më shumë se i gjithë RAM-i i disponueshëm i pajisjes. Kjo është mirë. Nëse dikush ju thotë se "askush nuk do të ushqejë kurrë skedarë kaq të mëdhenj", atëherë ka shumë të ngjarë që folësi nuk është thjesht një zhvillues shumë i mirë.
  • Situata më budalla dhe për rrjedhojë qesharake që shkakton mosfunksionimin e aplikacionit, deri në një përplasje, është e thjeshta. rrotullimi i ekranit... Sa rënie të tilla u identifikuan gjatë fazës së testimit! Sidomos nëse shfaqet një dritare kërcyese. Në dritaret kërcyese, një testues me përvojë fillon menjëherë të rrotullojë telefonin! Ndodhi gjithashtu që i gjithë ekipi të testonte produktin vetëm në telefona, ku u bllokua rrotullimi i ekranit për aplikacionin. Dhe më pas, kur tabletat u futën, doli që në tableta aplikacioni bie pothuajse në çdo ekran. Por për shkak se fragmentet. Kishte ndërfaqe të ndryshme në ekran dhe në telefon dhe keqpërdorimi i fragmenteve çoi në një përfundim të trishtuar.
  • Tapas të dyfishtë, të trefishtë... Për disa arsye, disa njerëz besojnë se askush nuk bën kaseta të shumta në elementët e ndërfaqes. Por jo! po! Dhe jo sepse jam duke testuar, por sepse mund të kem në duar një telefon të vjetër Android 4.0, i cili tashmë mezi rrotullohet dhe ekrani i tij gjithashtu nuk reagon shumë. Mund të mos jetë e qartë nëse ka pasur një klikim apo jo, dhe ju merrni trokitje të dyfishta. Jo sepse janë "të dyfishta" (në kuptimin, jo ato që bëhen me një interval më pak se një sekondë), por sepse ishin dy ose më shumë të tillë ndërsa aplikacioni ishte "menduar". Për shembull, gjatë formimit të një liste me shumë elementë.
  • Një nga veçoritë e dobishme të Android 6, kur testohet në mënyrë të pamjaftueshme, çon në rezultate të tmerrshme. Në masën që përdorimi i tij është i ndaluar shprehimisht në aplikacion, i cili, për momentin, lejohet nga Google. Kjo veçori - kopje rezervë dhe restaurimi nga rezervimi... Meqë ra fjala, nuk është e re, kopja rezervë u shfaq në Android 2.2, por nuk di ndonjë aplikacion të vetëm që do ta përdorte këtë bun.
    Në vetvete, krijimi i një kopje rezervë dhe rivendosja e tij nuk është e frikshme. Problemet fillojnë nëse produkti përdor një lidhje me ID-në e pajisjes dhe ID-në e instalimit. Edhe brenda së njëjtës pajisje, kjo mund të çojë në probleme, dhe në fund të fundit, rivendosja nga rezervimi lejohet nga vetë Android në çdo pajisje me Android 6 në bord: sistemi rezervon aplikacionet nga pajisja A dhe përdoruesi blen pajisjen B dhe rikthen të gjithë mbi të. Dhe këto aplikacione funksionojnë njëkohësisht në dy pajisje, megjithëse identifikuesit e tyre janë të ndryshëm. Nëse ky është një aplikacion klient-server, ku i gjithë komunikimi bëhet në token, këtu lindin shumë probleme.

    Një shembull luftimi është aplikacioni i lezetshëm Talon për Twitter. Nuk e kam rivendosur pajisjen për një kohë shumë të gjatë dhe për këtë arsye nuk e di nëse autori e ka rregulluar këtë gabim. Kur i thashë për këtë, ai m'u përgjigj pse ndodhi gabimi (edhe pse tashmë e di pse!), Por nuk tha nëse do ta korrigjonte sjelljen. Në përgjithësi, ky aplikacion ka një lloj magjistari instalimi që flet për aftësitë e këtij klienti Twitter, duke kërkuar lejet e nevojshme gjatë rrugës. Gjithçka është e qartë sipas udhëzimeve të Google, që nga shënimet. Kur magjistari i konfigurimit përfundoi dhe u morën lejet e nevojshme, flamuri u ngrit në lidhje me këtë, në mënyrë që të mos përsëritej konfigurimi çdo herë. Dhe aplikacioni u mbështet së bashku me këtë flamur. Së bashku me të, ajo u restaurua. Edhe pse si parazgjedhje për të gjitha aplikacionet e tipit të ri (d.m.th. niveli targetApi> = 23) lejet janë të çaktivizuara. Ju e hapni aplikacionin, por ai nuk mund të funksionojë normalisht. Për shkak se nuk ka kontroll për disponueshmërinë e lejeve, të gjitha kontrollet mbetën në magjistarin fillestar të konfigurimit, i cili nuk filloi sepse flamuri ishte vendosur në "magjistari është kaluar tashmë". Për më tepër, pas nisjes, klienti nuk shkarkoi tweet-et, duke dhënë një tronditje nga vetë Twitter. Sepse shenja e gërmuar nuk ishte e vlefshme në instalimin e ri dhe ishte e nevojshme të kërkohej një të re, dhe kjo kërkesë u bë edhe në magjistarin e instalimit që në hapin e parë!

  • Në Android, duke filluar me versionin (nëse më shërben kujtesa) 2.2.1, u bë e mundur zhvendosni një pjesë të të dhënave të aplikacionit në kartën e kujtesës... Pak nga pak ata filluan ta therin këtë mundësi, derisa në Android 6 Google i dha një jetë të dytë, duke e përmirësuar ndjeshëm. Nëse prodhuesi i pajisjes në zakonin e tij nuk e ka thyer sjelljen e AOSP në këtë situatë, atëherë sapo Android zbulon kartën e kujtesës, ai ofron të bëjë një zgjedhje nëse përdoruesi ndonjëherë do ta tërheqë atë apo jo. Nëse përdoruesi thotë se nuk planifikon ta çaktivizojë, atëherë Android e formaton kartën në sistemin e tij të skedarëve dhe e lidh atë si pjesë të memories kryesore, duke lejuar që aplikacionet të instalohen atje. Dhe këtu janë disa gracka:
    • Nëse aplikacioni përdor shtigje të koduara, atëherë gjithçka është zhdukur. Por kjo është një formë aq e keqe sa shpresoj që askush të mos e bëjë.
    • Nëse aplikacioni i kërkoi sistemit për shtigje në fillimin e parë dhe i gërmoi ato përgjithmonë, atëherë do të jetë saktësisht njësoj si me kodin e fortë.
  • Ndërsa aplikacionet përditësohen, përdoruesit do të marrin versione të reja nga dyqani i aplikacioneve dhe do t'i vendosin ato në krye të atij ekzistues. Kjo është arsyeja pse duke kontrolluar përditësimin e aplikacionit në një version të ri- skenar i detyrueshëm. Në një situatë normale, gjithçka duhet të jetë në rregull, por kur duhet të mbështesni shumë pajisje specifike me sjelljen tuaj specifike, formati i cilësimeve mund të ndryshojë. Kjo pothuajse kurrë nuk çon në përplasje, nëse kodi është shkruar pak a shumë mirë, trajton përjashtime të ndryshme. Por thjesht humbja e disa prej cilësimeve është e keqe. Për shembull, ne patëm një situatë kur përdoruesit formuan një listë antispam për muaj të tërë, duke bllokuar numra taksish, bankash, shërbime grumbullimi dhe më pas, pas përditësimit në një version të ri, të gjitha listat humbën. Pikërisht sepse formati i cilësimeve ka ndryshuar dhe pikërisht këtu, pikërisht në këtë vend, cilësimet nuk janë lexuar nga versioni i ri i produktit.
  • Përveç përditësimit të produktit në një version të ri, ekziston një opsion më i rrallë, por shumë më i fortë - përditësimi i vetë firmuerit në një version të ri, por me një produkt që funksionon. Unë do të jap një shembull të dy rasteve, njërën prej të cilave e kam treguar tashmë.
    • Përditësimi i zakonshëm i sigurisë për Android 5.1, i cili mori dhe çaktivizoi të gjithë çipat e sistemit operativ gjatë gjithë jetës të përdorur nga aplikacioni
    • Pas përditësimit të Android 4.4 në Android 5.0, shtigjet e aplikacioneve të instaluara ndryshuan. Më parë, aplikacionet e instaluara ruheshin në një shteg të njohur (/data/app/com.package.name.apk). Në një nga produktet tona për qëllime të lidhura me sigurinë e brendshme, ekziston një kontroll se në cilën rrugë është i aksesueshëm aplikacioni i mbrojtur dhe nëse ai ka ndryshuar. Arriti një përditësim në 5.0 dhe shtigjet absolute kanë ndryshuar për aplikacionet e instaluara tashmë (të dhënat / aplikacioni / com.package.name / base.apk). Produkti po rrihte alarmin se aplikacioni ishte komprometuar. E korrigjuar, sigurisht.
Epo, kjo është e gjitha për momentin. Tani po shkruaj një raport për problemet që janë specifike vetëm për versione specifike të Android, vetëm për firmware të veçantë, vetëm për pajisje specifike. Pra, qëndroni të sintonizuar! Megjithatë, disa prej jush tashmë e dinë - ato janë përshkruar pikërisht në këtë seri hyrjesh.
Mirupafshim!

Pse njerëzit kalojnë teste psikologjike? Natyrisht, secili ka motivet e veta. Dikush dëshiron të kuptojë veten dhe "të kuptojë se çfarë jam". Dikush është i etur të konfirmojë mendimin mbizotërues për karakterin e tyre. Dikush thjesht vret kohën e lirë dhe argëtohet. Por të gjithë, megjithëse shpesh pa e kuptuar, domethënë thjesht, duan të dëgjojnë diçka të mirë për veten e tyre. Per cfare? Po, atëherë, gjë që gëzon. Testi që ne ju ofrojmë të kaloni ka të vetmin qëllim - të sjellë një pikë pozitive në gjendjen tuaj aktuale. Në fakt, ky nuk është aspak një test, por diçka si një parashikim pozitiv. Dhe ato, siç e dini, shumë shpesh bëhen të vërteta!

06.10.2018 16947 +67

Dëshironi të dini se si njerëzit e tjerë e perceptojnë emrin tuaj? Shërbimi falas në internet i analizës fonosemantike ju lejon të zbuloni se si një fjalë e veçantë perceptohet në nivelin nënndërgjegjeshëm. Me ndihmën e tij, për shembull, mund të zgjidhni një emër për një fëmijë ose një emër për një kompani.
Zbuloni se si do të ndiheni brenda një muaji! Tani për tani në faqen tonë të internetit ju mund të llogaritni bioritmet tuaja absolutisht falas. Bazuar në rezultatet e llogaritjes, do të merrni rekomandime personale dhe një orar për ndryshimin e bioritmeve për muajin e ardhshëm.
Testet e njohura psikologjike Një numër i madh i testeve psikologjike të njohura për çdo shije. Për meshkuj, për femra, ezoterike, profesionale... Dhe e gjithë kjo online, falas dhe pa regjistrim!

· Testimi i tymit. Në këtë fazë, është e nevojshme të kontrolloni nëse sistemi funksionon fare (nëse funksionon si duhet, nëse i trajton saktë gabimet, etj.). Kjo bëhet për të kuptuar nëse aplikacioni është i përshtatshëm për testime të mëtejshme apo fillimisht nuk funksionon si duhet.

· Testim "pozitiv". Në këtë fazë, duhet të kontrolloni rezultatin e aplikacionit kur ai merr hyrjen "korrekte".

· Testim "negativ". Kjo është faza e fundit e testimit fillestar. Është e nevojshme të shihet se si sillet aplikacioni kur fut të dhëna "të pasakta" në hyrje. Nëse një variant i tillë përshkruhet në specifikim (dhe duhet të përshkruhet), atëherë është e nevojshme të krahasohet rezultati i pritur me atë të marrë.

Në fazën e studimit të specifikimit, përcaktohet se kur dhe si duhet të funksionojë vetë aplikacioni, kur dhe si duhet të reagojë ndaj gabimeve, pra si duhet të reagojë sistemi ose modulet e tij ndaj të dhënave të pasakta ose sjelljes së gabuar të përdoruesit.

Dokumentacioni bën të mundur që të kuptoni vetë fazat kryesore të verifikimit të aplikacionit: ku dhe si duhet të funksionojë saktë aplikacioni, si të trajtohen situatat e gabimit: lëshoni mesazhe gabimi, shkruani një gabim në skedarin e regjistrit, ndaloni ekzekutimin, etj.

1) kontrolloni se si funksionon aplikacioni kur merr të dhëna të sakta;

2) nëse gjithçka funksionon siç duhet siç përshkruhet në specifikim, hapi tjetër është të kontrolloni vlerat kufitare (vlerat minimale dhe maksimale të të dhënave të sakta);

3) kontrolloni funksionimin e aplikacionit kur futni të dhëna që nuk janë në intervalin e vlerave të vlefshme (kontrolloni përpunimin e vlerave të pasakta të hyrjes).

Dy paragrafët e parë përshkruajnë një proces të quajtur testim "pozitiv".

« Pozitive» duke testuarËshtë testimi në të dhëna ose skenarë që korrespondojnë me sjelljen normale (standarde, të pritshme) të sistemit në provë. Qëllimi kryesor i testimit "pozitiv" është të testojë nëse sistemi mund të bëjë atë që ishte krijuar për të bërë.

« Negativ» duke testuar- Bëhet fjalë për testimin e të dhënave ose skenarëve që korrespondojnë me sjelljen jonormale të sistemit në testim, si dhe me lëshimin e mesazheve të ndryshme të gabimit, situatave të jashtëzakonshme, gjendjeve "jashtë kufijve", etj.

Qëllimi kryesor i testimit "negativ" është të kontrollojë rezistencën e sistemit ndaj efekteve të një lloji "negativ": kontrollimi i një grupi të dhënash të pasakta, kontrollimi i përpunimit të situatave të jashtëzakonshme (si në zbatimin e vetë algoritmeve të softuerit ashtu edhe në logjikë. të rregullave të biznesit), etj.


Përpara testimit "pozitiv" dhe "negativ", duhet të ketë punë për të kryer " tymi» duke testuar, gjatë të cilit kryhet testimi i shpejtë dhe i cekët i funksionalitetit më kritik në skenarë të thjeshtë, domethënë tipikë me një minimum kontrollesh ("në mënyrë që të mos ketë tym"). Mund të kryhet si në të dhëna "pozitive" dhe "negative".

Jepni përkufizime për testimin funksional, ngarkesën, stresin dhe qëndrueshmërinë.

Testimi funksional konsiston në testimin e sistemit për të kontrolluar realizueshmërinë e kërkesave funksionale, d.m.th. aftësia e programit në kushte të caktuara për të zgjidhur detyrat e nevojshme për përdoruesit. Kërkesat funksionale përcaktojnë se çfarë saktësisht bën një program dhe çfarë detyrash zgjidh.

Testimi i stresit. Në përgjithësi, përdorimi i pritshëm i aplikacionit simulohet duke emuluar punën e disa përdoruesve në të njëjtën kohë. Një testim i tillë është më i përshtatshëm për sistemet me shumë përdorues dhe veçanërisht ato që përdorin një arkitekturë klient-server (për shembull, serverët në internet).

Testimi i stresit- lloji i testimit të softuerit, i cili vlerëson besueshmërinë dhe qëndrueshmërinë e sistemit në kushtet e tejkalimit të kufijve të funksionimit normal. Testimi i stresit është veçanërisht i nevojshëm për softuerin "kritik për misionin". Testimi i stresit në përgjithësi është më i mirë në zbulimin e cilësive të tilla si qëndrueshmëria, disponueshmëria dhe aftësia për të trajtuar përjashtimet nga sistemi nën ngarkesë të madhe sesa ajo që konsiderohet sjellje e saktë në kushte normale.

Testimi i stabilitetit... Ky lloj testimi konsiston në kontrollimin e performancës së programit gjatë funksionimit afatgjatë me nivelin e pritur të ngarkesës. Para se të filloni të kontrolloni funksionimin e sistemit në ngarkesa maksimale dhe kritike, është e nevojshme të kontrolloni funksionimin e tij në ato kushte që përcaktohen në kërkesat funksionale, domethënë të funksiononi në gjendje normale për një kohë të gjatë. Detyra kryesore e një testimi të tillë është të zbulojë rrjedhjet e kujtesës, dhe gjithashtu të verifikojë që shpejtësia e përpunimit dhe koha e përgjigjes së aplikacionit ishin të njëjta në fillim dhe në fund të testit.

Pyetje për temën 18

Artikujt kryesorë të lidhur