Showing posts with label Functional Testing. Show all posts
Showing posts with label Functional Testing. Show all posts

Friday, February 22, 2013

Introduction To HP-QTP


                           Introduction to QTP

History of QTP:

‘QTP’ stands for ‘Quick Test Professional’. This tool is combination of Mercury- Interactive Winrunner and Atra’s Quick test tools. The current owner of QTP is HP(Hawlet and Packerd)and current version is QTP 11.0.
  • Developed by HP
  • Functional testing tool
  • Run in windows computer like XP,Vista,and Seven like client side OS and 2003 server, 2008 sever like sever side OS.
Differences between HP-QC 10.0 and HP QTP 11.0

HP-QC 10.0
  • HP-QC is developed by HP.
  • HP-QC is a test management tool including defect reporting and tracking.
  • HP-QC will run on only server side OS like 2003, 2008.
  • P-QC is reporting defect to specific person.
HP QTP 11.0
  • HP-QTP is developed by HP.
  • HP-QTP is a functional testing tool.
  • HP-QTP will run on client and server side OS.
  • HP-QTP defect detecting from software.
Manual testing Vs Automation testing

In general, testing people can test a software by executing test cases but, test cases are in folders or in QC database in server computer. But, to  decrease the time in test cases execution on SUT testers are going to ‘test automation’.

‘Test excecution’ means comparing the test cases expected value to the SUT actual value which is compared by the manual tester (Manual Testing).
                                                                                 
From the above diagram manual testing means comparison of the test cases expected value to the SUT actual value which is compared by the manual tester.

From above diagram test automation means that the conversion of test cases into programatical testscripts. Here, test cases are in English language and stored them in a folder or in QC database.

“Automated testing” means that execution of test scripts on SUT to compare expected values and actual values.

Double V – Model:  (VV and A model)

From the above model, Software testers are reading SRS(Verification ) to understand project requirements, writing test scenarios and cases (Validation) for responsible modules and testing topics and automate those cases (Automation) by using QTP like testing tools i.e., VV and A model.

Need for test automation in software testing

From the above table, automation was needed for regression levels of functional testing and all levels of performance testing. There is no wellknown tools in market for all other Non-Functional testing.

Need for Automation Testing in Functional Testing

From previous heading, Automation is applicable for regression levels of functional testing to save time. Because, manually sanity testing and regression testing are taking more time. Due to these reasons testers are following below factors to goto functional test automation by using QTP like Tool.

The following types of functional test cases are preffered (But not limited to) for automation:
  • Tests that need to run for every build.
  • Tests that use multiple data values for same action.
  • Identical functional tests that need to be executed using different browsers .
Ex: Websites.

The following types are not considered to be good cases for automation:
  • Test cases that executed only once.
  • Test cases used for adhoc / random testing.
  • Test cases that are infrequently selected for execution.
  • Test cases that will require manual interaction i.e, a task not possible to automate.
  • The most important one that is based on intuition and knowledge of application.
EX: If you find that you cannot escape from manual interaction (ex: Intellegent games).

 Functional Test Automation Tools:

There are four generations of functional testing tools:
In 1st generation, we can see all commercial tools and they are using vendor languages to write test scripts.
   
Example: Winrunner, SQA Robot, Silk test ….. etc (Commercial tools + Using own languages)


In 2nd  generation, we can see all commercial tools and but they are generating test scripts in generic languages. 

Example: QTP(HP),  RFT (IBM) (Rational Functional Test), Test complete(Compuware). 

In 3rd generation we can see open source tools they are using generic languages to generate testscripts . But, support is the problem.

 Example: Selenium, Sahi, Watir…. Etc.

In 4th generation opensource generic languages directly to write testscripts. But, those languages are typical or complex to testers. Because testers are not strong in the programming.

Example:   Perl, Python ……. Etc

Launching QTP Tool :

Double Click on QTP tool logo --> Click continue in license window--->Click OK in add-in manager window--->OK---> File menu--->New--->Test.

TestScripts in QTP Tool:

From introduction of QTP, Functional test cases are automatable using QTP tool. An automated program in  QTP is called as Script or TestScript.

Testers are writing test scripts in QTP tool by using 4 languages as shown in below figure.

Proof Of Concept (POC):

After launching  QTP tool and before writing test scripts, test automators can follow navigation for proof of concept means that QTP tool is supporting automation on SUT.

In this POC process, test automators can follow below steps:
  1. Knowing Technology used by developers to develop SUT screens and database.
  2. Launch QTP tool with suitable add- ins w.r.t SUT technology used by developers.
  3. Click continue in license window while launching QTP.
  4. Tools menu-à object spyàapply hand icon on SUT objectsàObserve identification properties of corresponding objects.

Sunday, January 27, 2013

Testing Stages or Phases (Software Testing)

4) Software Testing

From Fish,V, and Agile model, a seperate testing team is available for testing to validate a software w.r.t customer requirements and expectations.
Testing Stages or Phases (Software Testing)

1. Functional Testing 

In general, a seperate testing team job can start with functional testing to validate the customer requirements in Software Under Testing (SUT) and it is a mandatory testing topic in software testing. This functional tsting is classified into below software tests:

a) GUI testing ( Graphical User Testing ) / Control flow testing / behavioral testing 

During this testing tester can operate each object in every screen to validate that object is operatable or not. Which means that, testing whether the software screens are behaving / responding correctly or not while navigation ( operating them ). 
       In simple terms, GUI testing means that software is operatable or not.

b) Input Domain Testing 

During this testing , testing team can validate the correctness of size and type of every input object in every screen of Software Under Testing  (SUT).
        In simple terms,input domain testing  means that, testing whether software screens are taking correct inputs or not. 

c) Error handling testing

During this  test, testing team can operate full screen of SUT by giving invalid data to objects to get error messages or prompt messsages.
        In simple terms Error handling testing means ,whether software screens are returning error messages or not when we operated those screens in wrong manner. 

d) Manipulations testing 

During this  test, testing team can operate each screen of SUT by giving valid data to objects to get exact outputs w.r.t to given inputs.
         In simple terms , manipulation testing means that ,Testing whether software screens are proving correct outputs or not with respect to given inputs. 

e) Database testing ( back end ) 

Testing whether software screens are storing and manipulating data in the database corresponding  to opertrations performed in the front end. Which means  perform operations on Frontend - Observation on Backend 

         In simple terms, new data correctly inserted or not. and exixting data corretly modidfied or not w.r.t new data in the database.
  • Data Validation : New data correctly stored or not. 
  • Data Integrity    : Due to New Data Storage, Existing related Data got Modified or not. 

Note : In the Above Functional Testing Topics, first 4 Sub-Tests are considered as Frontend Testing or Screens Testing. Database Testing Topic is called as Backend Testing. 

f) Data volume testing 

This testing is also called as "Memory testing" or "Data capacity testing". During this test, testing people can insert the model data or real data from the front end screens to the back end database of SUT until corresponding database is full.


Testing Stages or Phases (Software Testing)
g) Intersytem testing or SOA testing

Sometimes our SUT is able to connect to other software via network to share external database. This type of sharing services testing is also called as Intersystem system testing /  SOA testing / web services testing / Interoperability testing / end to end testing.


  • Due to Globalization in the world, Companies are using Inter Connecting Software's to Share Resources. 
  • Software's that are helping the Software's are called as Service Oriented Software's. 
  • Software's that are using the Services of other Software's are called as Service Utilizers. 
Difference between Intersystem Testing and Integration Testing 
  • Testing Module to Module of 2 Different Software's is Inter System Testing 
  • Testing Module to Module of same Software is Integration Testing. 
2. Non - Functional Testing 

After Completion of Functional Testing, corresponding Testing Team is concentrating on Non Functional Testing to validate the customers expectations. so, thats why this type of testing is also called as "expectations testing". 
         During this testing team can concentrate on characteristics of software like usability, performance, compatibility, installation and etc. Due to this reason, this Non Functional Testing is also called as "Characteristics testing". 
        And without complete development of software this non functional testing cannot be performed. so we need a whole system to test. so, thats why this Non Functional Testing is also called as "System testing". 
In non functional testing, we have 10 sub tests as mentioned below. 

a) Usability Testing 

During this test, testing team is concentrating on the following expectations from corresponding SUT. 
SUT 
Software under Testing. 
* Ease of Use. 
* Look and Feel. 
* Short Navigations. 
* Understandable HELP ( User Manuals - HELP Documents of that Software ) 

b) Compatibility Testing 

This Testing is also called as Portability Testing. 
During this Test, Testing Team can operate SUT in various customer expected platforms. 
Here, Platform means Computer Operating System, Browsers and other System Software's. 

c) Hardware Configuration Testing 

This Testing is also called as Hardware Compatibility Testing . 
During this Test, Testing Team can confirm whether our SUT supports Hardware Devices belonging to Different Technology or Not. 
Example 
Different Types of Networks 
Different Types of printers 
Different Types of scanners
Different Types of fax machines, . . . 

Example - 1:
HW Configuration Testing















Example - 2:
HW Configuration Testing
d) performance testing

Performance testing means that calculate the  speed or find the speed of a software, testing team can apply load on SUT.
performence testing


The above performance testing is classified into below sub tests:

Load testing: Execution of SUT under customer expected configuration and customer expected load ( number of concurrent users ) to estimate the speed in processing  is called as "Load Testing". We can use the load runner tool to measure  this load.

Stress testing : Execution of SUT under customer expected configuration and more than customer expected load to estimate peak load ( maximum load, the project can handle )  is called as " stress Testing"

Spike testing : Execution of SUT under customer expected configuration and huge load   is called as "Spike Testing"

Endurance testing : Execution of SUT under customer expected configuration and customer expected load repeatedly long time without any memory leakages is called as endurance testing or soak testing or longivity.

e) Security Testing:This testing  is also called as penetration testing. During this testing, testing can conduct on below three sub tests on SUT:
i) Authorization / Authentication testing: It means that that the software is allowing valid users and prevent invalid users or not. 

ii) Access control testing: It means that whether valid user is having the permissions to access the certain functionality or not.

iii) Encryption Decryption testing: It means that whether our client process and server process are using typical encryption and decryption process or not. To conduct this test one needs to have knowledge of hacking and organizations can try to recruit hacking knowledge people with  working bond (e trust people). 
encryption decryption testing


h) Multi languity testing : During this test, testing team is validating SUT functionalities by entering inputs in various languages, when that software screens are developed in Java or .Net or other Unicode technologies. 
There are two ways in multi languity testing :
1) Localization 
2) Globalization

i) Installation testing : During this test, testing team is checking whether the software is easy to install on customer expected configured system or not. 
installation testing


  • " setup" program execution to start initialization. 
  •  easy screens during installation. 
  •  occupied disk space after installation. 
  •  easy to un install 


Note - 1 : Non functional tests except usability testing are expensive to conduct.

Note - 2 : Security testing to conduct testers will need the hacking knowledge.so, this test will not be conducted.

Note - 3 : Multilanguity testing to conduct testers will need multiple people languages or knowledge on atleast on language conversion tool. so, this test will not be conducted.

Note - 4 : (Parallel testing) When our software is product, testing team can compare our software with previous versions of the same software and with competitive product in market to find weakness and strengths.so, this testing is called as competitive testing or comparison testing.  And this testing is called as "Parallel Testing".

Note - 5 : (Compliance Testing) During software testing, management can test testing the teamwork to conform that whether testing team can finish testing at right time or not. And whether the developed software is meeting the testing standards and quality or not. This managemental testing is called as "Compliance testing".
Due to this reason reason management people will work as QA people and testers will  as QC people.






Recommend on Google

 

Followers

Popular Posts