Powerful Web Testing Tools

Web testing; Nowadays meant to be very crucial, so many Internet browsers and their supporters. Numerous tools available for web testing most of them require higher budget. Few free website testing tools are available online or as add-ones for example firebug,Yslow. These are not only used for web development also for web testing. We can fetch object details ,CSS, JavaScript and more using these kinds of add ones. It is easy to analyze all these information. Open source Testing tools like Selenium, Watir needs web object’s physical properties or it’s description to run successfully, we can use these tools as an object spy.Checkout some powerful web testing tools

1.Firebug
Firebug integrates with Firefox, it is a great invention for developers can find JavaScript errors , page loading time etc. Most of the developers used to fix Html/CSS, JavaScript errors simply in your finger tips while you browse. Firebug is one of the best applications around for debugging issues with front-end code and CSS. If there’s any image or style that’s out of line, checking it out with Firebug is the best response. It’s even possible to change styles within the extension to see how a website will actually appear in the browser. How this is useful in web testing. We can monitor java script errors, web site performance i.e. site loading time/object wise also Html or CSS validation. Inspect elements option in firebug is like GUI Spy.
Visit:- Firebug

2. YSlow
YSlow analyzes web pages and suggests ways to improve their performance based on a set of rules for high performance web pages. YSlow is a Firefox add-on integrated with the Firebug web development tool. YSlow grades web page based on one of three predefined ruleset or a user-defined ruleset. It offers suggestions for improving the page’s performance, summarizes the page’s components, displays statistics about the page, and provides tools for performance analysis, including Smush.it and JSLint.
Visit :- YSlow

3. Load Impact (Online testing)
This is used for Performance Testing (Load/Stress). It simulates users and access your website . It simulates large user load on web servers to determine whether or not they can handle the high traffic load. Free users can only attempt using 50 simulated users But this is very useful . The tool will check (ping) from different locations and results will display as a complete report with graphs
Visit :- LoadImpact

Rules for Displaying Alert or Error Messages in Web Applications

In all web applications and OS based application, validation is very important for that we are using different types of validation or alert or error messages , is that have any rules ? yes just check it ,

  1. Should start with capital letter(In a standard format)
  2. Error messages should be accessible for as many users as possible regardless of culture, age and impairment.
  3. It should be easy to understand that an error has occurred.
  4. It should be clear what the user has to do to correct the error.
  5. It should be clear for the user where the error was found in the form.
  6. It should be possible to be notified about errors before submitting the form, especially if it is a complex form that takes time to process on the server.
  7. All errors should be displayed at the same time. No one wants to re-submit the form to find a new error.
  8. Do not give any hint about any security event (For example Sign in of an application Incorrect error message -”Password is invalid” , Correct one- “Agent Name or Password is Invalid “)

Where to display these error messages ? Let’s see

  • Make sure the user can see that an error has occurred. Error messages need to stand out from the rest of the layout. They should be placed at the top of the page if that is the area displayed after the form has been submitted with errors.
  • Use an error icon if your layout makes it difficult to visually separate errors from the rest of the page
  • Be consistent when you present errors (the user will expect errors to be displayed at the same location and with the same style on all pages)
  • Update the page title to indicate that the user is on the same page but with errors (e.g. if the page title is “Registration” you could change it to “Registration – Error occurred”).

Error message text standard

  • Make sure the error message identifies the related field with the name as it is written in the label for that field
  • Do not use complicated words
  • Describe what the user should do to correct the error, especially if it could be difficult to understand
  • Make it clear if there were more than one error so that the user can correct all errors at once

Error Messages Views

  • Make sure all user agents can parse error details. Use a heading to identify the error area.
  • Present each error as an item in a list. This makes it easy for the user to understand what has to be corrected. Also, screen reader users will find it easier to keep errors apart
  • If you use software specific error id numbers do not hesitate to add them to the id-attribute of the li element. If you use automated functional tests (e.g. Rational Robot) it will be much easier for the test robot to parse and identify errors
  • Provide an access key for the error message section. This is valuable if your form can generate many errors and enables the user to move back and forth between the error list and the form
  • Make it possible to navigate from the error message to the related field. This makes it easier for users that navigate with the keyboard

Tips for developers
It is better to use some client side validations in forms (like in .net applications)
Example
<——————————————————————————->
4 Errors were found while registration ,Please Correct these errors and Submit again
#Your user name must be between 6 and 30 characters long.
#Email is invalid
#Password is too short (minimum is 8 characters)
#Terms of Service must be accepted
<——————————————————————————>

Mock Testing

Set up mock test before you begin your actual test. This is a way to measure the server’s stressed performance. As you progress with your stress testing, you can set up a measurement of metrics to determine the efficiency of the test.
After the initial test, you can determine the breaking point for the server. It may be a processor problem or even a memory problem. You need to be able to check your log to determine the average amount of time that it takes your processor to perform the test. Running graphics or even ASP pages can cause processor problems and a limitation every time you run your stress test
Memory tends to be a problem with the stress test. This may be due to a memory leak or lack of memory. You need to log and monitor the amount of disk capacity during the stress test. As mentioned earlier, the bandwidth can account for the slow down of the processing of the Web site speed. If the test hangs and there is a large waiting period, your processor usage is too low to handle the amount of stress on the system.
Simulate Resources
It is important to be able to run system in a high-stress format so that you can actually simulate the resources and understand how to handle a specific load. For example, a bank transaction processing system may be designed to process up to 150 transactions per second, whereas an operating system may be designed to handle up to 200 separate terminals. The different tests need to be designed to ensure that the system can process the expected load. This type of testing usually involves planning a series of tests where the load is gradually increased to reflect the expected usage pattern. The stress tests can steadily increase the load on the system beyond the maximum design load until the system fails.
This type of testing has a dual function of testing the system for failure and looking for a combination of events that occur when a load is placed on the server. Stress testing can then determine if overloading the system results in loss of data or user service to the customers The use of stress testing is particularly relevant to an e-commerce system with Web database.

Stress Testing

Test the product for performance, reliability, and efficiency assessment; to find the breakpoints when system is failure; to increase load regressively to gather information for finding out maximum concurrent users
Stress tests force programs to operate under limited resource conditions. The goal is to push the upper functional limits of a program to ensure that it can function correctly and handle error conditions gracefully. Examples of resources that may be artificially manipulated to create stressful conditions include memory, disk space, and network bandwidth. If other memory-oriented tests are also planned, they should be performed here as part of the stress test suite. Stress tests can be automated

Scalability and Performance Testing

Scalability and performance testing is the way to understand how the system will handle the load cause by many concurrent users. In a Web environment concurrent use is measured as simply the number of users making requests at the same time.
Performance testing is designed to measure how quickly the program completes a given task. The primary objective is to determine whether the processing speed is acceptable in all parts of the program. If explicit requirements specify program performance, then performance test are often performed as acceptance tests.
As a rule, performance tests are easy to automate. This makes sense above all when you want to make a performance comparison of different system conditions while using the user interface. The capture and automatic replay of user actions during testing eliminates variations in response times.
This type of test should be designed to verify response and execution time. Bottlenecks in a system are generally found during this stage of testing.

Checklist for System Testing

  1. Functional completeness of the system or the add-on module
  2. Run time behavior on various operating system or different hardware configurations.
  3. Install ability and configure ability on various systems
  4. Capacity limitation (maximum file size, number of records, maximum number of concurrent users, etc.)
  5. Behavior in response to problems in the programming environment (system crash, unavailable network, full hard-disk, printer not ready)
  6. Protection against unauthorized access to data and programs

Web Testing- Functional System Testing

System tests check that the software functions properly from end-to-end. The components of the system include: A database, Web-enable application software modules, Web servers, Web-enabled application frameworks deploy Web browser software, TCP/IP networking routers, media servers to stream audio and video, and messaging services for email. A common mistake of test professionals is to believe that they are conducting system tests while they are actually testing a single component of the system. For example, checking that the Web server returns a page is not a system test if the page contains only a static HTML page

Web Testing- HTML Content Testing and Validation

HTML content checking tests makes a request to a Web page, parses the response for HTTP hyperlinks, requests hyperlinks from their associated host, and if the links returned successful or exceptional conditions. The downside is that the hyperlinks in a Web-enabled application are dynamic and can change, depending on the user’s actions. There is little way to know the context of the hyperlinks in a Web-enabled application. Just checking the links’ validity is meaningless if not misleading. These tests were meant to test static Web sites, not Web-enabled application

Web Testing- Click-Stream Measurement Testing

Makes a request for a set of Web pages and records statistics about the response; including total page views per hour, total hits per week, total user sessions per week, and derivatives of these numbers. The downside is that if your Web-enabled application takes twice as many pages as it should for a user to complete his or her goal; the click stream test makes it look as though your Web site is popular, while to the user your Web site is frustrating

Web Testing- Online Help Testing

Online help tests check the accuracy of help contents, correctness of features in the help system, and functionality of the help system