Load balancing

Load balancing

Load balance testing.  Load balancing is a method of balancing the network traffic to make sure network transactions are distributed across all the servers. for e.g if a server fails during heavy applied in them, load balancer will redirect the transactions to remaining servers. Basically Load balance acts as a reverse proxy. During performance testing this feature is tested usually.

Some of the HTTP status codes

Some of the HTTP status codes

2xx is Success, some of the 2xx are below,
200 OK
204 No Content

3xx is Redirection, some of the 3xx are below,
300 Multiple Choices – client has option to choose one from many
301 Moved Permanently
307 Temporary Redirect (since HTTP/1.1)
308 Permanent Redirect

4xx is Client Error, some of the 4xx are below,
400 Bad Request
401 Unauthorized
403 Forbidden
404 Not Found

5xx Server Error, some of the 5xx are below,
500 Internal Server Error
501 Not Implemented
502 Bad Gateway
503 Service Unavailable
504 Gateway Time-out

Performance testing vs Load testing vs Stress testing vs Endurance testing

Performance testing vs Load testing vs  Stress testing vs Endurance testing

1. Performance testing – The main purpose of Performance testing is to arrive the benchmark & baseline of the system behavior (e.g response time) under normal/moderate load. This test will help performance engineer  to analyse how does the application behave under normal conditions.

 

2. Load testing  – here load will be constantly and steadily increased over a given period of time. i.e the constant load applied for a constant period of time. For example a load of 100 users are applied for 15 min.

3. Stress test – it is meant to push the system beyond the normal load limits or extreme conditions. This test is to make sure the servers don’t crash or what point it crashes. Stress test will  verify the breaking point of the system or how much load, system can withstand.

For example a load of 100 users are applied for 15 min and then 150 users load is applied for next 15 min. then 200 users load is applied for next 15 min. Verify at what point system stopped to respond.

4. Endurance testing – for easy understanding, I would say it is a “Load testing on extended period” to make sure web servers are performing longer period of time. For example a load of 100 users are applied for 48 hours

Note: Once the performance testing is completed successfully, tester can assume the performance requirements are met and he can start load testing. After that Stress testing if required.

Load testing tools in the market are

1) HPE LoadRunner is from Hewlett Packard Enterprise.

2) JMeter – Apache JMeter. It is a Java based performance testing tool works on web communication layer (HTTP)

HTML5 API’s

HTML5 API’s are as below

  • HTML Geo location – used for locating user’s position
  • HTML Drag and Drop- helps to “grab” an object and drag it to different location.
  • HTML Local Storage – this feature is better than cookies where web applications will be able to store data locally within the user’s browser
  • HTML Application Cache – intended to make an offline version of a web application, by creating a cache manifest file. it helps to reduce server load – the browser shall only need to download /update the changed resources from the server.
  • HTML Web Workers – is a JavaScript running in the background, this is will not  affect the performance of the page.

HTML SSE (Server-Sent Events ) is meant to allow a web page to get updates from a server.

HTML 5 – sample code

HTML 5 – sample code

DOCTYPE declaration and character encoding (charset) a s below.

 

<!DOCTYPE html>

<html>

<head>

<meta charset=”UTF-8″>

<title>Title of the document</title>

</head>

 

<body>

Content of the document……

</body>
</html>

Scrum – practical example

Scrum – practical example

Scrum can get easily implemented in any IT industry. Scrum is effective and best way to run any complicated project. Real world scenario on scrum

Assume company has 10 products and 5 product owners.

Each product owner is responsible for 2 products.

Every sprint is planned for  2 weeks (10 days in this e.g. not 28 days)

Monday of first week Sprint planning session for entire day

Product owner explains 2 high level requirements from his product backlog. Scrum team (scrum master, Dev , SQA, implementation, DB team) reviews this and break down into many user stories.

Tuesday onwards, daily 1 meeting i.e stand up call happens and in that people says what I achieved so far, what is planning for today. And what are the main issues which are blocking me.

If any Stand up call produce any shippable product, that can be planned to move to production immediately. Sometimes Sprint review with all interested parties may occur.

 

If both of the requirements are fulfilled by covering all user stories , then next spring planning session can happen on following day to add new requirements.

 

If any one of the requirement can not be fulfilled in 1st sprint and that was found out during Sprint review or subsequent stand up call, product owner can put that requirement back to Product backlog.

 

Scrum is a framework for Agile testing. Some companies uses scrum for innovation process as well where employees only creates the product backlog and start working for it.