Web Testing - PowerPoint PPT Presentation

1 / 45
About This Presentation
Title:

Web Testing

Description:

Web Testing CIS 376 Bruce R. Maxim UM-Dearborn * * Semantic Navigation Testing Navigation semantic units are defined by a set of pathways that connect navigation ... – PowerPoint PPT presentation

Number of Views:118
Avg rating:3.0/5.0
Slides: 46
Provided by: BMA2
Category:
Tags: online | security | testing | web

less

Transcript and Presenter's Notes

Title: Web Testing


1
Web Testing
  • CIS 376
  • Bruce R. Maxim
  • UM-Dearborn

2
Assessing Web Quality - 1
  • Content evaluated at both syntactic and semantic
    levels
  • Function tested to uncover lack of conformance to
    requirements
  • Structure is assessed to ensure proper content
    and function are delivered
  • Usability is tested to ensure that each category
    of user can be supported as new content or
    functionality is added

3
Assessing Web Quality - 2
  • Navigability is tested to ensure that all
    navigation syntax and semantics are exercised
  • Performance is tested under a variety of
    operating conditions, configurations, and loading
    to ensure a reasonable level of user response
  • Compatibility tested by executing WebApp using a
    variety of client and server configurations

4
Assessing Web Quality - 3
  • Interoperability tested to ensure proper
    interfaces to other applications and databases
  • Security is tested by assessing potential
    vulnerabilities and trying to exploit each of them

5
Web Error Concerns - 1
  • Many types of WebApp tests uncover problems
    evidenced on the client side using an specific
    interface (e.g. may be an error symptom, not the
    error itself)
  • It may be difficult to reproduce errors outside
    of the environment in which the error was
    originally encountered
  • Many errors can be traced to the WebApp
    configuration, incorrect design, or improper HTML

6
Web Error Concerns - 2
  • It is hard to determine whether errors are caused
    by problems with the server, the client, or the
    network itself
  • Some errors are attributable to problems in the
    static operating environment and some are
    attributable to the dynamic operating environment

7
Testing Web Apps - 1
  • WebApp content model is reviewed to uncover
    errors.
  • Interface model is reviewed to ensure all
    use-cases are accommodated.
  • Design model for WebApp is reviewed to uncover
    navigation errors.
  • User interface is tested to uncover presentation
    errors and/or navigation mechanics problems.

8
Testing Web Apps - 2
  • Selected functional components are unit tested.
  • Navigation throughout the architecture is tested.
  • WebApp is implemented in a variety of different
    environmental configurations and the
    compatibility of WebApp with each is assessed.
  • Security tests are conducted.

9
Testing Web Apps - 3
  • Performance tests are conducted.
  • WebApp is tested by a monitored group of selected
    end-users looking for
  • content errors
  • navigation errors
  • usability concerns
  • compatibility issues
  • performance

10
Web App Testing Process - 1
  • Content testing
  • tries to uncover content errors
  • Interface testing
  • exercises interaction mechanisms and validates
    aesthetic aspects of UI
  • Navigation testing
  • use-cases basis for design of test cases that
    exercise each usage scenarios against the
    navigation design (integration testing)

11
Web App Testing Process - 2
  • Component testing
  • exercises the WebApp content and functional units
    (integration testing)
  • Configuration testing
  • attempts to uncover errors traceable to a
    specific client or server environment
  • cross-reference table is useful

12
Web App Testing Process - 3
  • Performance testing to assess
  • WebApp response time and reliability under
    varying system loads
  • Which WebApp components are responsible for
    system degradation
  • How performance degradation impacts overall
    WebApp requirements
  • Security testing
  • tests designed to exploit WebApp or environment
    vulnerabilities

13
Web Testing Task Set - 1
  • Review stakeholder requirements
  • Establish priorities to ensure each user goal
    will be adequately tested
  • Define WebApp testing strategy by describing the
    types of tests that will be conducted

14
Web Testing Task Set - 2
  • Develop test plan
  • Define test schedule and assign testing
    responsibilities
  • Specify automated testing tools
  • Define acceptance criteria for each class of test
  • Specify defect tracking mechanisms
  • Define problem reporting mechanisms

15
Web Testing Task Set - 3
  • Perform unit tests
  • Review content for syntax and semantics errors
  • Review content for proper permissions
  • Test operation of interface mechanisms
  • Test each component for proper function

16
Web Testing Task Set - 4
  • Perform integration tests
  • Test interface semantics against use-cases
  • Conduct navigation tests
  • Perform configuration tests
  • Assess client-side compatibility
  • Assess server-side configurations
  • Conduct performance tests
  • Conduct security tests

17
Content Testing Objectives
  • Uncover syntactic errors in all media
  • (e.g. typos)
  • Uncover semantic errors
  • (e.g. errors in completeness or accuracy)
  • Find errors in organization or structure of
    content presented to end-user

18
Content Testing Tools
  • http//validator.w3.org/
  • Online WC3 tool checks Web pages for markup
    language validity (HTM, XHTML, SMIL, MathML).
  • http//jigsaw.w3.org/css-validator/
  • Online WC3 tool that checks CSS style sheets and
    documents using CSS stylesheets.
  • http//validator.w3.org/feed/
  • Online WC3 tool that checks syntax of Atom or
    RSS feeds.

19
Database Testing - 1
  • The original query must be checked to uncover
    errors in translating the users request to SQL
  • Problems in communicating between the WebApp
    server and Database server need to be tested.

20
Database Testing - 2
  • Need to demonstrate the validity of the raw data
    sent from the database to the WebApp and the
    validity of the transformations applied to the
    raw data.
  • Need to test validity of dynamic content object
    formats transmitted to the user and the validity
    of the transformations to make the data visible
    to the user.

21
User Interface Testing - 1
  • Interface features are tested to ensure that
    design rules, aesthetics, and related visual
    content is available for user without error.
  • Individual interface mechanisms are tested using
    unit testing strategies.
  • Each interface mechanism is tested in the context
    of a use-case of navigation semantic unit (e.g.
    thread) for a specific user category

22
User Interface Testing - 2
  • Complete interface is tested against selected
    use-cases and navigation semantic unit to uncover
    interface semantic errors
  • Interface is tested in a variety of environments
    to ensure compatibility

23
Testable Web Mechanisms - 1
  • Links
  • each link is listed and tested
  • Forms
  • check labels, field navigation, data entry, error
    checking, data transmission, meaningful error
    messages
  • Client-side scripting
  • black box testing and compatibility tests

24
Testable Web Mechanisms - 2
  • Dynamic HTML
  • correctness of generated HTML
  • compatibility tests
  • Client-side pop-up windows
  • proper size and placement of pop-up
  • working controls
  • consistent with appearance of Web page
  • Streaming content (demonstrate existence,
    accuracy, and control over content display)

25
Testable Web Mechanisms - 3
  • Cookies
  • check that server constructs cookie correctly
  • cookie transmitted correctly
  • ensure proper level of persistence
  • check to see WebApp attaches the correct cookies
  • Application specific interface mechanisms

26
Usability Testing Goals - 1
  • Interactivity
  • interaction mechanisms are easy to understand and
    use
  • Layout
  • navigation, content, and functions allows user to
    find them quickly
  • Readability
  • content understandable
  • Aesthetics
  • graphic design supports easy of use

27
Usability Testing Goals - 1
  • Display characteristics
  • WebApp makes good use of screen size and
    resolution
  • Time sensitivity
  • content and features can be acquired in timely
    manner
  • Personalization
  • adaptive interfaces
  • Accessibility
  • special needs users

28
Usability Testing
  • Define set of usability testing categories and
    identify goals for each
  • Design tests the will enable each goal to be
    evaluated
  • Select participants to conduct the tests
  • Instrument participants interactions with the
    WebApp during testing
  • Develop method for assessing usability of the
    WebApp

29
User Interface Testing Tools
  • http//www.usabilla.com/
  • Usabilla is an online tool that allows developers
    to track user actions and gather opinions during
    active use of a Web page.
  • http//www.google.com/analytics/
  • Google Analytics is an online tool that provides
    a comprehensive set of website data tracking and
    analysis tools that can be used to assess site
    usability .
  • http//valet.webthing.com/access/url.html
  • Web Valet provides an online service for checking
    Web pages for accessibility issues.

30
User Interface Testing Tools
  • http//wave.webaim.org/
  • Wave provides an online service that marks up Web
    pages to show accessibility issues.
  • http//www.sidar.org/hera/index.php.en
  • Hera provides an online service that uses the Web
    Content Accessibility Guidelines to check Web
    pages for accessibility issues.

31
Compatibility Testing
  • Goal is to uncover execution problems that can be
    traced to configuration differences
  • Define a set of commonly encountered client-side
    computing configurations and their variants
  • Organize this information (computing platform,
    typical display devices, operating system,
    available browsers, connection speeds)
  • Derive compatibility validation test suite from
    existing interface tests, navigation tests,
    performance tests, and security tests

32
Component Level Testing
  • Black box and white box testing of each WebApp
    function
  • Useful test case design methods
  • Equivalence partitioning
  • Boundary value analysis (esp. form field values)
  • Path testing
  • Forced error testing

33
Syntactic Navigation Testing
  • Links
  • Redirects
  • Bookmarks
  • Frames and framesets
  • Site maps
  • Internal search engines

34
Semantic Navigation Testing
  • Navigation semantic units are defined by a set of
    pathways that connect navigation nodes
  • Each NSU must allow a user from a defined user
    category achieve specific requirements defined by
    a use-case
  • Testing needs to ensure that each path is
    executed in its entirety without error
  • Every relevant path must be tested
  • User must be given guidance to follow or
    discontinue each path based on current location
    in site map

35
Navigation Testing Tools
  • http//validator.w3.org/checklink
  • Online WC3 link checker that analyzes HTML and
    XHTML documents for broken links.
  • http//www.relsoftware.com/
  • Download site for Rel Link Checker Lite a free
    tool for identifying broken links and orphaned
    files.

36
Configuration TestingServer-Side
  • Compatibility of WebApp with server OS
  • Correct file and directory creation by WebApp
  • System security measures do not degrade user
    service by WebApp
  • Testing WebApp with distributed server
    configuration
  • WebApp properly integrated with database software
  • Correct execution of WebApp scripts
  • Examination system administration errors for
    impact on WebApp
  • On-site testing of proxy servers

37
Configuration TestingClient-Side
  • Hardware
  • Operating systems
  • Browser software
  • User interface components
  • Plug-ins
  • Conectivity

38
Configuration Testing Tools
  • http//browsershots.org/
  • Browsershots provides an online service that
    allows you to test your website from many
    different browsers and operating systems.
  • http//testingbot.com/
  • TestingBot provides a limited free trial of an
    online service that allows you to test your
    website using many different browsers and
    operating systems.

39
Testable Security Elements
  • Firewalls
  • Authentication
  • Encryption
  • Authorization

40
Security Testing Tools
  • http//www.mavitunasecurity.com/communityedition/
  • Download site for a tool (Netsparker) that checks
    WebApps for SQL injection vulnerabilities.
  • http//enyojs.com/
  • Download site for the free N-Stalker tool that
    performs a number of security checks on websites
    using the N-Stealth web attack signature database.

41
Security Testing Tools
  • http//code.google.com/p/skipfish/
  • Download site for skipfish which prepares a
    report on security vulnerabilities found by
    crawling the pages in a website.

42
Load Testing
  • Determine combinations of N, T, and D that cause
    performance to degrade
  • N number of concurrent users
  • T number of on-line transactions per unit of
    time
  • D data load processed by server per transaction
  • Overall through put is computed using the
    equation
  • P N T D

43
Stress Testing
  • Does system degrade gracefully?
  • Are users made aware that they cannot reach the
    server?
  • Does server queue resource requests during heavy
    demand and then process the queue when demand
    lessens?
  • Are transactions lost as capacity is exceeded?
  • Is data integrity affected when capacity is
    exceeded?
  • How long till system comes back on-line after a
    failure?
  • Are certain WebApp functions discontinued as
    capacity is reached?

44
Performance Testing Tools
  • http//loadimpact.com/
  • LoadImpact is an online tool that conducts load
    impact testing using simulated user loads on web
    servers.
  • http//www.websitepulse.com/help/testtools.website
    -test.html/
  • WebSitePulse is an online tool which measures
    server availability and the response time of a
    website.
  • http//www.websiteoptimization.com/services/analyz
    e/
  • Web Page Analyzer is an online tool which
    measures website performance and provides a list
    of suggested changes to improve load times.

45
Performance Testing Tools
  • http//developer.yahoo.com/yslow/
  • slow is an online tool that analyzes Web pages
    and suggests improvements based on rules for
    development of high-performing websites.
  • http//tools.pingdom.com/fpt/
  • Pingdom is an online tool which measures Web page
    load time bottlenecks by analyzing component
    elements individually.
Write a Comment
User Comments (0)
About PowerShow.com