1 / 25

Properties of good web applications

Properties of good web applications. Defining website quality. Definition of Web Application.

apria
Download Presentation

Properties of good web applications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Properties of good web applications Defining website quality

  2. Definition of Web Application • “A web application is an application delivered to users from a web server over a network such as the World Wide Web or an intranet. Web applications are popular due to the ubiquity of the web browser as a client, sometimes called a thin client. The ability to update and maintain web applications without distributing and installing software on potentially thousands of clients is another reason they are popular. Applications like webmail, Amazon.com and eBay are well known examples of web applications but they have uses in many other areas of business and science.” --Wikipedia (www.wikipedia.org)

  3. Definitions of Quality • “The term quality is used to refer to the desirability of properties or characteristics of a person, object, or process.” --Wikipedia (www.wikipedia.org) • "Conformance to specifications" --Phil Crosby in 1980s • "Fitness for use" --Joseph M. Juran • "Value to some person" --Gerald M. Weinberg

  4. Introduction • ”The Internet is quietly becoming the body of the business world, with web applications as the brains.” [1] • Meaning that software faults in web applications have potentially disastrous consequences • Much effort has been directed to make web applications more powerful but relatively little has been done to ensure their quality • Like in everything else, no single, all-inclusive quality measure applies. Even multiple quality metrics may not apply. Still verification of user-critical impressions regarding quality and reliability bear fruit later on.

  5. Impact of Quality • Although quality is in the mind of the user, a website with faulty images, broken links and cgi-bin error messages etc. may cost in poor customer relations and lost corporate image. Eventually these result in lost revenue. • Too much complexity can also drive the users into other sites. And they won’t depart with any good impressions either! • There also seems to be little or no brand-name loyalty (site loyalty) for web applications.

  6. Quality requirements • Availability: 24/365? • Maintainability: Crucial for web software due to the rapid evolution of technology • Scalability: Is site ready to grow in terms of servers, services and customers very quickly? • Security: Can confidentiality be proven adequately? • Reliability: Is application capable of providing a promised service? • Usability: Placing lots of advertisement banners may increase income but more often it drives customers away.

  7. Quality Requirements (continued) • Structural: How well do all of the parts of the web site hold together? • Content: Does the content of critical pages match what is supposed to be there? • Accuracy and Consistency: Are today's copies of the pages the same as yesterday? • Response time and Latency: Does the server respond to a browser request within certain parameters? • Performance: Is the client-server-client connection quick enough?

  8. Availability • Due to the global nature of Internet a web-based company should be able to service clients not only 24/7 but 24/365 whereas a more conventional companies can expect clients from 8:00 AM to 7:00 PM on weekdays • Technically a web-based company can deny access to their application at certain times but this should be limited only to maintenance operations.

  9. Maintainability • Conventional software has to be packaged, sold and distributed to clients when updates are made allowing easier integrity, content and version control. • Modifications on web applications can come ”alive” instantly so special care has to be used when performing maintenance operations. • A glitch during an unscheduled maintenance at Amazon.com in 1998 put the site offline for several hours with an estimated cost as high as $400,000 [1]

  10. Scalability • There are currently hundreds of millions of users in the web, each of them is a potential client. • A good application can multiply its user amount in one night, how soon can the physical components be updated to serve them all? • Low scalability can result in loss of performance and increased response times and latency.

  11. Security • Confidential information must be guaranteed to stay confidential! • This can be achieved through authentication, encryption and access control. • Too many security confirmations cause unnecessary complexity and hinder usability. • But can there really be too much security?

  12. Reliability • The art of delivering what’s promised to clients. • Does the command chain of client (browser) -> server -> application -> server -> client run as it is supposed? • Easily assessed with the number of failures during a month or a year • A lot harder to fix since reliability issues include many components out of limits to any company (e.g. every router between client and web app)

  13. Usability • ”Keep It Short and Simple” applies to web applications too • Heavy usage of graphics and popups do easily mask some deficiencies and can make site look cool but if client can’t find what he/she wants or navigation is unnecessarily hindered the client becomes frustrated and adjourns

  14. Structural • Are all links inside and outside the web site working? Do all the images work? Are there some parts that are not connected at all? • Can be tested rather easily

  15. Content • Do key phrases exist continually in highly-changeable pages? Do critical pages maintain quality content from version to version? What about dynamically generated HTML pages?

  16. Accuracy and Consistency • Are today's copies of the pages downloaded the same as yesterdays? Close enough? • Is the data presented accurate enough? How do you know this? • Especially difficult for dynamically created pages which have a lot of variations.

  17. Response time and Latency • Does the web server respond to a browser request within certain parameters? In an E-commerce context, what is the end to end response time after a submit? Are there parts of the site that are so slow the user simply refuses to wait long enough? • Can be easily corrected with code optimization and server upgrades.

  18. Performance • Is the browser-web-web site-web-browser connection fast enough? How much does time of day, load and usage affect performance? Taking 10 minutes to respond to an E-commerce purchase is clearly not acceptable! • Server upgrades and faster Internet connections can correct these issues.

  19. Quality Challenges • It is easy to criticize the lack of quality on competitors web application but what can be done to assure quality of our own services? • Some techniques of quality assurance with traditional software and distributed systems can be helpful, there are some key differences on web applications that prevent to be directly adopted though.

  20. Dynamics • Overall architecture of web applications are similar to client-server systems however the roles of clients and servers and their interactions aren’t predefined and static. They are dynamic! • A server may return a dynamically generated HTML file that contains dynamically generated JavaScript's, links and contents. This means that subsequent interactions between client and server depend on previous inputs

  21. Compatibility and Interoperability • There is huge amount of heterogeneity in web application components. Whereas traditional programs are developed a single platform in mind with very little conflicts and changes, a web applications are often affected with factors that cause serious compatibility and interoperability issues. • Server components may be distributed to different operating systems, each with multiple different versions. Any of numerous web server packages can be chosen etc.

  22. Compatibility and Interoperability • Situation is even worse on the client side; different browsers (again with different versions of each) containing numerous cookies and plug-ins running on different operating systems… • All this heterogeneity makes thorough testing hard and sometimes even impossible.

  23. Control of Execution • For traditional programs, the control flow is fully managed by the program so the user cannot affect it. With web applications users can break the normal control flow any time without alerting the program controller (by pressing refresh or back button in the browser) causing unexpected results. • Furthermore the clients may change browser settings ”on the fly” which can cause even more serious errors in control flow.

  24. Other Distinctive Features • Session control • Cookies • Stateless aspect of HTTP • Increased amount of security issues

  25. References • [1] Ye Wu and Jeff Offutt. Modeling and Testing web based applications. Information and Software Engineering Department, George Mason University, USA (http://www.ise.gmu.edu/techrep/2002/02_08.pdf) • [2] Edward Miller. The Website Quality Challenge. Software Research Inc. San Francisco, USA (http://www.soft.com/eValid/Technology/White.Papers/wpaper.quality.pdf) • [3] Anbazhagan Mani and Arun Nagarajan. Understanding quality of service for Web services. IBM developerWorks, (http://www-106.ibm.com/developerworks/library/ws-quality.html)

More Related