properties of good web applications defining website quality

25
Properties of Properties of good web good web applications applications Defining website quality Defining website quality

Post on 22-Dec-2015

213 views

Category:

Documents


0 download

TRANSCRIPT

Properties of Properties of good web good web

applicationsapplicationsDefining website qualityDefining website quality

Definition of Web Definition of Web ApplicationApplication

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

--Wikipedia (www.wikipedia.org)--Wikipedia (www.wikipedia.org)

Definitions of QualityDefinitions of Quality

““The term The term qualityquality is used to refer to the is used to refer to the desirability of properties or characteristics of desirability of properties or characteristics of a person, object, or process.” --Wikipedia a person, object, or process.” --Wikipedia (www.wikipedia.org)(www.wikipedia.org)

"Conformance to specifications" --Phil Crosby "Conformance to specifications" --Phil Crosby in 1980sin 1980s

"Fitness for use" --Joseph M. Juran"Fitness for use" --Joseph M. Juran "Value to some person" --Gerald M. Weinberg"Value to some person" --Gerald M. Weinberg

IntroductionIntroduction ””The Internet is quietly becoming the body of the The Internet is quietly becoming the body of the

business world, with web applications as the brains.business world, with web applications as the brains.” ” [1][1]

Meaning that software faults in web applications have Meaning that software faults in web applications have potentially disastrous consequencespotentially disastrous consequences

Much effort has been directed to make web Much effort has been directed to make web applications more powerful but relatively little has applications more powerful but relatively little has been done to ensure their qualitybeen done to ensure their quality

Like in everything else, no single, all-inclusive quality Like in everything else, no single, all-inclusive quality measure applies. Even multiple quality metrics may measure applies. Even multiple quality metrics may not apply. Still verification of user-critical impressions not apply. Still verification of user-critical impressions regarding quality and reliability bear fruit later on. regarding quality and reliability bear fruit later on.

Impact of QualityImpact of Quality Although quality is in the mind of the user, a Although quality is in the mind of the user, a

website with faulty images, broken links and website with faulty images, broken links and cgi-bin error messages etc. may cost in poor cgi-bin error messages etc. may cost in poor customer relations and lost corporate image. customer relations and lost corporate image. Eventually these result in lost revenue.Eventually these result in lost revenue.

Too much complexity can also drive the users Too much complexity can also drive the users into other sites. And they won’t depart with into other sites. And they won’t depart with any good impressions either!any good impressions either!

There also seems to be little or no brand-There also seems to be little or no brand-name loyalty (site loyalty) for web name loyalty (site loyalty) for web applications.applications.

Quality requirementsQuality requirements Availability: Availability: 24/365?24/365? Maintainability:Maintainability: Crucial for web software Crucial for web software

due to the rapid evolution of technologydue to the rapid evolution of technology Scalability: Scalability: Is site ready to grow in terms of Is site ready to grow in terms of

servers, services and customers very quickly?servers, services and customers very quickly? Security: Security: Can confidentiality be proven Can confidentiality be proven

adequately?adequately? Reliability: Reliability: Is application capable of Is application capable of

providing a promised service?providing a promised service? Usability: Usability: Placing lots of advertisement Placing lots of advertisement

banners may increase income but more often banners may increase income but more often it drives customers away.it drives customers away.

Quality Requirements Quality Requirements (continued)(continued)

Structural: Structural: How well do all of the parts of How well do all of the parts of the web site hold together?the web site hold together?

Content: Content: Does the content of critical pages Does the content of critical pages match what is supposed to be there?match what is supposed to be there?

Accuracy and Consistency: Accuracy and Consistency: Are today's Are today's copies of the pages the same as yesterday?copies of the pages the same as yesterday?

Response time and Latency: Response time and Latency: Does the Does the server respond to a browser request within server respond to a browser request within certain parameters?certain parameters?

Performance: Performance: Is the client-server-client Is the client-server-client connection quick enough?connection quick enough?

AvailabilityAvailability

Due to the global nature of Internet a web-Due to the global nature of Internet a web-based company should be able to service based company should be able to service clients not only 24/7 but 24/365 whereas a clients not only 24/7 but 24/365 whereas a more conventional companies can expect more conventional companies can expect clients from 8:00 AM to 7:00 PM on clients from 8:00 AM to 7:00 PM on weekdaysweekdays

Technically a web-based company can deny Technically a web-based company can deny access to their application at certain times access to their application at certain times but this should be limited only to but this should be limited only to maintenance operations.maintenance operations.

MaintainabilityMaintainability

Conventional software has to be packaged, Conventional software has to be packaged, sold and distributed to clients when updates sold and distributed to clients when updates are made allowing easier integrity, content are made allowing easier integrity, content and version control.and version control.

Modifications on web applications can come Modifications on web applications can come ”alive” instantly so special care has to be used ”alive” instantly so special care has to be used when performing maintenance operations.when performing maintenance operations.

A glitch during an unscheduled maintenance A glitch during an unscheduled maintenance at Amazon.com in 1998 put the site offline for at Amazon.com in 1998 put the site offline for several hours with an estimated cost as high several hours with an estimated cost as high as $400,000 [1]as $400,000 [1]

ScalabilityScalability

There are currently hundreds of millions of There are currently hundreds of millions of users in the web, each of them is a potential users in the web, each of them is a potential client.client.

A good application can multiply its user A good application can multiply its user amount in one night, how soon can the amount in one night, how soon can the physical components be updated to serve physical components be updated to serve them all?them all?

Low scalability can result in loss of Low scalability can result in loss of performance and increased response times performance and increased response times and latency.and latency.

SecuritySecurity Confidential information must be guaranteed Confidential information must be guaranteed

to stay confidential!to stay confidential! This can be achieved through authentication, This can be achieved through authentication,

encryption and access control.encryption and access control. Too many security confirmations cause Too many security confirmations cause

unnecessary complexity and hinder usability.unnecessary complexity and hinder usability. But can there really be too much security?But can there really be too much security?

ReliabilityReliability

The art of delivering what’s promised to The art of delivering what’s promised to clients.clients.

Does the command chain of Does the command chain of client client (browser)(browser) -> -> serverserver -> -> applicationapplication -> -> serverserver -> -> clientclient run as it is supposed? run as it is supposed?

Easily assessed with the number of failures Easily assessed with the number of failures during a month or a yearduring a month or a year

A lot harder to fix since reliability issues A lot harder to fix since reliability issues include many components out of limits to any include many components out of limits to any company (e.g. every router between client company (e.g. every router between client and web app)and web app)

UsabilityUsability

””Keep It Short and Simple” applies to web Keep It Short and Simple” applies to web applications tooapplications too

Heavy usage of graphics and popups do Heavy usage of graphics and popups do easily mask some deficiencies and can make easily mask some deficiencies and can make site look cool but if client can’t find what site look cool but if client can’t find what he/she wants or navigation is unnecessarily he/she wants or navigation is unnecessarily hindered the client becomes frustrated and hindered the client becomes frustrated and adjournsadjourns

StructuralStructural

Are all links inside and outside the web site Are all links inside and outside the web site working? Do all the images work? Are there working? Do all the images work? Are there some parts that are not connected at all?some parts that are not connected at all?

Can be tested rather easilyCan be tested rather easily

ContentContent

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

Accuracy and Accuracy and ConsistencyConsistency

Are today's copies of the pages downloaded Are today's copies of the pages downloaded the same as yesterdays? Close enough?the same as yesterdays? Close enough?

Is the data presented accurate enough? How Is the data presented accurate enough? How do you know this?do you know this?

Especially difficult for dynamically created Especially difficult for dynamically created pages which have a lot of variations.pages which have a lot of variations.

Response time and Response time and LatencyLatency

Does the web server respond to a browser Does the web server respond to a browser request within certain parameters? In an E-request within certain parameters? In an E-commerce context, what is the end to end commerce context, what is the end to end response time after a response time after a submitsubmit? Are there ? Are there parts of the site that are so slow the user parts of the site that are so slow the user simply refuses to wait long enough?simply refuses to wait long enough?

Can be easily corrected with code Can be easily corrected with code optimization and server upgrades.optimization and server upgrades.

PerformancePerformance

Is the browser-web-web site-web-browser Is the browser-web-web site-web-browser connection fast enough? How much does connection fast enough? How much does time of day, load and usage affect time of day, load and usage affect performance? Taking 10 minutes to respond performance? Taking 10 minutes to respond to an E-commerce purchase is clearly not to an E-commerce purchase is clearly not acceptable!acceptable!

Server upgrades and faster Internet Server upgrades and faster Internet connections can correct these issues.connections can correct these issues.

Quality ChallengesQuality Challenges It is easy to criticize the lack of quality on It is easy to criticize the lack of quality on

competitors web application but what can be competitors web application but what can be done to assure quality of our own services?done to assure quality of our own services?

Some techniques of quality assurance with Some techniques of quality assurance with traditional software and distributed systems traditional software and distributed systems can be helpful, there are some key can be helpful, there are some key differences on web applications that prevent differences on web applications that prevent to be directly adopted though.to be directly adopted though.

DynamicsDynamics

Overall architecture of web applications are Overall architecture of web applications are similar to client-server systems however the similar to client-server systems however the roles of clients and servers and their roles of clients and servers and their interactions aren’t predefined and static. interactions aren’t predefined and static. They are They are dynamic!dynamic!

A server may return a dynamically generated A server may return a dynamically generated HTML file that contains dynamically HTML file that contains dynamically generated JavaScript's, links and contents. generated JavaScript's, links and contents. This means that subsequent interactions This means that subsequent interactions between client and server depend on between client and server depend on previous inputsprevious inputs

Compatibility and Compatibility and InteroperabilityInteroperability

There is huge amount of heterogeneity in There is huge amount of heterogeneity in web application components. Whereas web application components. Whereas traditional programs are developed a single traditional programs are developed a single platform in mind with very little conflicts and platform in mind with very little conflicts and changes, a web applications are often changes, a web applications are often affected with factors that cause serious affected with factors that cause serious compatibility and interoperability issues.compatibility and interoperability issues.

Server components may be distributed to Server components may be distributed to different operating systems, each with different operating systems, each with multiple different versions. Any of numerous multiple different versions. Any of numerous web server packages can be chosen etc.web server packages can be chosen etc.

Compatibility and Compatibility and InteroperabilityInteroperability

Situation is even worse on the client side; Situation is even worse on the client side; different browsers (again with different different browsers (again with different versions of each) containing numerous versions of each) containing numerous cookies and plug-ins running on different cookies and plug-ins running on different operating systems…operating systems…

All this heterogeneity makes thorough All this heterogeneity makes thorough testing hard and sometimes even impossible.testing hard and sometimes even impossible.

Control of ExecutionControl of Execution

For traditional programs, the control flow is For traditional programs, the control flow is fully managed by the program so the user fully managed by the program so the user cannot affect it. With web applications users cannot affect it. With web applications users can break the normal control flow any time can break the normal control flow any time without alerting the program controller (by without alerting the program controller (by pressing refresh or back button in the pressing refresh or back button in the browser) causing unexpected results.browser) causing unexpected results.

Furthermore the clients may change browser Furthermore the clients may change browser settings ”on the fly” which can cause even settings ”on the fly” which can cause even more serious errors in control flow.more serious errors in control flow.

Other Distinctive Other Distinctive FeaturesFeatures

Session controlSession control CookiesCookies Stateless aspect of HTTPStateless aspect of HTTP Increased amount of security issuesIncreased amount of security issues

ReferencesReferences [1] Ye Wu and Jeff Offutt. Modeling and Testing web [1] Ye Wu and Jeff Offutt. Modeling and Testing web

based applications. based applications. Information and Software Engineering Information and Software Engineering Department, George Mason University, USA (Department, George Mason University, USA (http://www.ise.gmu.edu/techrep/2002/02_08.pdfhttp://www.ise.gmu.edu/techrep/2002/02_08.pdf))

[2] Edward Miller. The Website Quality Challenge. [2] Edward Miller. The Website Quality Challenge. Software Research Inc. San Francisco, USA (Software Research Inc. San Francisco, USA (http://www.soft.com/eValid/Technology/White.Papers/wpahttp://www.soft.com/eValid/Technology/White.Papers/wpaper.quality.pdfper.quality.pdf))

[3] Anbazhagan Mani and Arun Nagarajan. Understanding [3] Anbazhagan Mani and Arun Nagarajan. Understanding quality of service for Web services. quality of service for Web services. IBM developerWorks,IBM developerWorks,

((http://www-106.ibm.com/developerworks/library/ws-qualithttp://www-106.ibm.com/developerworks/library/ws-quality.htmly.html))