టైపింగ్ టెస్ట్‌లు మోసాన్ని ఎలా గుర్తిస్తాయి? మేము మా టెస్ట్‌ను ఎలా తనిఖీ చేస్తాం

టైపింగ్ టెస్ట్‌లు ప్రతి స్కోర్ వెనుక ఉన్న కీస్ట్రోక్ లాగ్‌ను తనిఖీ చేయడం ద్వారా మోసాన్ని గుర్తిస్తాయి. మా టెస్ట్ ప్రతి ఫలితాన్నీ దాని కీస్ట్రోక్ లాగ్ నుండి మళ్లీ లెక్కిస్తుంది, ఒక హాష్‌ను తనిఖీ చేస్తుంది, లాగ్ నిర్మాణాన్నీ టైమింగ్‌నూ పరీక్షిస్తుంది, 130 WPM పైన ఉండి టైమింగ్ కూడా అసాధారణంగా కనిపించే ఏ టైమ్డ్ ఫలితాన్నైనా మీరు రీ-టెస్ట్ పాస్ అయ్యే వరకు పబ్లిక్ బోర్డ్‌లకు దూరంగా ఉంచుతుంది. టైమింగ్ తనిఖీలు అజాగ్రత్తగా తయారైన బాట్‌లను పట్టుకుంటాయి; రీ-టెస్ట్ జాగ్రత్తగా తయారైన బాట్‌తో మొత్తం మళ్లీ చేయిస్తుంది.

మా టైమింగ్ తనిఖీలను దాటిన మొదటి బాట్ మాదే.

మా ఎండ్-టు-ఎండ్ టెస్ట్ హెల్పర్ స్థిరమైన 40 ms అంతరంతో కీలు నొక్కింది, ఎందుకంటే టెస్ట్ స్క్రిప్ట్ చేసేది అదే. సర్వర్ ఫలితాన్ని మళ్లీ లెక్కించింది, హాష్‌ను నిర్ధారించింది, ఆ రన్‌ను అనుమానాస్పదంగా స్కోర్ చేసింది: కీస్ట్రోక్‌ల మధ్య సున్నా వైవిధ్యం, సున్నా రోల్‌ఓవర్, ఒకేలాంటి హోల్డ్ టైమ్‌లు. మా సొంత టెస్ట్ సూట్ మనిషిలా కనిపించే ఫలితాన్ని పంపడానికి ముందు మేము ప్రతి పదానికీ యాదృచ్ఛిక జిట్టర్, అప్పుడప్పుడు 80 నుండి 300 ms "ఆలోచించే" విరామాలు జోడించాల్సి వచ్చింది. ఆ ఆప్షన్ ఇప్పటికీ కోడ్‌లో ఉంది, humanLike అనే పేరుతో.

ప్రయత్నించని దేనిపైనైనా తనిఖీలు పనిచేస్తాయి, ప్రయత్నించే ఏదైనా వాటిని దాటగలదు, కాబట్టి డిజైన్ అసలు బరువును రీ-టెస్ట్ మీద పెడుతుంది.

మొదటి అడుగు: అన్నింటినీ మళ్లీ లెక్కించడం

మీ బ్రౌజర్ మాకు WPMను పంపదు. అది కీస్ట్రోక్ లాగ్‌ను (ప్రతి keydown, keyup, input, composition ఈవెంట్, మోనోటోనిక్ performance.now() గడియారంతో టైమ్‌స్టాంప్ చేసినవి), అది లెక్కించిన గణాంకాలను, కానానికల్ ఫలితం SHA-256 హాష్‌ను పంపుతుంది.

సర్వర్ అదే గణాంకాల కోడ్‌ను లాగ్‌పై నడిపి పోల్చి చూస్తుంది. ఏ సంఖ్య అయినా 0.01 కంటే ఎక్కువ తేడా ఉంటే, ఫలితం metrics_mismatch గా తిరస్కరించబడుతుంది. హాష్ సరిపోలకపోతే, hash_mismatch గా తిరస్కరించబడుతుంది. క్లయింట్‌ను నమ్మే సైట్‌లలో అత్యంత సాధారణ మోసమైన, WPM ఫీల్డ్‌ను ఎడిట్ చేసే బ్రౌజర్ ఎక్స్‌టెన్షన్ ఇక్కడే విఫలమవుతుంది. మీ తెరపై, డేటాబేస్‌లో సంఖ్యను అవే ఫంక్షన్‌లు ఉత్పత్తి చేస్తాయి, అందుకే మా గణాంకాల పేజీ తన లెక్కించిన ఉదాహరణ రెండు దశాంశ స్థానాల వరకు సరిగ్గా వస్తుందని హామీ ఇవ్వగలుగుతుంది.

టెస్ట్‌ను సర్వర్‌పై ఎందుకు టైమ్ చేయకూడదు? అప్పుడు మీ స్కోర్‌లో నెట్‌వర్క్ కలిసిపోతుంది. ప్రతి కీస్ట్రోక్ మాకు కొంచెం ఆలస్యంగా చేరుతుంది, ఆ ఆలస్యం మీ కనెక్షన్‌ను బట్టి మారుతుంది, నెమ్మదైన లైన్‌పై ఉన్న వేగవంతమైన టైపిస్ట్ నిజంగా ఉన్న వేగాన్ని కోల్పోతారు. ఖచ్చితత్వం కోసం లాగ్ మాకు క్లయింట్ గడియారాన్ని ఇస్తుంది, నిజాయితీ కోసం సర్వర్ మళ్లీ లెక్కిస్తుంది.

రెండో అడుగు: లాగ్ అర్థవంతంగా ఉందా?

ఏ టైమింగ్ విశ్లేషణకైనా ముందు, సమర్పణ ఆకారంపై సాధారణ తనిఖీలు:

  • టెస్ట్ కనీసం 15 సెకన్లు లేదా 10 పదాలు ఉండాలి. అంతకంటే చిన్న రన్‌లు ర్యాంక్ చేయడానికి చాలా అస్థిరమైనవి, పెంచి చూపడానికి అత్యంత సులభమైనవి.
  • టెస్ట్ పూర్తయ్యే అవకాశం రాకముందే ఫలితం రాకూడదు: దాని ప్రారంభం, దానితో పాటు దాని సొంత పొడవు. మొదలైన ఇరవై సెకన్లకే వచ్చిన 60 సెకన్ల ఫలితం అసలు జరగలేదు.
  • ఈవెంట్‌ల సంఖ్య టైప్ చేసిన అక్షరాలకు సరిపోవాలి.
  • డెస్క్‌టాప్‌పై, ప్రతి input ఈవెంట్ 50 ms లోపు ఒక keydownను అనుసరించాలి. ఇది పేస్ట్ చేసిన టెక్స్ట్‌ను, స్క్రిప్ట్ చేసిన input ఈవెంట్‌లను, భౌతిక కీ లేకుండానే టెక్స్ట్‌ను పంపే చాలా కీస్ట్రోక్-ఇంజెక్షన్ సాధనాలను పట్టుకుంటుంది. ఇన్‌పుట్ మెథడ్ ఎడిటర్ (IME composition) ద్వారా టైప్ చేయడానికి మినహాయింపు ఉంది, ఫోన్ ఫలితాలు పబ్లిక్ బోర్డ్‌లలోకి రావు.
  • ప్రారంభం లేని, ముగింపు లేని, లేదా మోనోటోనిక్ కాని టైమ్‌స్టాంప్‌లు ఉన్న లాగ్ లోపభూయిష్టమైనది, నేరుగా తిరస్కరించబడుతుంది.

వీటిలో ఏదీ తెలివైనది కాదు, కానీ అది ఎక్కువ భాగాన్ని తొలగిస్తుంది.

మూడో అడుగు: కీస్ట్రోక్ టైమింగ్ ఏమి బయటపెట్టగలదు?

ఈ భాగాన్ని మేము కావాలనే పూర్తిగా వివరించం: లక్షణాల జాబితా పబ్లిక్, కట్-ఆఫ్‌లు, బరువులు కాదు. ప్రచురించిన కట్-ఆఫ్ ఒక లక్ష్యం అవుతుంది. "N మిల్లీసెకన్ల కంటే తక్కువ ప్రామాణిక విచలనం ఫ్లాగ్ అవుతుంది" అని మేము చెబితే, ప్రతి స్క్రిప్ట్ తర్వాతి వెర్షన్ N ప్లస్ ఒకటి జోడిస్తుంది. మేము స్కోర్ చేసే లక్షణాలు:

కీల మధ్య సగటు అంతరం, అది ఎంత మారుతుంది. మనిషి టైపింగ్ క్రమరహితంగా ఉంటుంది. 168,960 టైపిస్టులపై Dhakal, సహచరుల 2018 అధ్యయనంలో, కీల మధ్య సగటు అంతరం సుమారు 239 ms, ప్రామాణిక విచలనం సుమారు 112 ms. స్థిరమైన అంతరంతో టైప్ చేసే స్క్రిప్ట్‌కు దాదాపు వైవిధ్యమే ఉండదు; కీస్ట్రోక్ ఆధారిత CAPTCHAపై 2025 arXiv అధ్యయనం తన టెస్ట్ బాట్‌లో సరిగ్గా అదే చూసింది, అది స్థిరమైన 50 ms ఆలస్యంతో టైప్ చేసింది. ఇది మా బలమైన సంకేతం, మా హెల్పర్ దొరికిపోయింది దీనికే.

40 ms కంటే తక్కువ అంతరాల వాటా. 40 ms అంతరం, నిలకడగా ఉంటే, నిమిషానికి 1,500 అక్షరాలు, పదానికి ఐదు అక్షరాల చొప్పున 300 WPM. రోల్‌ఓవర్ సమయంలో కీలు ఒకదానిపై ఒకటి పడినప్పుడు వేళ్లు అంత చిన్న ఒక్కొక్క అంతరాన్ని ఉత్పత్తి చేస్తాయి, కాబట్టి ఒక చిన్న అంతరానికి అర్థం లేదు. అంతరాల్లో పెద్ద వాటా అంత చిన్నగా ఉన్న లాగ్ టైపింగ్ కాదు.

కీ హోల్డ్ టైమ్‌లు. నిజమైన వేళ్లు పదుల మిల్లీసెకన్లు మారుతాయి; కృత్రిమ ఈవెంట్‌లకు తరచూ ఒకేలాంటి లేదా దాదాపు సున్నా హోల్డ్ టైమ్‌లు ఉంటాయి, ఎందుకంటే సాధనం keydown, keyupలను వెంటవెంటనే పంపుతుంది.

రోల్‌ఓవర్ నిష్పత్తి. ముందు కీ పైకి రాకముందే తర్వాతి కీ ఎంత తరచుగా కిందకు వెళ్తుంది. Dhakal సగటు రోల్‌ఓవర్ నిష్పత్తిని 25%గా కొలిచారు, చాలా మంది వేగవంతమైన టైపిస్టులు 40 నుండి 70% కీప్రెస్‌లలో రోల్‌ఓవర్ చేశారు, కీలు సగటున 30 ms ఒకదానిపై ఒకటి పడ్డాయి. నెమ్మదైన టైపిస్టులు దాదాపు వాడరు, కాబట్టి రోల్‌ఓవర్ లేని వేగవంతమైన ఫలితం ప్రత్యేకంగా కనిపిస్తుంది. బాట్‌లు అరుదుగా కీలను ఒకదానిపై ఒకటి వేస్తాయి.

అత్యంత పొడవైన విరామం, సెకను సెకనుకు వేగంలో ఊగిసలాటలు, ఒక సెకను కంటే ఎక్కువ ఉన్న అంతరాల వాటా. స్క్రిప్ట్‌కు అనుకరించమని చెప్పాల్సిన విధాలుగా మనుషులు తటపటాయిస్తారు.

ఒక స్కోరింగ్ మోడల్ వీటిని కలిపి ఒక ఫలితాన్ని అనుమానాస్పదంగా ఫ్లాగ్ చేయగలదు. 130 WPM లోపు, ఫ్లాగ్ ఒక్కటే దేన్నీ తిరస్కరించదు. మీ ఫలితం మీకు ఎప్పుడూ దాచబడదు; ఈ తనిఖీలు అది ర్యాంక్ అవుతుందా లేదా అనే దాన్ని మాత్రమే నిర్ణయిస్తాయి.

టైపింగ్ టెస్ట్ మోసం టైమింగ్ తనిఖీలను దాటగలదా?

అవును, మోసాన్ని జాగ్రత్తగా తయారుచేస్తే. David Condrey జనవరి 2026 arXiv పేపర్ మనిషి టైప్ చేసిన టెక్స్ట్‌ను AI ఉత్పత్తి చేసిన టెక్స్ట్ నుండి వేరు చేయడానికి ఉద్దేశించిన కీస్ట్రోక్-టైమింగ్ డిటెక్టర్లను పరీక్షించింది. పూర్తిగా ఆటోమేటెడ్ ఇంజెక్షన్‌ను అవి సంపూర్ణంగా వేరు చేశాయి, కానీ మనిషి టైమింగ్ ఉన్న దాడులు (ఒక వ్యక్తి AI టెక్స్ట్‌ను మళ్లీ టైప్ చేయడం, లేదా మనుషుల టైపింగ్ డేటా నుండి ఆలస్యాలను తీసుకునే ప్రోగ్రామ్) ఐదు క్లాసిఫైయర్‌లనూ కనీసం 99.8% రేట్లతో తప్పించుకున్నాయి. ఆ పేపర్ రచయిత గుర్తింపు గురించి, టైపింగ్ టెస్ట్‌ల గురించి కాదు, కానీ పాఠం ఇక్కడికీ వర్తిస్తుంది: మూడో అడుగు అజాగ్రత్తగా ఉన్నవాటిని పట్టుకుంటుంది, అంతకుమించి పెద్దగా ఏమీ కాదు.

మా సొంత టెస్ట్ హెల్పర్ చిన్న స్థాయిలో అదే విషయాన్ని చూపిస్తుంది: యాదృచ్ఛిక జిట్టర్, కొన్ని విరామాలు దాన్ని స్పష్టంగా కృత్రిమం నుండి నమ్మదగినదిగా మార్చాయి.

కాబట్టి మూడో అడుగు ఒక ఫిల్టర్. తీర్పు నాలుగో అడుగు నుండి వస్తుంది.

నాలుగో అడుగు: ధృవీకరణ రీ-టెస్ట్

ఒక టైమ్డ్ ఫలితం 130 WPM పైన ఉండి, దాని టైమింగ్ కూడా అసాధారణంగా కనిపిస్తే, మీరు దాన్ని చూస్తారు, అది సేవ్ అవుతుంది, కానీ మీరు ధృవీకరణ రీ-టెస్ట్ పాస్ అయ్యే వరకు పబ్లిక్ బోర్డ్‌లకు దూరంగా ఉంటుంది. అది కొత్త 30 సెకన్ల టెస్ట్, మీరు క్లెయిమ్ చేసిన వేగంలో కనీసం 75% అందుకోవాలి. ఒక్కసారి కలిసొచ్చిన అదృష్టం లేదా అరువు తెచ్చుకున్న లాగ్ రెండో రన్‌లో నిలవదు.

130 WPM ఎందుకు? అది Dhakal డేటాలోని 51.56 WPM సగటుకు సుమారు రెండున్నర రెట్లు, చాలా మంది టైపిస్టులకు చాలా దూరం, నిజంగా అంత వేగంగా టైప్ చేసే ఎవరైనా దాన్ని రెండుసార్లు చేయగలరు. విచిత్రమైన టైమింగ్‌తో అకస్మాత్తుగా వచ్చిన వేగవంతమైన ఫలితం అరువు లాగ్ లేదా స్క్రిప్ట్ ఉత్పత్తి చేసే ఆకారమే, అది నిజాయితీగా వచ్చినదైతే, ఒక అదనపు టెస్ట్ చిన్న మూల్యమే.

రీ-టెస్ట్ ఒక సాధారణ టైపింగ్ టెస్ట్, సాధారణ టెక్స్ట్‌లో, వక్రీకరించిన చిత్రం గానీ విచిత్రమైన గుర్తులతో నిండిన పేజీ గానీ కాదు. చదవడానికి కష్టమైన టెక్స్ట్ అందరినీ నెమ్మదిస్తుంది, అది ఎక్కువగా నెమ్మదించేది రీ-టెస్ట్ ఎవరిని క్లియర్ చేయడానికి ఉందో ఆ నిజాయితీ గల వేగవంతమైన టైపిస్టులనే. నిజాయితీ గల వేగవంతమైన టైపిస్టులు ఫెయిల్ అయ్యే ధృవీకరణ, అసలు లేకపోవడం కంటే దారుణం. సాధారణ టెక్స్ట్ తనిఖీని న్యాయంగా కూడా చేస్తుంది: రీ-టెస్ట్ సొంత లాగ్ కూడా మిగతా ఏ ఫలితంలాగే అవే టైమింగ్ తనిఖీల గుండా వెళ్తుంది.

రేట్ లిమిట్‌లు, నిషేధాలు

సమర్పణలకు రేట్ లిమిట్ ఉంటుంది: సైన్ ఇన్ చేసిన ప్రతి యూజర్‌కు నిమిషానికి ముప్పై, ప్రతి IP అడ్రస్‌కు అరవై. తనిఖీలకు పదే పదే దొరికే ఖాతా షాడో-బ్యాన్ అవుతుంది, అంటే నిశ్శబ్దంగా బోర్డ్‌ల నుండి దాచబడుతుంది, 24 గంటల్లో మూడు తీవ్రమైన యాంటీ-చీట్ సంఘటనలు దాన్ని ఆటోమేటిక్‌గా ప్రేరేపిస్తాయి. ఒక సమయ వ్యవధిలో సంఘటనలను లెక్కించడం అంటే, ఒక్క విచిత్రమైన ఫలితం మీకు ఎప్పుడూ ఖాతాను కోల్పోయేలా చేయదు, అయితే మళ్లీ మళ్లీ ఫెయిల్ అయ్యే స్క్రిప్ట్ త్వరగా ఆగిపోతుంది.

ఆల్-టైమ్ లీడర్‌బోర్డ్‌లకు ఖాతాలో 30 నిమిషాల టైపింగ్ కూడా అవసరం, కాబట్టి ఒక్క పరిపూర్ణ రన్ ఉన్న కొత్త ఖాతా వాటిలో అగ్రస్థానానికి చేరలేదు.

పొరపాటున మిమ్మల్ని ఫ్లాగ్ చేసేవి

ఫ్లాగ్ అయిన ఫలితాల్లో ఎక్కువ మోసం కాదు. నిజాయితీగా ఉండి కూడా తనిఖీకి దొరికే మార్గాలు:

ఫోన్‌లో ఆటోకరెక్ట్. ఒక మార్పు అనేక అక్షరాలను మార్చే ఒకే input ఈవెంట్‌గా వస్తుంది. దాన్ని ఒక కీప్రెస్‌గా లెక్కించి, ఫ్లాగ్ చేసి, ఫలితాన్ని ఒక నోట్‌తో పబ్లిక్ బోర్డ్‌లకు దూరంగా ఉంచుతాం, తిరస్కరించం.

పేస్ట్ చేసిన టెక్స్ట్. పేస్ట్ చేయడం బ్లాక్ చేయబడింది, ప్రయత్నించిన ఫలితం బోర్డ్‌ల నుండి మినహాయించబడుతుంది.

ట్యాబ్‌లు మార్చడం. టెస్ట్ సమయంలో రెండు సెకన్ల కంటే ఎక్కువ ఫోకస్ పేజీ నుండి వెళ్తే దాన్ని అంతరాయం కలిగినదిగా గుర్తిస్తాం; అది సేవ్ అవుతుంది, చూపబడుతుంది, కానీ ర్యాంక్ కాదు.

విరామం. పదాల లేదా కొటేషన్ టెస్ట్‌లో ఐదు సెకన్ల కంటే ఎక్కువ అంతరం ఫలితాన్ని విరామం ఉన్నదిగా గుర్తిస్తుంది. అదే విధంగా చూస్తాం.

IME composition. జపనీస్, కొరియన్, చైనీస్ ఇన్‌పుట్ composition ఈవెంట్‌ల ద్వారా వస్తుంది, కాబట్టి వాటికి keydown నియమాన్ని దాటవేస్తాం. అయినా ఏదైనా తప్పుగా కనిపిస్తే, అది బగ్, మాకు ఆ లాగ్ కావాలి.

ఆఫ్‌లైన్ ఫలితాలు. పూర్తయిన పది నిమిషాల తర్వాత సింక్ అయిన ఫలితం ర్యాంక్ లేకుండా మీ హిస్టరీలో ఉంటుంది, ఎందుకంటే దాని గడియారాన్ని మేము ధృవీకరించలేం.

నిజంగా వేగంగా ఉండటం. 130 WPM పైన మీకు రీ-టెస్ట్ ఎదురవుతుంది, బహుశా మీ మొదటి మంచి రోజునే.

అప్పీల్ ఎలా చేయాలి

ప్రతి మినహాయింపూ దాని కారణాన్ని మీ హిస్టరీలో చూపిస్తుంది. ఒక ఫలితం లేదా పరిమితి విషయంలో మేము తప్పు అని మీరు అనుకుంటే, మీ ఖాతాలోని ఈమెయిల్ అడ్రస్ నుండి, ఫలితం లింక్ లేదా టెస్ట్ తేదీ, సమయంతో, మా యాంటీ-చీట్ పేజీలోని అప్పీల్ అడ్రస్‌కు ఈమెయిల్ చేయండి. ఒక వ్యక్తి కీస్ట్రోక్ రీప్లేను చూసి కొన్ని రోజుల్లో సమాధానం ఇస్తారు. అప్పీల్‌లను ఎప్పుడూ ఆటోమేటెడ్ మోడల్ ఒక్కటే నిర్ణయించదు.

తనిఖీలను దాటడానికి మేము ఇప్పుడే ఒక గైడ్ ప్రచురించామా? పాక్షికంగా. లక్షణాల జాబితాను ప్రవర్తన నుండి ఎప్పుడూ కనుక్కోవచ్చు, కట్-ఆఫ్‌లు రహస్యంగానే ఉంటాయి. ముఖ్యమైన భాగం రీ-టెస్ట్, దాన్ని పాస్ అవ్వడానికి మార్గం టైప్ చేయడమే.

తరచుగా అడిగే ప్రశ్నలు

టైపింగ్ టెస్ట్‌లు బాట్‌లను ఎలా గుర్తిస్తాయి?

మంచివి కీస్ట్రోక్ లాగ్‌ను చదువుతాయి: ప్రతి అక్షరం వెనుక ఒక కీప్రెస్ ఉందా, కీల మధ్య అంతరాలు ఎంత మారుతాయి, కీలను ఎలా పట్టుకున్నారు, ఎలా ఒకదానిపై ఒకటి వేశారు. స్క్రిప్ట్‌లు మరీ క్రమబద్ధంగా ఉంటాయి; జాగ్రత్తగా తయారైన బాట్‌లు మనుషులను అనుకరించగలవు, అందుకే మేము రీ-టెస్ట్ జోడిస్తాం.

బాట్ టైపింగ్ టెస్ట్ యాంటీ-చీట్‌ను దాటగలదా?

జాగ్రత్తగా తయారైనది టైమింగ్ తనిఖీలను దాటగలదు: నకిలీ మనిషి లాంటి టైమింగ్ దాదాపు ప్రతిసారీ కీస్ట్రోక్-టైమింగ్ డిటెక్టర్లను తప్పించుకుందని పరిశోధన కనుగొంది. అందుకే వేగవంతమైన ఫలితాలను రీ-టెస్ట్ కోసం ఆపుతాం, అవే తనిఖీలను దాటే రెండో లాగ్‌తో బాట్ దాన్ని మళ్లీ పాస్ అవ్వాలి.

నా టైపింగ్ టెస్ట్ ఫలితం ఎందుకు ర్యాంక్ కాలేదు?

సాధారణంగా 15 సెకన్లు లేదా 10 పదాల కంటే చిన్న టెస్ట్, ఐదు సెకన్ల కంటే ఎక్కువ విరామం, ట్యాబ్ మార్పు, లేదా రీ-టెస్ట్ కోసం ఎదురుచూస్తున్న 130 WPM పైన ఫలితం. మీ హిస్టరీ కారణాన్ని చూపిస్తుంది.

ఆధారాలు