Tuesday, 12 May 2015

MT - 5 - What is the difference between client-server testing and web based testing?

CLIENT / SERVER TESTING
In client server application you have two different components to test. Application is loaded on server machine while the application exe on every client machine. You will test broadly in categories like, GUI on both sides, functionality, Load, client-server interaction, backend. This environment is mostly used in LAN networks. You are aware of number of clients and servers and their locations in the test scenario .This type of testing is performed over 2-tier architecture or client-server architecture where client sends the request and server process it. If we look at the structure its simple but as a security perspective , the architecture is unsecure. Here we will be having front-end and backend.This has forms & reporting at front-end (monitoring & manipulations are done) [using vb, vc++, core java, c, c++, d2k, power builder etc.,] -> database server at the backend [data storage & retrieval) [using ms access, sql server, oracle, sybase, mysql, quadbase etc.,]

The application launched on front-end will be having forms and reports which will be monitoring and manipulating data

The backend for these applications would be any database from where the sate is fetched .As an example we can take MS Access, SQL Server, Oracle, Sybase, Mysql, Quadbase

The tests performed on these types of applications would be
– User interface testing
– Manual support testing
– Functionality testing
– Compatibility testing & configuration testing
– cross-browser testing
- Client server Interaction


WEB TESTING
Web application is a bit different and complex to test as tester don’t have that much control over the application. Application is loaded on the server whose location may or may not be known and no exe is installed on the client machine, you have to test it on different web browsers. Here we access web servers using web browsers .Web applications are supposed to be tested on different browsers and OS platforms so broadly Web application is tested mainly for browser compatibility and operating system compatibility, error handling, static pages, backend testing and load testing
This is done for 3 tier applications (developed for Internet / intranet / xtranet)
Here we will be having Browser, web server and DB server.

The applications accessible in browser would be developed in HTML, DHTML, XML, JavaScript etc. (We can monitor through these applications)

Applications for the web server would be developed in Java, ASP, JSP, VBScript, JavaScript, Perl, Cold Fusion, PHP etc. (All the manipulations are done on the web server with the help of these programs developed)

The DBserver would be having oracle, sql server, sybase, mysql etc. (All data is stored in the database available on the DB server)

The tests performed on these types of applications would be
– User interface testing
– Functionality testing
– Security testing
– Browser compatibility testing
– Load / stress testing
– Interoperability testing/intersystem testing
– Storage and data volume testing

MT - 4- Debugging & Testing - Is there a difference ?

Both the terms looks alike but there are lots of differences. The main intention of testing is to find bugs and check that built system is in accordance with the client requirements but the intent of debugging is to locate the bug. When any defect is logged by a tester the developer debugs the particular code or module to locate the exact bug. In debugging we analyse ,locate and fix the causes of failures in the software. On the contrary testing is either a static or dynamic process of finding a bug in the system. In testing we check the sync  between the requirement and end product.

Sunday, 3 May 2015

MT - 3 - What is difference between client side and server side verification?

For web based applications we may have 2 type of verifications , one at the front end and one at back-end(also called back session). So if we look at the client-server architecture the client is referred to the web browser while server is a common machine which shares data on request across all the clients.
So server side verification is required when we need server resources to validate the input given by user while client side verification does not requires server resources.
For example : Suppose we are trying to login any application or tool and our email id and password is required condition is that the password should be minimum of 8 characters :
so lets suppose we give the credentials as :
Username : pratyush37.gmail.com
password: prats123

So here we don't need a server side verification because the format is wrong of email and the password only contains 7 characters . So we need not to send any response to server for this.
Here we create a small script to check the user input, those scripts are either created in VB or java.

For server side verification we send request to server to validate the input given by user ,here server side scripting language like PHP or ASP.net is used. These scripts checks the input against the database at server side.

The client verification is at browser level and it reduces the traffic as we are not sending request to server for wrong data.Also client verification is fast than the server.