Testimi me curl teston gjënë e gabuar
Për përmbajtjen dhe kontrollin e saj
Në këtë artikull
Kërkesa për numërues që mbërrin pa identifikues shfletuesi shkruan në dy nga dymbëdhjetë vendet që prek normalisht një vizitë e numëruar. Përgjigjet me 200. Kthen figurë të vlefshme numëruesi. Asgjë askund nuk thotë se dhjetë prej dymbëdhjetë vendeve u kapërcyen.
Për çfarë shërben filtri dhe çfarë kushton
Numëruesit këtu i ndajnë robotët nga njerëzit sipas identifikuesit me të cilin paraqitet klienti. Lista e shenjave është e shkurtër dhe qëllimisht e qartë, dhe curl/ është në të. Po ashtu identifikuesi bosh, me arsyetimin se një kërkesë krejt pa identifikues klienti nuk është shfletues.
Të dyja janë të sakta. Shërbimi nuk gabon kur trajton një curl të thjeshtë si robot; është i tillë. Problemi është se personi që përdor curl zakonisht nuk teston nëse funksionon dallimi i robotëve. Teston nëse funksionon numërimi dhe në heshtje ka kërkuar rrugën e robotëve.
Çfarë merr: totali i shikimeve të ditës rritet me një, kolona e botëve me një dhe kaq. Asnjë rresht vizitori unik, pra asgjë për vizitorët. Asnjë zë në listën në linjë. Pa faqe, shtet, shfletues, sistem operativ, pajisje apo orë. Pjesët që dikush do të donte vërtet t'i kontrollonte janë ato që nuk u ekzekutuan.
Dështimi nuk ka shenjë
Kjo pjesë ia vlen të shqyrtohet. Testi që nuk mat asgjë zakonisht e tregon veten: gabim, rezultat bosh, zero aty ku duhet numër. Këtu përgjigjja është 200. Përmbajtja është figurë e vërtetë numëruesi, 3 361 bajte. Madje numri në figurë u rrit, sepse totali i shikimeve është një nga dy gjërat që ndodhën.
Prandaj prova duket e kaluar. Gjithçka pas saj — „rruga e numërimit punon“, „kolona e re shkruhet“, „ndryshimi nuk prishi asgjë“ — është përfundim nga një ekzekutim që kapërceu shumicën e kodit që duhej të ushtronte.
Ndodhi gjatë shkrimit
Versioni i parë i matjes së këtij postimi kërkonte /c/<number>. Kjo nuk është adresa e figurës së numëruesit; e vërteta përmban dizajnin dhe prapashtesën, /c/<number>-<design>.png. Kërkesa ktheu 404.
Skripti shtypi tri herë: shkruan në 0 nga 12 vende. Kjo është e vërtetë dhe pikërisht ajo që do të dukej si filtër funksional botësh në shikim të parë. 404 ishte në rezultat, në të njëjtën tabelë, një rresht sipër zerove. Mbeti pa u lexuar një minutë, sepse zerot ishin pjesa interesante dhe përputheshin me pritjen.
Është i njëjti gabim si ai i këtij postimi, një nivel më sipër: matje që prodhoi përgjigje të besueshme për një arsye që askush nuk e kontrolloi. U zbulua vetëm sepse skripti numëronte rreshtat në dymbëdhjetë tabela në vend që t'i besonte kërkesës — kërkesa e dështuar dhe ajo e filtruar duken njësoj nga jashtë.
Çfarë të bëni në vend të kësaj
Dërgoni identifikues shfletuesi. Një opsion, -A me një varg të vërtetë identifikimi të shfletuesit, dhe e njëjta kërkesë shkruan në dhjetë nga dymbëdhjetë vendet, jo në dy.
Dhe numëroni diçka në anën tjetër. Kodi i përgjigjes thotë se kërkesa mbërriti; nuk thotë çfarë bëri. Kur qëllimi është efekti anësor — numërues, radhë, rresht regjistri, rresht diku — prova duhet të shohë efektin anësor. Numërimet para dhe pas në çdo tabelë të përfshirë morën njëzet rreshta këtu dhe e kthyen rezultatin e paqartë në të qartë dy herë: një për filtrin, një për 404.
Dy nga dymbëdhjetë vendet mbetën bosh edhe me identifikues shfletuesi: kolona e botëve, saktë, dhe lista e referuesve, që nuk e regjistroi referuesin e dërguar. E dyta nuk shpjegohet këtu, sepse ende nuk është hetuar. Raportohet sepse alternativa është të publikohet tabelë me njëmbëdhjetë rreshta dhe të quhet dymbëdhjetë.