మిస్టరీ బ్రెడ్
ఒక QA టీమ్ యొక్క లక్ష్యం కేవలం మంచి టెస్టింగ్ చేయడం మాత్రమే కాదు.
సరైన విషయాలను సరైన పద్ధతిలో పరీక్షించడం కూడా కాదు.
అసలైన లక్ష్యం ఏమిటంటే, సాఫ్ట్వేర్ సరిగ్గా పనిచేసేలా టీమ్లకు సహాయపడటం. ఈ లక్ష్యాన్ని చేరుకోవడానికి టెస్టింగ్ అనేది ఒక సాధనం మాత్రమే. ఇది ఏకైక సాధనం కాదు. తరచుగా ఇది ఉత్తమమైన సాధనం కూడా కాకపోవచ్చు.
చాలా కంపెనీలు కేవలం టెస్టింగ్ మరియు కవరేజ్ (coverage) పైనే దృష్టి పెడతాయి. ఇది ఒక పొరపాటు.
టెస్టింగ్కు కొన్ని నిర్దిష్ట ఉపయోగాలు ఉన్నాయి:
- ఆటోమేటెడ్ టెస్ట్లు ముఖ్యమైన ఫంక్షన్ల గురించి వేగంగా ఫీడ్బ్యాక్ను అందిస్తాయి.
- ఎక్స్ప్లోరేటరీ టెస్టింగ్ సాఫ్ట్వేర్ ఎలా పనిచేస్తుందో అర్థం చేసుకోవడానికి సహాయపడుతుంది.
అయితే, చాలా టీమ్లు ప్రతి సమస్యను పరిష్కరించడానికి టెస్టింగ్ను ఉపయోగిస్తాయి. సరైన ప్రణాళిక లేకపోవడం వల్ల ఏర్పడిన లోపాలను పూడ్చడానికి దీనిని వాడుతున్నారు. మానిటరింగ్ (monitoring) మరియు అబ్జర్వబిలిటీ (observability) స్థానంలో కూడా దీనిని ఉపయోగిస్తున్నారు.
టెస్ట్ కవరేజ్ను మీ ప్రధాన క్వాలిటీ సూచికగా భావించడం అనేది, బ్రెడ్ ఓవెన్ నుండి బయటకు వచ్చిన తర్వాత దానికి ఆకారం ఇవ్వడానికి ప్రయత్నించడం వంటిది.
మీ సాఫ్ట్వేర్ను ఒక బ్రెడ్గా ఊహించుకోండి. కోడ్ రాయడానికి ముందే మీకు కావాల్సిన పదార్థాలు ఇవి:
- సాఫ్ట్వేర్ ఏమి చేయాలో స్పష్టమైన నిర్వచనం.
- క్వాలిటీ అంటే ఏమిటో అందరి మధ్య ఒకే విధమైన అవగాహన ఉండటం.
- రిస్క్లు మరియు పరిమితుల (constraints) గురించి అవగాహన.
మీరు తప్పుడు పిండిని వాడినా లేదా ఉప్పు వేయడం మర్చిపోయినా, పిండి ముద్దను ఎన్నిసార్లు ఆకృతి చేసినా ఫలితం ఉండదు.
సాఫ్ట్వేర్ ఇంకా పిండి ముద్ద దశలో ఉన్నప్పుడు (అంటే డెవలప్మెంట్ ప్రారంభ దశలో ఉన్నప్పుడు) దానికి ఆకారం ఇవ్వడం సులభం. కోడ్ వ్రాయబడిన తర్వాత, ఆ పిండి ముద్ద గట్టిపడిపోతుంది. అప్పుడు మార్పులు చేయడం అంటే ఎక్కువ సమయం మరియు శ్రమ వృధా అవ్వడమే.
టెస్ట్ కవరేజ్ మీరు ఎక్కడ చూశారో చెబుతుంది. కానీ మీరు చూసిన విషయం ముఖ్యమైనదా కాదా అని చెప్పదు. 80% కవరేజ్ ఉందంటే మీ సాఫ్ట్వేర్ నాణ్యత ఎక్కువగా ఉందని అర్థం కాదు. బహుశా మీకు అనవసరమైన టెస్ట్లు ఎక్కువగా ఉన్నాయని మాత్రమే అర్థం కావచ్చు.
కవరేజ్ నంబర్ల వెనుక పడటం ఆపండి. దానికి బదులుగా, ఈ ప్రశ్నలు అడగండి:
- మన సాఫ్ట్వేర్ ప్రవర్తన (behavior) గురించి మనకు తెలియని అంశాలు ఎక్కడ ఉన్నాయి?
- వాటిని తెలుసుకోవడానికి అత్యంత వేగవంతమైన మార్గం ఏమిటి?
కొన్నిసార్లు సమాధానం ఒక టెస్ట్ కావచ్చు. తరచుగా, సమాధానం ఒక సంభాషణ (conversation) కావచ్చు. అందరూ స్పష్టంగా ఉన్నాయని భావించే ప్రశ్నలను కూడా మీరు అడగాల్సి ఉంటుంది.
చాలా సాఫ్ట్వేర్లు ఏదో ఒక సమయంలో విఫలమవుతాయి (break). అప్పుడు, మీకు వెంటనే తెలియాలి. యూజర్లు గుర్తించకముందే ప్రొడక్షన్ మానిటరింగ్ (production monitoring) ఏదో తప్పు జరిగిందని మీకు తెలియజేస్తుంది. టెస్టింగ్ ద్వారా దీనిని తక్కువ ఖర్చుతో చేయలేము.
AI దీనిని మరింత కష్టతరం చేస్తోంది. ఇప్పుడు మీరు ఏ విధమైన అవగాహన లేకుండానే కోడ్ మరియు టెస్ట్లను రూపొందించవచ్చు. కవరేజ్ నంబర్లు పెరుగుతాయి, కానీ నాణ్యత తక్కువగానే ఉంటుంది. మీరు పిండి ముద్ద దశను దాటవేసి నేరుగా ఓవెన్కు వెళ్తున్నారు.
టెస్టింగ్ అనేది ఒక లక్ష్యాన్ని చేరుకోవడానికి ఒక మార్గం మాత్రమే. కవరేజ్ అనేది కేవలం ఒక ప్రాక్సీ (proxy) మాత్రమే. అసలైన పని పిండి ముద్ద దశలో జరుగుతుంది. దానిని వదిలివేయకండి.
Source: https://dev.to/susanne_abdelrahman/mystery-bread-2526
Optional learning community: https://t.me/GyaanSetuAi