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.
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.
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.
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.
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:
Example - 2:
d) performance testing
Performance testing means that calculate the speed or find the speed of a software, testing team can apply load on SUT.
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).
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.
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.
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.
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.
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.
- Testing Module to Module of 2 Different Software's is Inter System Testing
- Testing Module to Module of same Software is Integration 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:
Example - 2:
d) performance testing
Performance testing means that calculate the speed or find the speed of a software, testing team can apply load on SUT.
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).
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.
- " 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.