Wednesday, July 31, 2013

Web Page Rendering

Below are the step-by-step descriptions of how page get displayed in your browser when you simply enter some URL in address bar:
1.    You type an URL into address bar in your preferred browser.
2.    The browser parses the URL to find the protocol, host, port, and path.
3.    It forms a HTTP request
4.    To reach the host, it first needs to translate the human readable host into an IP number, and it does this by doing a DNS lookupon the host
5.    Then a socket needs to be opened from the user’s computer to that IP number, on the port specified (most often port 80)
6.    When a connection is open, the HTTP request is sent to the host
7.    The host forwards the request to the server software (most often Apache) configured to listen on the specified port
8.    The server inspects the request (most often only the path), and launches the server plugin needed to handle the request (corresponding to the server language you use, PHP, Java, .NET, Python?)
9.    The plugin gets access to the full request, and starts to prepare a HTTP response.
10.  To construct the response a database is (most likely) accessed. A database search is made, based on parameters in the path (or data) of the request
11.  Data from the database, together with other information the plugin decides to add, is combined into a long string of text (probablyHTML).
12.  The plugin combines that data with some meta data (in the form of HTTP headers), and sends the HTTP response back to thebrowser.
13.  The browser receives the response, and parses the HTML (which with 95% probability is broken) in the response
14.  DOM tree is built out of the broken HTML
15.  New requests are made to the server for each new resource that is found in the HTML source (typically images, style sheets, and JavaScript files). Go back to step 3 and repeat for each resource.
16.  Stylesheets are parsed, and the rendering information in each gets attached to the matching node in the DOM tree
17.  Javascript is parsed and executed, and DOM nodes are moved and style information is updated accordingly
18.  The browser renders the page on the screen according to the DOM tree and the style information for each node
19.  You see the page on the screen 

Friday, July 19, 2013

Test Plan and Test Strategy

Test strategy:
This document is normally prepared by project manager using business requirement documents and is normally not updated frequently.

Test Plan:
This document is prepared by test lead or Senior Test engineer using SRS, use case document, product description. This is usually derived from test strategy. This document is updated with each release or build

Components of the Test Strategy document Components of the Test Plan document
Scope and Objectives Test Plan id
Business issues Introduction
Roles and responsibilities Test items
Communication and status reporting Features to be tested
Test deliverability Features not to be tested
Industry standards to follow Test techniques
Test automation and tools Testing tasks
Testing measurements and metrices Suspension criteria
Risks and mitigation Features pass or fail criteria
Defect reporting and tracking Test environment (Entry criteria, Exit criteria)
Change and configuration management Test delivarables
Training plan Staff and training needs