Mar 28

Web Services are tested for throughput, efficiency, and response simulating real-world conditions. A well designed load-testing strategy can simulate real-world load and performance scenarios with minimal hassle and cost. User loads and network conditions of varying nature can be effortlessly created and replicated. Testing can be undertaken till the output charts show a performance range considered acceptable for an application of its nature. Load-testing results can hence be taken as a strong indicator of application performance in actual business environments.

Adding Thread Group: Thread group element controls the number of threads. Thread group allows the following controls:

1. Set the number of threads

2. Set the ramp-up period

3. Set the number of times to execute the test plan (Loop)

First control tells JMeter to execute the number of threads to execute the test.

Second control tells JMeter how long to “ramp-up” to the full number of thread chosen.

If 10 threads are used, and the ramp-up period is 100 seconds, then JMeter will take 100 seconds to get all 10 threads up and running. Each thread will start 10 (100/10) seconds after the previous thread was begun.

Third control tells Jmeter how many times to execute the test plan.

Adding WebServices Requests: Samplers are used to tell Jmeter to send requests to a server. For load/stress testing of WebServices select WebService (Soap) Request sampler.

Step 1: On Thead Group use Add–> Sampler--> WebService (Soap) Request.

Step 2: Enter the WSDL URL and click on “Load WSDL”.

If the WSDL was loaded successfully, the “Web Methods” drop down should be populated. Otherwise it will prompt some error or exception.

Step 3: Select the web method and click “Configure”. The sampler populates the “URL”, Path and “SOAPAction” text fields. Change the proxy setting of the browser i.e. Http Proxy: localhost; Port: 8080.

Step 4: Paste the SOAP message in the “SOAP/XML-RPC Data” text area. We can optionally save the soap message to a file and browse to the location. We can also use message folder.

The sampler will randomly select files from a given folder and use the text for the soap message.

Jmeter1 (2)

Adding Listener to Store or view Test results: Listeners are use for storing all of the results of your HTTP requests in a file and presenting a visual model of the data. Select Add–>Listener–>View Results Tree (Select the type of graph you want to use as listener).

From run menu run the test plan. The result will be stored in the listener.

Load Testing Metrics and Parameters
The results obtained by load testing Web Services can potentially be reflected in terms of the following parameters.

Response time: It’s the most important parameter to reflect the quality of a Web Service. Response time is the total time it takes after the client sends a request till it gets a response.

Number of transactions passed/failed: This parameter simply shows the total number of transactions passed or failed.

Throughput: It’s measured in bytes and represents the amount of data that the virtual users receive from the server at any given second. We can compare this graph to the response-time graph to see how the throughput affects transaction performance.

Load size: The number of concurrent virtual users trying to access the Web Service at any particular instance in an interval of time.

CPU utilization: The amount of CPU time used by the Web Service while processing the request.

Memory utilization: The amount of memory used by the Web Service while processing the request.

Wait Time (Average Latency): The time it takes from when a request is sent until the first byte is received.

Sample Graph Result: Below is the sample graph result for a load test of webservices.

img_500_10_2_15

References: Apache JMeter by  Emily H. Halili

http://jakarta.apache.org/jmeter/usermanual/build-ws-test-plan.html

Tagged with:
Mar 23

Introduction

Cascading Style Sheets, also known as CSS is a type of style sheet language that is used to create and design customized web pages with a functionality to create multiple pages using the same style. CSS is primarily created to bifurcate the document content from document presentation, including elements such as layout dimensions, look, colors and fonts. Almost every web browser available in the market knows and possesses ability to handle CSS. CSS is best Web page formatting language available till date. A very few no. of popular browsers can’t handle it as well as they should but, plenty of support is available and developers are tending to use it much more often. It provide ability to define colors, backgrounds, borders, margins, alignment, fonts, sizes and lots of other things for almost any part of web page(s).

Talking about what’s the latest in CSS, it the CSS3. CSS3 introduces bunch of new opportunities for developers to create an emphatic designs, leveraging web development and more diverse style sheets for variety of occasions and more.

Some different CSS3 techniques that work well in some of the leading browsers (i.e. Firefox, Chrome, Safari, Opera), but unluckily users of Internet Explorer are out of luck. IE will still render the backgrounds and native CSS as usual; it just won’t understand the CSS3 style properties.

Since CSS3 is not fully supported yet, developers are suggested to use browser specific extensions:

  • Mozilla/Firefox/Gecko: -moz-
  • Webkit (Safari/Chrome): -webkit- (note: Some webkit prefixes only work in Safari, and not Chrome)

Exciting new functions and features are brought up by CSS3:

  • BORDERS:
    1. Border Color:

      CSS3 introduced some beautiful options for multiple border colors using CSS property : Border-color. Here’s example :

      Code:
      <div style=”width: 200px;border: 8px solid #FF0000; -moz-border-bottom-colors: #F08080 #CD5C5C #A52A2A #B22222 #800000 #FFE4E1#BBBBBB #CCCCCC #FFE4E1 #bbb #ccc; -moz-border-top-colors: #F08080 #CD5C5C #A52A2A #B22222 #800000 #FFE4E1 #BBBBBB #CCCCCC; -moz-border-left-colors: #F08080 #CD5C5C #A52A2A #B22222 #800000 #FFE4E1 #BBBBBB #CCCCCC; -moz-border-right-colors:#F08080 #CD5C5C #A52A2A #B22222 #800000 #FFE4E1 #BBBBBB #CCCCCC; padding: 5px 5px 5px 15px; background-color: #F08080; width:447px;font-size:36px;”> Sample for Border Colors……..</div>

      Colorful Borders

    2. Rounded Borders:

      CSS3 provides variety of ways to create rounded corners on boxes. This easiest terminology is the addition of “extra mark-up” that can be applied directly on the web page(s), while the classical approach is to add the mark-up through DOM manipulation. CSS3 added another cool feature: “border-radius” which can eliminate the need (for images) to create rounded corners in most cases. This function has been implemented in Mozilla FF and Safari.

      Code:
      <div style="background-color: #F08080; width:447px;font-size:32px;
      -moz-border-radius: 10px;
      -webkit-border-radius: 10px;
      border: 5px solid #999999;
      padding: 10px;"> Sample for Rounded Borders……..</div>

      Rounded Borders

      Border Radius can also be customized as follows:

      • moz-border-radius-topleft / -webkit-border-top-left-radius
      • -moz-border-radius-topright / -webkit-border-top-right-radius
      • -moz-border-radius-bottomleft / -webkit-border-bottom-left-radius
      • -moz-border-radius-bottomright / -webkit-border-bottom-right-radius
    3. Border Shadows: The border shadow effect accepts multiple values.
      • First ,  the color of the shadow. It will accept four length values, and the first two are the x (horizontal) offset and the y (vertical) offset.
      • The next value is the amount of blur added to the shadow.
      • The fourth and final value is the spread amount of the blur. Box shadow will also accept an inset keyword that will create an inset shadow.

      This really helps developers to use CSS for creating image like elements helping to increase performance incredibly by reducing the use of images in their web page.

      Code:
      <div style=" margin:150px; background-color: #F08080; width:447px;font-size:32px;
      box-shadow: #333 5px 5px 8px;
      -moz-box-shadow: #333  5px 5px 8px;
      -webkit-box-shadow: #333  5px 5px 8px;
      border: 5px solid #804040;
      padding: 10px;"> Sample for Border Shadows……..</div>

      bordershadow

    4. Border Images:

      This is another very compelling property in CSS3. It is capable of creating really cool visual effects that makes the exact slicing of images (and their positioning around an element) quite easy. The most obvious use of them exists in constructing beautiful scalable buttons.

      Code:
      <div style="margin: 0 30px; width: 227px; padding: 14px;
      -moz-border-image: url(‘border-img.png’)32 32 32 32 round round;
      -webkit-border-image: url(‘border-img.png’)32 32 32 32 round round;
      border-image: url(‘border-img.png’)32 32 32 32 round round; border: 1em double #000; background-color: #F08080; width:447px;font-size:32px;
      padding: 10px;">Sample for Border Images……</div>

      borderimages

  • TEXT EFFECTS
    1. Text Shadow:

      Shadow to text is another CSS3 feature that can be added to the webpage(s). It can eliminate some images to speed up the webpage’s loading, and at the same time, make webpage(s) more beautiful. It can be used to create a slightly blurred, slightly moved copy of text, which ends up looking somewhat like a real-world shadow. Shadow effects are applicable exactly in the same order as they’re specified. They don’t increase the size of a box, though they can extend past their boundaries, and their stack order is the same as the element itself.

      Code:
      <div style=" color: #A1A1A1; margin: 150px; background-color: #F08080; width:447px;font-size:32px; text-shadow: 5px 3px 4px #000; border: 5px solid #804040;padding: 10px;"> Sample for Text Shadows……..</div>

      textshadow

    2. Text Wrap:

      CSS3 introduced word wrap feature. So often long words break the web design. The CSS3 word-wrap property allows long words to be broken and wrapped onto the next line. It takes in two values; normal or break-word. In the first paragraph below, normal is used. This is the same as if the property wasn’t used, i.e. the long word breaks out of the box as there isn’t enough width for it to be fully contained in the box. In the second paragraph, break-word is used and the long word is broken into two pieces, so that the second part wraps onto the next line.

      Code:
      <div style="padding:5px; margin:50px; width:670px;font-stretch: extra-expanded; font-size:26px">
      <strong>Word Wrap</strong><br /><br />
      <div style="background-color: #F08080; width:447px;font-size:20px;
      -moz-border-radius: 10px;
      -webkit-border-radius: 10px;
      border: 5px solid #999999;
      padding: 10px;">
      Sample for word wrap………This is veryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryvery long word</div>
      <br />
      <div style="background-color: #F08080; width:447px; font-size:20px;
      -moz-border-radius: 10px;
      -webkit-border-radius: 10px;
      border: 5px solid #999999;
      padding: 10px; word-wrap: break-word;">
      Sample for word wrap………This is veryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryveryvery long word</div>
      </div>

      wordwrapcombined

    3. Text – Overflow:

      The text-overflow property allows developers to handle with clipped text: i.e, text that does not fit into its box. If text is too long for the overflow/clipping area and the content is to be visually clipped, this property allows the clipped content to be visually represented by the string “…” (called an “ellipsis”) in the non-clipped area.

      Code:
      <style type="text/css">
      div.textOverflowExample {
         white-space: nowrap;
         width: 14em;
         height: 1.6em;
         overflow: hidden;
         border: 1px solid #000;
         background-color: #fff;
         background-color: #F08080; width:447px; font-size:20px;
         border: 5px solid #999999;
      padding: 10px;
      border: 5px solid #999999;
      padding: 10px;
        
      }
      div.textOverflowExample:hover {
         -o-text-overflow: inherit;
         text-overflow: inherit;
         overflow: visible;
      }
      </style><div class="textOverflowExample">This is text overflow sample……Move your mouse cursor to see it’s effect……</div>

    4. abc

      To conclude even though CSS3 specifications are still on their way, some of its features have already recognized by latest web browsers. This has provided a great-great opportunity to web developers to experiment and head-up new features well in advance. Some of the features are compiled here that can speed up and bring web developers to the cutting edge of CSS3 development. Stay tuned for more…!

Tagged with:
Mar 11

Scrum is a process for developing products such as software and quickly getting the products to the customer. Scrum is based on empirical controls through inspection and adaptation.

Scrum consists of iterations called Sprints. Each sprint has calendar days and during the sprint, a development team builds an Increment of potentially shippable product functionality. To initiate a Sprint, a product owner or business owner meets with the team for a 1-day Sprint Planning Meeting. At the meeting, business/product owner reviews the top priority requirements on a Product Backlog, which is a prioritized list of all requirements that are known for the product of system at that time.

The Development team selects that top priority Product Backlog that it believes it can turn into an increment of potentially shippable product functionality (increment) within the next sprint. Once the product owner and development team have agreed on what product backlog to select, the team develops a list of tasks needed to the build the functionality. This list of tasks emerges throughout the Sprint and it called sprint backlog.

The sprint starts immediately after the Sprint Planning Meeting. Everyday, ScrumMaster/Project manager meets with the development team for short daily status meeting called daily scrum. At the end of the sprint, the development team, ScrumMaster, Product owner and other stakeholders meet at a Sprint Review Meeting. At this meeting, the development team demonstrates the increment of the functionality that it developed during the sprint.

Figure: Scrum Process

Scrum uses two complementary, parallel cycles to build releases of a system. One cycle sustains an emerging list of prioritized requirements called product backlog. The other cycle consists of development iterations that build system increments of these requirements. These cycles are constructed so that the most appropriate and most essential system emerges over the project’s iterations.

Benefits of Scrum Includes:

  1. Putting the product owner in charge of the development project.
  2. Allowing the product owner to change and create the requirements as the project progresses.
  3. Ensure that the most important functionality is built first.
  4. Always focus on most important functionality.
  5. Achieve new working functionality on every sprint. Improves the delivery.
  6. Identifying something can be done to improve the productivity every single day.
  7. Allowing the product owner the choice to release the already built functionality at any time.

Value Driven Development:
The value is expressed as a function of the Product Owner’s ongoing choice of cost, quality, time and functionality:

Value = f (cost,time, functionality, quality)

Scrum provides the variables in the Product owner’s hands throughout the project. The product owner authorizes the development Sprint by Sprint, and is free to change any of the variables based on progress to date and delivered value. At the end of a Sprint, the Product owner reviews the working system functionality with the team. Based upon the review, owner can:

  • Re prioritize and change the next set of top priority requirements.
  • Release the demonstrated increment into the production.
  • Adjust the quality to increase or decrease the functionality delivered in a sprint.
  • Not allow additional sprints because value received for the cost is inadequate.

In nutshell, scrum can improve the quality, delivery of the product being developed by software development team. In whole cycle, product owner is the driver of the project and controls every aspect of the development and it’s values.

In TarKia, Scrum is a leading software development process used to develop the software for its clients.

Tagged with:
preload preload preload