CodeGym /జావా కోర్సు /మాడ్యూల్ 3 /ప్రోగ్రామర్ జీవితంలో పరీక్ష

ప్రోగ్రామర్ జీవితంలో పరీక్ష

మాడ్యూల్ 3
స్థాయి , పాఠం
అందుబాటులో ఉంది

ప్రోగ్రామర్‌లకు పరీక్ష ఎందుకు అవసరం?

తదుపరి రెండు స్థాయిలు ప్రోగ్రామర్‌లకు అవసరమైన విధంగా పరీక్షించడానికి కేటాయించబడతాయి . అయితే ముందుగా, పరీక్ష అంటే ఏమిటి మరియు అది ఎందుకు అవసరమో తెలుసుకుందాం.

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

  • ఆమె చేయవలసింది చేస్తుంది
  • ఆమె చేయకూడనిది చేయదు

రెండవ పాయింట్, మార్గం ద్వారా, మొదటి కంటే తక్కువ ముఖ్యమైనది కాదు, కానీ తరువాత మరింత.

మొదటి పాయింట్‌తో ప్రారంభిద్దాం. "ప్రోగ్రామ్ ఏమి చేయాలో అది చేస్తుంది" అంటే ఏమిటి?

ముందుగా, ఎవరైనా ప్రోగ్రామ్ కోసం అన్ని వినియోగ కేసుల జాబితాను తయారు చేయాలి. రెండవది, ప్రోగ్రామ్ ఎలా పని చేయాలి, వినియోగదారు ఎలా ప్రవర్తించాలి మరియు ఎలాంటి ఫలితాలు ఆశించబడతాయో వారు వివరించాలి. మీరు ఇక కొనసాగించలేరు.

మేము "వినియోగదారు ఎలా ప్రవర్తించాలి" అని వ్రాసిన వెంటనే, మంచి డాక్యుమెంటేషన్ రాయాలనే ఆలోచన పూర్తిగా పడిపోయింది. వ్యక్తులు యంత్రాలు కాదు, అంతేకాకుండా, ప్రజలు చాలా తరచుగా సాఫ్ట్‌వేర్‌తో తమకు నచ్చిన విధంగా ప్రవర్తిస్తారు . సూచనలను అధ్యయనం చేయడం ద్వారా సాంకేతికతతో వారి పరిచయాన్ని ఎవరూ ప్రారంభించరు. ఇది వాస్తవం.

అందువల్ల, మేము ఒక కొత్త వాస్తవాన్ని పొందుతాము: సాఫ్ట్‌వేర్ యొక్క ప్రత్యేకత ఏమిటంటే ఇది చాలా విభిన్నమైన పని దృశ్యాలను కలిగి ఉంటుంది. వాటిలో కొన్ని స్పష్టంగా ఉన్నాయి, మరికొన్నింటిని డాక్యుమెంట్ చేయవచ్చు, మరికొన్ని ఊహించవచ్చు, మరికొన్ని ఊహించవచ్చు మరియు మిగిలిన 50% మీకు కూడా కనిపించదు.

ప్రోగ్రామర్ దృక్కోణం నుండి, చాలా బగ్‌లు బగ్‌లు కావు. ఒక ప్రోగ్రామ్ అనుకున్నట్లుగా లేదా ఆశించిన విధంగా పని చేయకపోవడాన్ని ఎర్రర్ అంటారు. మరియు ప్రోగ్రామ్ ఎలా పని చేయాలో స్పష్టంగా తెలియనప్పుడు చాలా పరిస్థితులు ఉన్నాయి, లేదా ఒకదానికొకటి విరుద్ధంగా ఉండే దృశ్యాలు ...

అనంతమైన దృశ్యాలు ఉన్నాయి మరియు ప్రోగ్రామ్ ఆశించిన విధంగా ప్రవర్తించనప్పుడు ఉత్పత్తిలో ఎల్లప్పుడూ కేసులు ఉంటాయి (ప్రోగ్రామర్ కేవలం రెండు డజన్ల దృశ్యాలకు మాత్రమే కోడ్‌ను వ్రాసాడు). అందువల్ల, ఏదైనా ప్రోగ్రామ్‌లో ఎల్లప్పుడూ బగ్‌లు ఉంటాయని మరియు ఏదైనా ఉత్పత్తిని అనంతంగా మెరుగుపరచవచ్చని వాదించవచ్చు .

ఆ తరువాత, ఇది అన్ని అవసరాలకు వస్తుంది. మొదట, ప్రోగ్రామర్ అతిపెద్ద బగ్‌లను, తర్వాత చిన్న బగ్‌లను, మొదలైన వాటిని పరిష్కరిస్తుంది. చివరకు, ఉత్పత్తి యొక్క యజమాని దానిపై పని చేయడం ఆర్థికంగా సాధ్యం కాదని నమ్ముతున్నప్పుడు ఒక దశ వస్తుంది.

కానీ ప్రతి ఒక్కరూ లోపాలుగా గుర్తించే లోపాలకి తిరిగి వెళ్లండి: ప్రోగ్రామ్ స్పష్టంగా ఏదో తప్పు చేస్తుంది, పడిపోయింది, ఏదో విరిగింది, మొదలైనవి అటువంటి లోపాలను షరతులతో 3 వర్గాలుగా విభజించవచ్చు: పెద్ద, మధ్యస్థ మరియు చిన్న.

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

అందువల్ల, ఏదైనా ప్రాజెక్ట్‌లో టెస్టర్లు ఉండాలి. ఈ వ్యక్తులు ప్రత్యేకంగా వివిధ కోణాల నుండి ఉత్పత్తిని చూడటం నేర్చుకుంటారు. కాబట్టి మీరు ప్రోగ్రామ్ యొక్క మరిన్ని దృశ్యాలను చూడవచ్చు. వారి పని లోపాలను కనుగొని వాటిని వ్రాయడం (అదే లోపాన్ని చాలాసార్లు కనుగొనకూడదు).

పరీక్ష అనేది లోపాలను కనుగొనడానికి ఉద్దేశించిన ప్రక్రియ. ఈ బగ్‌లను కనుగొని, వివరించాలి మరియు ప్రాధాన్యత ఇవ్వాలి. లోపాల ప్రాధాన్యత తర్వాత మాత్రమే మేము సమర్థవంతమైన సాఫ్ట్‌వేర్ మెరుగుదల ప్రక్రియ గురించి మాట్లాడగలము.

గుర్తుంచుకోండి, సమస్యను పరిష్కరించడానికి మొదటి దశ సమస్య ఉందని అంగీకరించడం . మీకు తెలియని తప్పును మీరు సరిదిద్దలేరు.

టెస్ట్ ఆటోమేషన్

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

మేము ఎదుర్కొనే ఏదైనా ప్రక్రియలను మేము ఆటోమేట్ చేస్తాము. కాబట్టి పరీక్ష స్వయంచాలకంగా జరగాలి. మరియు లోపాల కోసం శోధనను ఆటోమేట్ చేయడం ఎలా? చిన్న సమాధానం: లేదు. కానీ ఇక్కడ మళ్ళీ మేము ప్రోగ్రామర్లు అనే వాస్తవం మాకు సహాయానికి వస్తుంది.

సాఫ్ట్‌వేర్ డెవలప్‌మెంట్ ప్రక్రియ దానికి స్థిరమైన మార్పులను కలిగి ఉంటుంది. నిరంతరం మార్పులు చేసే ప్రక్రియలో, ప్రోగ్రామర్లు చాలా తరచుగా ఇటీవల వరకు బాగా పనిచేసిన వాటిని విచ్ఛిన్నం చేస్తారు.

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

ఇక్కడ అన్ని సాఫ్ట్‌వేర్‌లను రెండు భాగాలుగా విభజించవచ్చు:

  • కార్యక్రమం వ్యక్తితో సంకర్షణ చెందుతుంది
  • ప్రోగ్రామ్ మరొక ప్రోగ్రామ్‌తో పరస్పర చర్య చేస్తుంది

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

కానీ రెండవ ఎంపికను స్వతంత్రంగా స్వయంచాలకంగా చేయవచ్చు మరియు చేయాలి. మీకు సాఫ్ట్‌వేర్ ముక్క ఉంటే:

  • బాగా పనిచేస్తుంది
  • ఇప్పటికే పరీక్షించబడింది
  • ప్రత్యేక మాడ్యూల్ లేదా లాజికల్ బ్లాక్‌గా అమలు చేయబడింది
  • మార్చడానికి ప్రణాళిక లేదు
  • ఇతర మాడ్యూల్స్ లేదా ప్రోగ్రామ్‌లు దానిపై ఆధారపడి ఉంటాయి
  • ఫంక్షనల్ వైఫల్యం ఖరీదైనది

దాని ప్రస్తుత కార్యాచరణ యొక్క ముఖ్య అంశాలను సంగ్రహించే దాని కోసం పరీక్షలు రాయడానికి సమయాన్ని కేటాయించాలని నేను సిఫార్సు చేస్తున్నాను. దీని కోసం మీ పని సమయంలో 5% లేదా నెలకు 1 రోజు కేటాయించడం సహేతుకంగా ఉంటుంది.

పరీక్షల కోసం పరీక్షలు రాయాల్సిన అవసరం లేదు.

మీ పరీక్షలకు ఎవరూ మద్దతు ఇవ్వరు. ఇతర ప్రోగ్రామర్లు కాదు, మీరే కాదు. ఎవరూ అలా చేయరు. అన్ని వ్రాత పరీక్షలలో 99% రద్దు చేయబడ్డాయి మరియు/లేదా నిలిపివేయబడ్డాయి. మీరు పరీక్షలు రాయలేకపోతే - వ్రాయవద్దు. అవి లేకుండా మీరు ఖచ్చితంగా చేయలేకపోతే మాత్రమే వ్రాయండి.

పరీక్ష రకాలు

ప్రతి ప్రోగ్రామర్, అతను ప్రత్యేక శిక్షణ పొందకపోతే, పరీక్ష అంటే ఏమిటో తన స్వంత మాటల్లో చెప్పగలడు: ప్రోగ్రామ్ ఏమి చేయాలో తనిఖీ చేస్తుంది. అయితే, ఈ రంగంలోని నిపుణులు పరీక్ష యొక్క మొత్తం ప్రాంతాలను (రకాలు) వేరు చేస్తారు.

అన్ని పరీక్షలు నిజంగా సాఫ్ట్‌వేర్ యొక్క విశ్వసనీయత మరియు లభ్యత చుట్టూ తిరుగుతాయి, అయితే పరీక్ష యొక్క దిశను బాగా అర్థం చేసుకోవడానికి, కొన్ని ఉదాహరణలను చూద్దాం.

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

సైట్ యజమాని తీవ్రమైన ప్రకటనల ప్రచారాన్ని ప్రారంభించాలని నిర్ణయించుకుంటే, అదే సమయంలో చాలా మంది వినియోగదారులు సైట్‌కు వస్తారు. సైట్ పడిపోకపోవచ్చు, కానీ దానిలోని కొన్ని విభాగాలు నెమ్మదిగా ఉండవచ్చు లేదా పని చేయడం ఆపివేయవచ్చు.

ఇది జరగకుండా నిరోధించడానికి, మీరు అటువంటి సమస్యలను ముందుగానే గుర్తించి, వాటిని తొలగించడానికి చర్యలు తీసుకోవాలి. ఇది లోడ్ పరీక్షను ఉపయోగించి చేయబడుతుంది లేదా దీనిని పనితీరు పరీక్ష అని కూడా పిలుస్తారు.

మీరు మీ బ్యాకెండ్ API ఎలా పనిచేస్తుందో పరీక్షించవచ్చు మరియు దాని యొక్క ప్రతి విధిని పరీక్షించవచ్చు: రిజిస్ట్రేషన్, లాగిన్, కార్ట్‌కు జోడించడం, చెల్లింపు ప్రాసెసింగ్, డేటాబేస్ వ్రాతలు మొదలైనవి. ప్రతిదీ TOR ప్రకారం పని చేయాలి. ఈ సందర్భంలో, మీరు ఫంక్షనల్ పరీక్షను నిర్వహించాలి .

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

చివరగా, సంక్లిష్ట ఉత్పత్తులు తరచుగా స్వతంత్ర మాడ్యూల్స్‌గా విభజించబడతాయి. అటువంటి మాడ్యూల్స్ నుండి, మీరు కన్స్ట్రక్టర్ నుండి తుది ఉత్పత్తిని సమీకరించవచ్చు. మీరు అటువంటి మాడ్యూల్‌ను అభివృద్ధి చేస్తుంటే లేదా అలాంటి మాడ్యూల్‌లతో పరస్పర చర్య చేస్తుంటే, మీరు యూనిట్ టెస్టింగ్ చేయవలసి ఉంటుంది .

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

ఇంకా ఎక్కువ రకాల పరీక్షలు ఉండవచ్చు: ఉత్పత్తి మరింత క్లిష్టంగా ఉంటుంది, దాని అభివృద్ధి యొక్క మరిన్ని అంశాలను నియంత్రించాల్సిన అవసరం ఉంది.

వ్యాఖ్యలు
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION