Note :

*** తెలుగు లో classes కదా అని అన్ని తెలుగు పదాల లోనే ఉంటాయి అనుకోకండి Easy గా అర్థం కావడం కోసం కొన్ని ఇంగ్లీష్ పదాలనే వాడటం జరగింది.***

Monday, 27 July 2015


Unit Testing


  • Unit Test అనేది application development చేసే సమయం లో చేస్తారు . 
  • దీనిని Developer చేస్తారు . 
  • దీని యొక్క ముఖ్య ఉద్దేశం coding లో ఏమైనా error ఉంటె కనుక్కోవడం . 
  • Unit Testing ను ఎక్కువగా ఆటోమేషన్ లో చేస్తారు అయినపటికి , Manual  గా కూడా చేస్తారు . 


Unit Testing Tools 


కొన్ని Unit Testing గురించి క్రింద చుడండి . 
  • Rational Software - Rational Software by IBM . "Rational Test Realtime". It is used for Ada, Java, C and C++. 
  • JavaScript Assertion Unit- Also known as jsAsserUnit, this Freeware JavaScript unit testing tool can be used on any platform that supports JavaScript.
  • CUT - CUT is a Freeware unit test tool for C, C++ and Objective C. 
  • Dotunit - Dotunit is a .net framework Freeware unit testing tool. Part of Junit on the Microsoft .net framework, Dotunit is used for automating unit testing on windows systems. 

Image result for testing

Unit Testing Limitations
  • Unit testing  ద్వార ప్రతి error ని కనుగొనాలి అని అనుకోకూడదు , ఎందుకంటే ఆ code ను integrate చేసాక కొన్ని కొత్త error వస్తాయి కనుక.  




Thursday, 18 June 2015

Smoke Vs Sanity Testing  

Introduction and Differences


  • Software Testing లో , ఈ Smoke మరియు Sanity testing ని ఎక్కువగా misunderstood చేసుకుంటూ ఉంటారు . 
  • Software Testing ఎంతో subject  ఉన్న వారు కూడా ఈ Smoke మరియు Sanity testing విషయం లో పప్పు లో కాలు వేస్తూ ఉంటారు . 
  • ఈ క్రింది చెప్పే ఈ వ్యాసం , smoke మరియు sanity testing లో గందరగోళం ను పరిష్కరించడానికి ఒక ప్రయత్నం చేస్తుందని భావిస్తునాను . 
  • smoke మరియు sanity testing మద్య అతి ముక్యమైన key differences ని ఈ క్రింది చిత్రంలో  చూడవచ్చు. 
Software Build?

    "Software Build" అంటే ఏమిటంటే , మీరు ఒక చిన్న computer program ను develop చేసారు అనుకుందాం . దీనికి కేవలం ఒకే ఒక source code file, కలిగి ఉంది అనుకుందాం . దీనికి మీరు executable file కోసం దినిని compile మరియు  link చేస్తారు . ఇది సమస్య కాదు . 
       
        అదే మీరు ఓ కష్టతరమైన , పెద్ద Software Project ని develop చేసారు అనుకుందాం . అందులో కొన్ని సార్లు 100 లలో , 1000 లలో source code files ఉంటాయి . దీనికి executable program ని తయారు  చేయాలంటే , ఎంతో సమయం తో కూడుకున్న పని . అందుకే అప్పుడు "build" software ను executable program కోసం వాడటం జరుగుతుంది . దీనినే "Software Build" అంటారు . 
Smoke Testing?
  • Software build ని software build తర్వాత , program లో critical functionality(s) సరిగ్గా work చేస్తున్నాయో లేదో తెలుసుకోవడం కోసం నిర్వహిస్తారు . 
  • దినిని regression test కన్నా ముందే నిర్వహిస్తారు . 
  • badly broken application ను reject చేయడమే దిని యొక్క ముక్య ఉద్దేశం , దిని వలన QA TEAM , software application ను installing and testing కోసం సమయం waste చేయదు . 
  • ఈ Smoke Testing కోసం రాసే test cases లో ఎక్కువగా అత్యంత ముక్యమైన సిస్టం యొక్క functionality or component పై ద్రుష్టి పెడతారు . 
For Example : Application launches successfully అవడం కోసం , GUI యొక్క responsive ... etc. ఎలా ఉందో చూడటం . 
Sanity Testing?
code లో చిన్న చిన్న changes తో కూడిన software build ను  అందుకున్న తర్వాత , Sanity testing ను ఆ bugs ని fix చేయడం కోసం , దీనిలో కలిగే మార్పు వలన వచ్చే issues ని కనుగొనడం కోసం నిర్వహిస్తారు . 
దిని యొక్క ముక్య ఉద్దేశం functionality, సరిగ్గా  expected అవుతున్నాయో లేదో రఫ్ గా check చేయడమే . 
sanity test విపలం (fail ) అయితే అటువంటి build ని reject చేసేస్తారు . దిని ద్వార time అలాగే cost రెండు ఆదా చేయవచ్చు . 
For instance: మీరు ఒక్క  scientific calculator ప్రోగ్రాం లో 2 + 2 =5! ఇస్తున్నట్లు program రాసారు అనుకోండి . అటువంటపుడు , there is no point testing the advanced functionalities like sin 30 + cos 50.

Smoke Testing Vs Sanity Testing 

Smoke Testing
Sanity Testing
Smoke Testing అనేది కష్టతరమైన  functionalities , program లో సరిగ్గా work అవుతోందో లేదో check చేయడ0 కోసం చేస్తాం . Sanity Testing అనేది new functionality / bugs , fixed గా ఉన్నవో లేదో చెక్ చేయడం కోసం చేస్తాం . 
 ఇది developers or testers చేస్తారు . ఇది ఎక్కువగా testers చేస్తారు . 
దీనిని Regression testing యొక్క subset  గా చెప్పవచ్చు . దీనిని Acceptance testing యొక్క subset  గా చెప్పవచ్చు . 
దీనిని entire  system from end to end check చేస్తారు .  దీనిని కేవలం particular component కి మాత్రమే apply చేస్తారు . 
Smoke testing అనేది General Health Check Up లాంటిది . అదే Sanity Testing అనేది specialized health check up లాంటిది . 

Monday, 18 May 2015

Automation Testing

ఆటోమేషన్ టెస్టింగ్ (Automation Testing) :

               Manual testing లో మనం ఒక ప్రాజెక్ట్ ని మనుషులు  టెస్ట్ చేస్తారని తెలుసుకున్నమ్. యిప్పుడు  Automation Testing  గురించి తెలుసుకుందాం . 



  • Automation Testing  టెస్టింగ్ అంటే ఒక టెస్ట్ కేసు ని ఒక automation tool ద్వార టెస్ట్ చేయడాన్నే Automation Testing అంటారు. 

  • ఇందులో  test data ని సిస్టం లో ఆటోమేటిక్ గా ఎంటర్ చేసి expected మరియు actual  results ని మొత్తం ను test  reports గా అందిస్తుంది . 

  • అయితే Automation Testing చేయాలి అంటే అందుకోసం టెస్టింగ్ టూల్స్ పై అవగాహనా ఉన్న సిబ్బంది మరియు టూల్స్ కావలసి ఉంటుంది అందుకే ఇది కొంత కర్చుతో కూడుకున్న పని . 

  • అయితే Automation Testing వలన వందమంది చేయగల పని ఒక్కరే చేయగలుగుతారు . ఒక్కసారి ఇందులో టెస్ట్ కేస్ ని రికార్డు చేసి ఉంచినట్లయితే మనకి ఎపుడు కావలసి వస్తే అపుడు ఎన్నిసార్లైన వాడుకోవచ్చు . 
  • *** ముక్యమైన పాయింట్ ఏమిటంటే, Automation Testing యొక్క ముక్యమైన ఉద్దేశం ఏమంటే పలుమార్లు చేసే పనిని manual testing గా కాకుండా Automation చేయడమే తప్ప  manual testing ని eliminate  చేయడం కాదు . 



Why Automated Testing?

            
              Automated testing అనేది ఈ క్రింది కారణాల చేత ముక్యమైనది గా భావిస్తారు .  

  • Manual Testing ద్వార అన్ని work flows, అన్ని fields , అన్ని negative scenarios కనుగొనాలి అంటే సమయం మరియు ఎక్కువ ఖర్చు తో కూడుకున్న పని. 
  • multi lingual sites ని manually గా టెస్ట్ చేయడం కష్టం తో కూడుకున్న పని . 
Image result for automation gears
  • దీనికి ఎక్కువ మంది నిపుణులతో పని లేదు . 
  • Automation ద్వార టెస్టింగ్ speed ఎక్కువ గా ఉంటుంది . 
  • Manual Testing చేస్తూ ఉంటె కాసేపటి తర్వాత boring గా ఉంటుంది దిని వలన ఎక్కువ error వచ్చే అవకాసం ఎక్కువ . 

 

Which Test Cases to Automate?


    Image result for automation gears
  1. High Risk - Business Critical test cases. 
  2. Test cases that are executed repeatedly.  
  3. Difficult to perform manually. 
  4. which are time consuming. 


ఈ క్రింది సమయాలలో  automation అనేది not suitable:

Image result for no automation
  • Test Cases కొత్తగా design చేసినపుడు మరియు ఒక్కసారి కూడా  manually  టెస్ట్ చేయకుండా ఉన్నపుడు . 
  • Test Cases ని requirements ని frequently మార్పు చేయాలి అనుకున్నపుడు . 


Automation Process

**** మరింత సమాచారం తరవాయి బాగం లో తెలుసుకుందాం ....  ****