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

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.






Saturday, January 5, 2013

Introduction of SQL for software Testers

Note:This introduction of SQL is completely for only Software Testers

 Working with SUT (software under testing) Database:

In general, test automators are using MS-excel files for testdata reading and test results storing MS-excel files can allow cells formatting and charts preparation for the agile based project testing.But, some test automators can use corresponding SUT database for data reading and data storing or data writing.So, test automators need "SQL commands" to access database.

SQL (Structured Query Language)

  • SQL is developed by IBM which is universal language to access database developed in ORACLE,MYSQL,DB2,SQL SERVER,SYBASE,MS-ACCESS,BIGDATA and etc.
  • SQL is used to communicate with a database.It is the standard language for relational database management systems(RDBMS).
  • SQL statements are used to perform tasks such as update data on a database, or retrieve data from a database. Although most database systems use SQL, most of them also have their own additional proprietary extensions that are usually only used on their system. 
  • However, the standard SQL commands such as "Select", "Insert", "Update", "Delete", "Create", and "Drop" can be used to accomplish almost everything that one needs to do with a database.

Client Server Architecture:
It is the most frequently used architecture model to implement the projects.In this model we will contain a main computer called as 'server',which is connected with multiple other computers called 'clients'.
Below diagram explains you the client server architecture:
client server architecture

The server will be used to store the data in an organized manner with the help of software such as SQL server,ORACLE,DB2,MYSQL and etc.Inorder to access aswellas manipulate the data on each client computer we will contain a GUI tool called as 'Application programme' or 'Application software'.They will be developed using technologies like VBScript, Java, Dot-net and etc.

           A project is a combination of one front end and one back end database.It is the responsibility of developer to develop database on the server,design the application programme on the client and implementing the programming logic to back end database.It is the responsibility of a test engineer to perform an operation on the front end application and verify whether it is currently effecting the database back end or not. This process is called "Database Testing".
              
          In simple terms database testing means that giving the data at the frontend application and checking whether that is effecting in backend or not w.r.t to modifications.

SQL server:

This database software was developed by the Microsoft organization like any other microsoft components SQL server can also be used only on windows OS.And currently we are using SQL server 2008R2(10.5) and 2012(11.0) versions.

Management Studio Tool:

Inorder to perform operations such as storing, retrieving and manipulating the data in SQL server we have to use this management tool. It contains a window called object explorer which can be used to perform the operations by following navigations by picking on the 'new Query' icon of the tool bar we will get a 'Query editor' window
using this window we can execute related SQL to perform the operation.

Components of SQL server:

Whatever version of SQL server we are using all will follow the same architecture as specified below:
components of sql server


While operating with SQL server we must use the following steps:

  1. Establish a connection with the server.
  2. Create a location called database in the connected server.
  3. Create an object called 'table' inside the database to store actual data.
  4. Create and use all other objects based on the existing tables.                                                          

Connecting to the server:

We can connect to the SQL server in two ways, they are:
  1. Windows authentication: In this model we use a windows user account to establish a connection with the server. This user accounts will be created and controlled by system administrator.                                                                                                         
  2. SQL server authentication: In this method we use a database user account to establish the connection. They will be created and controlled by the Database administrator(DBA).
Authentication: It is the process of validating the correctness of a user account.

Authorization: It is the process of providing permissions to a valid user.




Recommend on Google

 

Followers

Popular Posts