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