Software Testing Guide Part IV

It is always found that users actually try to decode the URLs of pages to infer the structure of web sites. Users do this because of the horrifying lack of support for navigation and sense of location in current web browsers. Thus, a URL should contain human-readable directory and file names that reflect the nature of the information space.

Also, users sometimes need to type in a URL, so try to minimize the risk of typing by using short names with all lower-case characters and no special characters (many people don't know how to type a ~).

14.1.6 Orphan Pages

Make sure that all pages include a clear indication of what web site they belong to since users may access pages directly without coming in through your home page. For the same reason, every page should have a link up to your home page as well as some indication of where they fit within the structure of your information space.

14.1.7 Non-standard Link Colors

The standard Links to pages that have not been seen by the user are blue; links to previously seen pages are purple or red. Don't mess with these colors since the ability to understand what links have been followed is one of the few navigational aides that is standard in most web browsers. Consistency is key to teaching users what the link colors mean.

14.1.8 Outdated Information

Many old pages keep their relevance and should be linked into the new pages. Of course, some pages are better off being removed completely from the server after their expiration date.

14.1.9 Lack of Navigation Support

Don't assume that users know as much about your site as you do. They always have difficulty finding information, so they need support in the form of a strong sense of structure and place. The Web Site must be having a Complete Site map so that the user can know where they are and if he / she want to go to different page he / she can easily go with the help of Site map. Also the site must contain a good search feature since even the best navigation support will never be enough.

14.1.10 Overly Long Download Times

If the Web site contains a link for download, then make sure that download time should not exceed 10 seconds. Traditional human factor guidelines indicate 10 seconds as the maximum response time before users lose interest. On the web, users have been trained to endure so much suffering that it may be acceptable to increase this limit to 15 seconds for a few pages.

14.2 Testing of User Friendly

This is the second phase of testing. As the name suggest this is testing for User friendliness like “How friendly the WEB site with End User?” Long time back, "user-friendly" software was any application that had a menu or allowed a user to correct an input error. Today, usability engineering is a distinct professional discipline in its own right, where researchers and practitioners strive to develop and implement techniques for making software systems user-friendlier.

In the meantime, the sustained growth of the World Wide Web has resulted in the creation of literally millions of Web sites -- only a small percentage of which are user-friendly. Fortunately, many of the principles from usability engineering can be easily applied (or adapted) to Web development.

The site should be very much user friendly. Any end user can easily work with the site. There should be proper guide to use / work with the site. Identify which type of user is going to use the site with which type of connection (modem, lease line etc) and test accordingly.

Building a User friendly Web site is a worthwhile endeavor in its own right. After all, satisfied Usersare the keys to a truly successful Web site. But there are also certain fringe benefits that go along with genuine user-friendliness. User-friendly Web sites should also:

· Browser-friendly

· Bandwidth-friendly

· Server-friendly

Apart from this Loading of site should be tested properly because speed is the single biggest determinant of user satisfaction. Small, fast-loading pages make for more and happier visitors at your Web site. Large, slow-loading pages simply invite your visitor to browse elsewhere.

User-friendly Web sites share some common stylistic characteristics:

14.2.1 Use familiar, natural language

A user-friendly Web site understands who its intended users are, and it targets them directly. So the objective of WEB testing should be user perspective. Using your user language, without neither apology nor pretense, helps them to feel "at home" at your Web site.

Always remember that you are your user's host in their virtual tour of your Webspace Be conversational. Be polite. Use complete sentences. And don't nag them about their choice in Web browser.

14.2.2 Checklist of User-friendliness:

Prepare a following checklist to test a User Friendly Web Site:

A. Clarity of Communication

· Does the site convey a clear sense of its intended audience?

· Does it use language in a way that is familiar to and comfortable for its readers?

· Is it conversational in its tone?

B. Accessibility

· Is load time appropriate to content, even on a slow dial-in connection?

· Is it accessible to readers with physical impairments?

· Is there an easily discoverable means of communicating with the author or administrator?

B. Consistency

· Does the site have a consistent, clearly recognizable "look-&-feel"?

· Does it make effective use of repeating visual themes to unify the site?

· Is it visually consistent even without graphics?

C. Navigation

· Does the site use (approximately) standard link colors?

· Are the links obvious in their intent and destination?

· Is there a convenient, obvious way to maneuver among related pages, and between different sections?

D. Design & maintenance

· Does the site make effective use of hyperlinks to tie related items together?

· Are there dead links?

· Is page length appropriate to site content?

E. Visual Presentation

· Is the site moderate in its use of color?

· Does it avoid juxtaposing text and animations?

· Does it provide feedback whenever possible?

14.3 Testing of User Interface

The site should be looking good and gives a good feeling to the user. Every screen should be appeared properly. The Site should have:

14.3.1 Visual Appeal

The visual appearance of a Web site is important to maintain repeat visits. Although the home page of a Web site is the "breadwinner," catalog pages cannot be ignored. Regardless of the developer's choice for color, font, or graphics, the tester needs to test for the appearance of the site thoroughly and try to bring out problem areas.

Tests required to check the visual appeal of a site are described below.

14.3.1.1 Browser compatibility for font style

There are a number of different fonts available on HTML editors these days. However, many of these fonts may not display on all browsers, especially on older versions. Or they may display as unreadable characters. Therefore, it's important to test the browser for version compatibility.

14.3.1.2 Consistency of font size

Test for consistency of font size throughout the Web site. The standard font size for Web is 18 to 24 for Header Part and 10 to 14 for Body part.

14.3.1.3 Colors

Testing of color is again an important thing for Web testing. Test the combinations of foreground and background colors of all the pages of the Web Site.

14.3.1.4 Graphics

Fewer graphics on a Web page aid in faster downloads. As much as possible, thumbnails should replace photographs. The tester must test for download time of graphics-intensive pages if there is any link of download.

14.3.2 Grammatical and Spelling Errors in the Content

The home page requires special attention because it is the first page that the site visitor sees.

Use the spelling checker to check the spelling throughout the site. Sometimes there are errors that may not be checked by the spelling checker, such as "there" and "their."

Finally, make sure to proofread the entire site to check the grammar.

14.3.2.1 Checklist of User-Interface:

Prepare a following checklist to test a User Interface Web Site:

· Test for general look and feel appearance of the entire Window.

· Test the complete functionality of control panel of the entire Window. (Minimizing, maximizing, double click of mouse on control panel should work properly, close etc.)

· Test the spellings of all the text displayed in the window, such as the window caption, status bar options, field prompts, pop-up text, and error messages.

· Test the colors, fonts, and font widths of entire Window. That should be standard for the field prompts and displayed text.

· Test each toolbar and menu item for navigation using the mouse and keyboard.

· Test window navigation using the mouse and keyboard.

· Test to make sure that proper format masks are used. For example, all drop-down boxes should be properly sorted. The date entry should also be properly formatted.

· Test for the color of the field prompts and field background is to standard in read-only mode.

· Test the Vertical / Horizontal Scroll Bar. These should appear only if required.

· Test the various controls on the window. The control should be aligned properly.

· Test the resizing of Window.

· Test the alignment of the field. All character or alphanumeric fields should be left aligned and all the numeric fields should be right aligned.

· Check for the display of defaults if there are any.

· Test all the shortcut keys. These all should be well defined and work properly.

· Test the Hotkeys of the entire Window. Every menu command should have a properly defined hotkey.

· Test for the duplication of Hotkeys on the same Window.

· Test that Alt + Tab is working properly.

· Test that Alt + F4 is working properly.

· Test the tab order. It should be from top left to bottom right. Also, the read-only/disabled fields should be avoided in the TAB sequence.

· Test the positioning of the Cursor. The cursor should be positioned on the first input field (if any) when the window is opened.

· Make sure that if any default button is specified, then it should work properly.

· Test and validate the behaviour of each control, such as push button, radio button, list box etc.

· Test to make sure that the window is modal. This will prevent the user from accessing other functions when this window is active.

· Test to make sure that multiple windows can be opened at the same time.

· Make sure that there is a Help menu.

· Check to make sure that the command buttons are greyed out when not in use.

14.4 Server Load Testing

Web sites that rely on a heavy volume of trading on the Internet need to make sure that their Web servers have a very high uptime. To prevent breakdown and to offload traffic from a server at peak time, entrepreneurs must invest in additional Web servers. The power of a Web server to handle a heavy load at peak hours depends on the network speed and the server's processing power, memory, and storage space of the server. The hardware component of the Web server is most vulnerable at peak hours.

The number of simultaneous users that the server can successfully handle measures its capacity. Excessive load on the Web server causes it to degrade dramatically in performance until the load is reduced. The objective of this load testing is to determine an optimum number of simultaneous users

14.5 Database Testing

Most of the Web sites typically have User profile, stores catalogs, shopping Cart, and order information in the database. Since the database stores lot of information about the site and user so it must be tested thoroughly. The purpose of database testing is to determine how well the database meets requirements.

Following are the main reason to test a database:

14.5.1 Relevance of Search Results

The Search option is one of the most frequently used functions of online databases. Generally users uses the Search results to go directly to other page instead of going step-by-step and also to save the time and effort.

It was found that Search option of lots of Web site is not working properly. Which makes a user annoyed. Just to make them happy be sure that the Search option of your Web site is working properly and displaying the proper result.

A team of people that are not a part of the development team should carry out testing for Search relevance. This team assumes the role of the online customer and tries out random Search options with different keywords. The Search results are recorded by the percentage of relevance to the keyword. At the end of the testing process, the team comes up with a series of recommendations. This can be incorporated into the database Search options.

14.5.2 Query Response Time

The query response time is essential in online transactions. The turnaround time for responding to queries in a database must be short. The results from this testing may help to identify problems, such as bottlenecks in the network, specific queries, the database structure, or the hardware.

14.5.3 Data integrity

A database stores an important data of catalog, pricing, shipping tables, tax tables, order database, and customer information. Testing must verify the correctness of the stored data. Therefore, testing should be performed on a regular basis because data changes over time.

Checklist for Data Integrity

Prepare the following checklist for the proper testing of Data Integrity of a Web Site:

· From the list of functionality provided by the development team test the creation, modification, and deletion of data in tables.

· Test to make sure that sets of radio buttons represent a fixed set of values. Check on what happens when a blank value is retrieved from the database.

· Test to make sure that when a particular set of data is saved to the database, each value gets saved fully. In other words, the truncation of strings and rounding of numeric value does not occur.

· Test whether default values are saved in the database if the user input is not specified.

· Test the compatibility with old data. In addition, old hardware, versions of the operating system, and interfaces with other software need to be tested.

14.5.4 Data Validity

Errors caused due to incorrect data entry, called data validation errors, are probably the most common data related errors. These errors are also the most difficult to detect in the system. These errors are typically caused when a large volume of data is entered in a short time frame. For example, $67 can be entered as $76 by mistake. The data entered is therefore invalid.

You can reduce data validity errors. Use the data validation rules in the data fields.

E.g. the date field in a database uses the MM/DD/YYYY format. A developer can incorporate a data validation rule, such that MM does not exceed 12; DD does not exceed 31.

In many cases, simple field validation rules are unable to detect data validity errors. Here, queries can be used to validate data fields. For example, a query can be written to compare the sum of the numbers in the database data field with the original sum of numbers from the source. A difference between the figures indicates an error in at least one data element.

14.5.5 Recovery of Data

Another test that is performed on database software is the Recovery of data test. This test involves forcing the system to fail in a variety of ways to ensure that the system recovers from faults and resumes processing within a pre-defined period of time. The system is fault-tolerant, which means that processing faults do not halt the overall functioning of the system. Data recovery and restart are correct in case of auto-recovery. If recovery requires human intervention, then the mean time to repair the database is within pre-defined acceptable limits.

14.6 Security Testing

Gaining the confidence of online customers is extremely important to Web site success. Building the confidence of online customers is not an easy task and requires a lot of time and effort. Therefore, entrepreneurs must plan confidence-building measures. Ensuring the security of transactions over the Internet ensures customer confidence.

The main technique in security testing is to attempt to violate built-in security controls. This technique ensures that the protection mechanisms in the system secure it from improper penetration.

The tester overwhelms the system by continuous requests, thereby denying service to others. The tester may purposely cause system errors to penetrate during recovery or may browse through insecure data, to find the key to system entry.

There are two distinct areas of concern in Web site security:

14.6.1 Network Security

Unauthorized users can wreak havoc on a Web site by accessing confidential information or by damaging the data on the server. This kind of security lapse is due to insufficient network security measures. The network operating systems, together with the firewall, take care of the security over the network.

The network operating system must be configured to allow only authentic users to access the network. Also, firewalls must be installed and configured. This ensures that the transfer of data is restricted from only one point on the network. This effectively prevents hackers from accessing the network.

For example, a hacker accesses the unsecured FTP port (say Port 25) of a Web server. Using this port as an entry point to the network, the hacker can access data on the server. The hacker may also be able to access any machine connected to this server. Therefore, security testing will indicate these vulnerable areas and will also help to configure the network settings for better security.

14.6.2 Payment Transaction Security

Secure transactions create customer confidence. That's because when customers purchase goods over the Internet, they can be apprehensive about giving Credit Card information. Therefore, security measures should be communicated to the customer.

Two things needed to be tested to ensure that the customer's Credit Card information is safe:

i. Testing should ensure that the credit card information is transmitted and stored securely.

ii. Testing should verify that strong encryption software is used to store the Credit Card information, and only limited, authorized access is allowed to this information.

14.7 Software Performance Testing

Software performance testing aims to ensure that the software performs in accordance with operational specifications for response time, processing costs, storage use, and printed output.

All interfaces are fully tested. This includes verifying the facilities and equipment, and checking to make sure that the communication lines are performing satisfactorily.

Following should be tested for Software Performance of a Web Site:

14.7.1 Correct Data Capture

Correct data capture refers to the use of CGI scripts or ASP to capture data from the Web client. This includes forms, credit card numbers, and payment details. Any error in capturing this data will result in incorrect processing of the customers' orders.

14.7.2 Completeness of Transaction

Transaction completeness is the most important aspect of a Web site transaction. Any error in this phase of operation can invite legal action because the affected party may be at risk of losing money due to an incomplete transaction.

14.7.3 Gateway Compatibility

The payment gateway consists of software installed on Web servers to facilitate payment transactions. The gateway software captures Credit Card details from the customer and then verifies the validity of the Credit Card with the transaction clearinghouse.

Gateways are complex because they can create compatibility problems. In turn, these problems make Web site transactions unreliable. So, the entrepreneur needs to consult experienced developers before investing in a payment gateway. Therefore, before launching the site, online pilot testing must be done to test the reliability of the gateway.

14.8 Web Testing Methods

The following methods can be used for the Web testing:

14.8.1 Stress Testing

Running the system in a high-stress mode creates high demands on resources and stress tests the system. Some systems are designed to handle a specified volume of load.

For example, A Bank Transaction Processing System may be designed to process up to 100 transactions per second; an operating system may be assigned to handle up to 200 separate terminals.

Tests must be designed to ensure that the system can process expected load. This usually involves planning a series of tests where the load is gradually increased to reflect the expected usage pattern.

Stress tests steadily increase the load on the system beyond the maximum design load until the system fails. This type of testing has a dual function:

i) It tests the failure behavior of the system. Circumstances may arise through an unexpected combination of events where the load placed on the system exceeds the maximum anticipated load. Stress testing determines if overloading the system results in loss of data or user service.

ii) It stresses the system and may cause certain defects to come to light, which may not normally manifest the errors.

Stress testing is particularly relevant to Web site system with Web databases. These systems often exhibit severe degradation when the network is swamped with operating system call.

14.8.2 Regression Testing

Regression testing refers to re-testing previously tested components/functionality of the system to ensure that they function properly even after a change has been made to parts of the system.

As defects are discovered in a component, modifications should be made to correct them. This may require other components in the testing process to be re-tested.

Component system errors can present themselves later in the testing process. The process is iterative because is information fed back from later stages to earlier parts of the process. Repairing program defects may introduce new defects. Therefore, the testing process should be repeated after the system is modified.

Guidelines to follow for Regression testing:

0 comments:

Post a Comment