Web Based Testing

Web Based Testing

Welcome to the session on Web-based Software Testing! 1 Objectives of this course are listed above. 2 Any software application that can be accessed via a web over or a network such as internet or intranet can be called a web application. Any kind of web-browser can be its client. Since these clients like Internet Explorer, Firefox, etc. are freely available across the world and there is no hassle of distributing and installing these applications in each client machine, web applications have become highly popular. Web applications can be used to implement - a simple portal to provide a company‟s information, an online retail store, webmail, online auctions, discussion boards like weblogs, chat, and many other functions. Users can access them almost in 24x7 mode. 3 This is the average architecture of most of the web applications. The components on the right side i.e. the file system, application server, data and the external systems are essentially the same as found in a typical client / server system. The left side elements, the web browser and the web server are the elements unique to a typical web application. Web server receives a page request from a user thru a web browser. It may be request for a static web page which can be fetched with the help of file system or a request for certain data which will be fetched with the help of application server. Application server may apply a business logic before providing the data to the web server based on the context and scenario. It is an architectural challenge whether to have a thick client or a thin client. In case of a thick client, it offers greater locality of reference and better interactivity; however it may pose a distribution challenge. A thin client offers simplicity of security and distribution, but the browser would look more like a dumb terminal. 4 Business logic should touch the state of the business. This poses another architectural challenge. Should there be a stateless communication (where each command or transaction is executed independently without the knowledge of any of the commands or transactions that came before it) from the logic to the data via mechanisms like JSP or should there be a stateful communication (having the capability to maintain the previous state), such as thru Servlets? Again, there are advantages as well as disadvantages in each approach. Scripting is easier to change but comes with computational overhead, and Servlets are potentially faster but they may pose more challenge in developing and deploying the application. Connection to application‟s persistence data (the database), which can also be present in legacy systems, is also another challenge. How does one show the objects to the user while the data continues to live in RDBMS tables? How should the connection from the application‟s business logic to its data be manifest? For e.g. a coupling thru JDBC may be more direct, but the developer should have better knowledge of data‟s form; On the other hand, a messaging architecture is less direct but is more scalable. 5 A web application be just a set of web pages navigable thru different links. The intention of such applications may be just to show the intended information. Testing such applications would involve clicking on all the links to ensure that they load the intended page upon clicking. 6 A web portal acts a source of many information. They present information from diverse sources in a unified way. Aside from the search engine standard, web portals offer other services such as news, happenings, entertainment and various other features. Portals provide a way for enterprises to provide a consistent look and feel with access control and procedures for multiple applications, which otherwise would have been different entities altogether. An example of a web portal is Sparsh. 7 Releasing any software application without testing is almost an offense! Just like you don‟t want to buy a car which is not tested for safety, any software application has to be tested thoroughly before its usage. Web application is not exception to this. Moreover, due to its architecture complexity (in case of big applications), varied user environments, access via different network / router segments, stricter security requirements / regulations and many other complex requirements makes it a “must” to test it rigorously before its deployment. In case of web applications meant for online transactions like banking, e-auctioning, shopping- cart kind of applications, their usability, security features and performance play a major role which may impact the overall business of the corporation. Web applications can be better called as living applications and hence require a new perspective of testing practices. 8 Web-based testing is a combination of Usability, Functionality, Performance, Security and Compatibility testing with respect to web-based applications. It is not a concept in itself. 9 Usability testing focuses on evaluating a human-made product's capacity to meet its intended purpose. Examples of such products that would require usability testing are web sites or web applications, computer interfaces, documents, or devices. Usability testing measures the usability, or ease of use, of a specific object or set of objects. 10 Five steps to website usability testing: 1. Define clear goals and objectives What is that you want to achieve from this usability test? It is typically more effective when it tries to identify how much time a user needs to complete a task (or a set of tasks)? Or how much difficulty the user would go thru in finishing the task. Usability testing helps you determine how users perform a specific tasks, in what sequence, choice of usage of various controls and how satisfied are they at the end of it. 2. Setup the test environment Decide on the type of usability test among many like controlled lab testing, field observation, focus groups, questionnaires, surveys, etc. While the costs involved in sophisticated controlled lab testing would be high, if the purpose of conducting such tests ensures user satisfaction and sustain (or increase) profits, it is a worthy exercise to do it where the benefits would exceed this cost disadvantage. 3. Select appropriate participants While its common and inexpensive to choose the fellow employees to the usability testing, the drawback in it is that these employees might be already aware of certain “jargons” and may not be able to provide any inputs in this regard. We also need to make sure that it is the website that is being tested for usability and not the participants themselves for their testing capability. 11 4. Conduct the test The type of usability testing selected in the step 2 above, would decide how to conduct this test. In case of questionnaire and surveys, they need to be conducted in a controlled environment to yield better results. Otherwise the results may get skewed due to fatigue, boredom, loss of memory, personal biases or similar reasons. 5. Report the findings Results of surveys, questionnaires, focus groups should be analyzed before making any design change decisions based on them. You should ensure that these results are not skewed or biased. 12 Following factors should be considered while testing the web application for usability: • Ease of Usage – e.g. easy to enter data, easy to use controls, etc. • Visual consistency and Consistency of action - e.g. click actions, error actions, etc. • Navigation - e.g. tab orders, easy flow, … • Clarity (non-ambiguous) – e.g. clear messages / information • Communication – e.g. updating the status on what‟s being done • Understandability (Intuitiveness) – usage of real-life objects as controls e.g. volume control knob • Self-learnability – e.g. self-explanatory menu items, controls, labels, etc. • General design / structure check – common sense check 13 Some of the guidelines on ease of use is shown in the slide above. Did you know? When eBay auction web site went down in Jun ‟99, it initially lost many customers to its competitors. When the site was up again, many of those lost customers came back to eBay. Why? Because many of them found eBay was the easiest website (in its kind) to use. 14 How long does it take to load your application / page? The user may choose not to come back to your application site or it may put the user in discomfort if it takes too long to load. So the time to load the application must be appropriate enough so that it won‟t put the user into discomfort so that the user wants to come back. In case of data-entry screens, it makes sense put the cursor on the first editable field to avoid the user in doing so saving some time for him / her. In case of any error in the data entered in a field, once the user acknowledges the error message the cursor should be taken to the field where the error has occurred. It will save the user in searching for the field where the error has occurred especially, if the page contains many data-entry fields. It has almost become a default feature in most of the data-entry page / screen of applications to confirm if the unsaved data needs to be saved before moving on to the next screen or on cancel. Usability testing should focus on all these criteria while planning for it. 15 Look-n-feel of a web-application developed with 1024 x 1012 pixel resolution should look almost the same in 1024 x 768 resolution screen with probably a vertical scroll included. An application developed primarily for the former resolution may need both horizontal as well as vertical scroll bars making the users inconvenient to use it.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    69 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us