SlideShare une entreprise Scribd logo
1  sur  29
Unit 9: Web Application Testing
 Testing is the activity conducted to evaluate the quality of a product
    and to improve it by finding errors.




                                           Testing




dsbw 2008/2009 2q                                                      1
Testing Terminology
 An error is “the difference between a computed, observed, or
    measured value or condition and the true, specified, or theoretically
    correct value or condition” (IEEE standard 610.12-1990).
 This “true, specified, or theoretically correct value or condition”
    comes from
         A well-defined requirements model, if available and complete
         An incomplete set of fuzzy and contradictory goals, concerns, and
          expectations of the stakeholders
 A test is a set of test cases for a specific object under test
 A object under test may be the whole Web application, components
    of a Web application, a system that runs a Web application, etc.
 A single test case describes a set of inputs, execution
    conditions, and expected results, which are used to test a specific
    aspect of the object under test


dsbw 2008/2009 2q                                                             2
Testing [and] Quality
 Testing should address compliance not only to functional
    requirements but also to quality requirements, i.e., the kinds of
    quality characteristics expected by stakeholders.
 ISO/IEC 9126-1 [Software] Quality Model:




dsbw 2008/2009 2q                                                       3
Goals of Testing
   The main goal of testing is to find errors but not to prove their
    absence
   The large number of quality characteristics, potential input values and
    possible side conditions and processes make it impractical to achieve
    complete test coverage, especially in Web development, where testing
    tends to be constrained by restricted resources and extreme time pressure.
   A test run is successful if errors are detected. Otherwise, it is unsuccessful
    and “a waste of time”.
   Therefore, testing should adopt a risk-based approach:
         Test first and with the greatest effort those critical parts of an
          application where the most dangerous errors are still undetected
         A further aim of testing is to bring risks to light, not simply to
          demonstrate conformance to stated requirements.
   Test as early as possible at the beginning of a project: errors happened in
    early development phases are harder to localize and more expensive to fix
    in later phases.
dsbw 2008/2009 2q                                                                4
Test Levels
   Unit tests
       Test the smallest testable units (classes, Web pages, etc.) independently of one
        another.
       Performed by the developer during implementation.

   Integration tests
       Evaluate the interaction between distinct and separately tested units once they
        have been integrated.
       Performed by a tester, a developer, or both jointly.

   System tests
       Test the complete, integrated system.
       Typically performed by a specialized test team.

   Acceptance tests
          Evaluate the system with the client in an “realistic” environment, i.e. with real
      
          conditions and real data.
   Beta tests
       Let friendly users work with early versions of a product to get early feedback.
       Beta tests are unsystematic tests which rely on the number and “malevolence”
        of potential users.

dsbw 2008/2009 2q                                                                             5
Fitting Testing in the Development Process




   Planning: Defines the quality goals, the general testing strategy, the test plans for all
    test levels, the metrics and measuring methods, and the test environment.
   Preparing: Involves selecting the testing techniques and tools and specifying the test
    cases (including the test data).
   Performing: Prepares the test infrastructure, runs the test cases, and then
    documents and evaluates the results.
   Reporting: Summarizes the test results and produces the test reports.

dsbw 2008/2009 2q                                                                           6
Web Testing: A Road Map
    Content                      Interface
    Testing                       Testing
                      user

                                             Navigation
                                              Testing



                                                          Component
                                                            Testing




                                                      Configuration
                                                        Testing

                                                                Security
                                                Performance
                    technology                                  Testing
                                                  Testing



dsbw 2008/2009 2q                                                          7
Content Testing: Main Objectives
 Uncover syntactic errors in text-based documents, graphical
    representations, and other media
          Ex: typos, grammar mistakes
      


 Uncover semantic errors in any content object presented as
    navigation occurs
          Ex: errors in the accuracy or completeness of information
      


 Find errors in the organization or structure of content that is
    presented to the end-user.
          Ex: cross-referencing errors
      




dsbw 2008/2009 2q                                                     8
Content Semantics Testing: A Check List
   Is the information factually accurate?
   Is the information concise and to the point?
   Is the layout of the content object easy for the user to understand?
   Can information embedded within a content object be found easily?
   Have proper references been provided for all information derived from other
    sources?
   Is the information presented consistent internally and consistent with
    information presented in other content objects?
   Is the content offensive, misleading, or does it open the door to litigation?
   Does the content infringe on existing copyrights or trademarks?
   Does the content contain internal links that supplement existing content?
    Are the links correct?
   Does the aesthetic style of the content conflict with the aesthetic style of the
    interface?


dsbw 2008/2009 2q                                                                   9
Interface Testing: Main Objectives
 Find errors related to specific interface mechanisms
         Interface mechanisms: links, forms, client scripts, etc.

 Find errors in the way the interface implements the semantics of
    navigation, WebApp functionality or content display

 Identify usability pitfalls

 Uncover interface errors due to different client-side configurations




dsbw 2008/2009 2q                                                        10
Interface Testing: Strategy
1. Interface features are tested to ensure that design rules, aesthetics, and
    related visual content is available for the user without error.
         Interface features: fonts, colors, frames, images, borders, tables, etc.

2. Individual interface mechanisms are unit tested.

3. Each interface mechanism is tested within the context of a use-case for a
    specific user category (integration testing).

4. The complete interface is tested against selected use-cases to uncover
    errors in the semantics of the interface (system testing)

 In parallel, usability-related issues are addressed             Usability Testing

 In parallel, the interface is tested within a variety of environments (e.g.,
    browsers) to ensure that it will be compatible           Compatibility Testing



dsbw 2008/2009 2q                                                                     11
Interface Testing : A Check List for Interface Mechanisms
   Links: basically, uncover bad/broken internal/external links
   Forms: check that
            labels correctly identify input fields
            mandatory fields are identified visually for the user
            no input data is lost in transmission
            appropriate defaults are defined
             browser functions (e.g. “back” arrow) do not corrupt input data
      
            form-validating scripts work properly and provide meaningful messages

   Client-side scripting
   Dynamic HTML
   Pop-up windows
   Streaming content
   Cookies


dsbw 2008/2009 2q                                                                    12
Interface Testing: Usability Tests
    Designed by development team … executed by end-users


   Usability Testing process:
           Define a set of usability testing categories and identify goals for each.
      1.

           Design tests that will enable each goal to be evaluated.
      2.

           Select participants who will conduct the tests.
      3.

           Instrument participants‟ interaction with the WebApp while testing is conducted.
      4.

           Develop a mechanism for assessing the usability of the WebApp
      5.


   Usability Test Levels:
          Usability of a specific interface mechanism (e.g., a form) can be assessed
          Usability of a complete Web page (encompassing interface mechanisms, data
           objects and related functions) can be evaluated
          Usability of the complete WebApp can be considered.



dsbw 2008/2009 2q                                                                        13
Interface Testing: Usability Issues
   Interactivity
         Are interaction mechanisms (pull-down menus, forms) easy to grasp and use?
   Layout
         Are links, menus, content placed in a manner that allows finding them quickly?
   Aesthetics
          Do users “feel comfortable” with layout, color, typeface, …?
      

   Display Characteristics
         Does the WebApp make optimal use of screen size and resolution
   Time Sensitivity
         Are features, functions and content used or acquired in a timely manner
   Personalization
         Does the WebApp tailor to specific needs or different users?
   Accessibility
          Does the WebApp conform to the W3C‟s Web Content Accessibility Guidelines?
      




dsbw 2008/2009 2q                                                                      14
Interface Testing: Compatibility Tests
    Compatibility tests first define a set of “commonly encountered” client side

    computing configurations and their variants according to
       different computing platforms
       typical display devices
       browsers available
       likely Internet connection speeds

   Then derive a series of interface tests to uncover errors or execution
    problems that can be traced to configuration differences.
   Browser testing:
        Is the WebApp‟s state managed correctly, or could inconsistent states occur
      
        when navigating directly to a page, e.g. by using the “Back” button?
       Can a (dynamically generated) Web page be bookmarked during a
        transaction, and can users navigate to that page later without having to enter a
        user name and password to log in?
       Can users open the WebApp it in several browser windows concurrently?
       How does the Web application react when cookies or script languages are
        deactivated?


dsbw 2008/2009 2q                                                                      15
Navigation Testing: Main Objectives
 Ensure that the mechanisms that allow the WebApp user to travel
    through the WeApp are all functional (Navigation Syntax Tests)

 Validate that each navigation semantic unit can be achieved by the
    appropriate user category (Navigation Semantics Tests)

          Navigation Semantic Unit (NSU): A set of information and
      
          related navigation structures that collaborate in the fulfillment of
          a subset of related user requirements.
                Each NSU is defined by a set of navigation paths that connect
            

                navigation nodes (Web pages, content objectes, functionalities)
                Each NSU implements one, sometimes more, use cases.
            




dsbw 2008/2009 2q                                                                 16
Testing Navigation Syntax: A Check List for Nav. Mechanisms

   Navigation links—these mechanisms include internal links within the
    WebApp, external links to other WebApps, and anchors within a specific
    Web page.
   Redirects—these links come into play when a user requests a non-existent
    URL or selects a link whose destination has been removed or whose name
    has changed.
   Bookmarks—although bookmarks are a browser function, the WebApp
    should be tested to ensure that a meaningful page title can be extracted as
    the bookmark is created.
   Frames and framesets—tested for correct content, proper layout and sizing,
    download performance, and browser compatibility
   Site maps—Each site map entry should be tested to ensure that the link
    takes the user to the proper content or functionality.
   Internal search engines—Search engine testing validates the accuracy and
    completeness of the search, the error-handling properties of the search
    engine, and advanced search features

dsbw 2008/2009 2q                                                            17
Testing Navigation Semantics: Relevant Questions (1)

 Is the NSU achieved in its entirety without error?

 Is every navigation node (defined for a NSU) reachable within the
    context of the navigation paths defined for the NSU?
 If the NSU can be achieved using more than one navigation path,
    has every relevant path been tested?
 If guidance is provided by the user interface to assist in navigation,
    are directions correct and understandable as navigation proceeds?
 Is there a mechanism (other than the browser „back‟ arrow) for
    returning to the preceding navigation node and to the beginning of
    the navigation path.
 Do mechanisms for navigation within a large navigation node (i.e., a
    long web page) work properly?
 If a function is to be executed at a node and the user chooses not to
    provide input, can the remainder of the NSU be completed?
dsbw 2008/2009 2q                                                        18
Testing Navigation Semantics: Relevant Questions (2)

 If a function is executed at a node and an error in function
    processing occurs, can the NSU be completed?

 Is there a way to discontinue the navigation before all nodes have
    been reached, but then return to where the navigation was
    discontinued and proceed from there?

 Is every node reachable from the site map? Are node names
    meaningful to end-users?

 If a node within an NSU is reached from some external source, is it
    possible to process to the next node on the navigation path. Is it
    possible to return to the previous node on the navigation path?

 Does the user understand his location within the content
    architecture as the NSU is executed?


dsbw 2008/2009 2q                                                        19
Component Testing
 Focuses on a set of tests that attempt to uncover errors in WebApp
    functions
 Conventional black-box and white-box test case design methods
    can be used at each architectural layer (presentation, domain, data
    access)
 Form data can be exploited systematically to find errors:
         Missing/incomplete data
         Type conversion problems
         Value boundary violations
         Fake data
         Etc.

 Database testing is often an integral part of the component-testing
    regime


dsbw 2008/2009 2q                                                     20
Configuration Testing: Server-Side Issues
   Is the WebApp fully compatible with the server OS?
   Are system files, directories, and related system data created correctly
    when the WebApp is operational?
   Do system security measures (e.g., firewalls or encryption) allow the
    WebApp to execute and service users without interference or performance
    degradation?
   Has the WebApp been tested with the distributed server configuration (if
    one exists) that has been chosen?
   Is the WebApp properly integrated with database software? Is the WebApp
    sensitive to different versions of database software?
   Do server-side WebApp scripts execute properly?
   Have system administrator errors been examined for their affect on
    WebApp operations?
   If proxy servers are used, have differences in their configuration been
    addressed with on-site testing?

dsbw 2008/2009 2q                                                              21
Configuration Testing: Client-Side Issues
 Hardware—CPU, memory, storage and printing devices

 Operating systems—Linux, Macintosh OS, Microsoft Windows, a
    mobile-based OS

 Browser software—Internet
    Explorer, Mozilla/Netscape, Opera, Safari, and others

 User interface components—Active X, Java applets and others

 Plug-ins—QuickTime, RealPlayer, and many others

 Connectivity—cable, DSL, regular modem, T1




dsbw 2008/2009 2q                                               22
Security Testing
 Designed to probe vulnerabilities
          of the client-side environment,
      
          the network communications that occur as data are passed from
      
          client to server and back again,
          and the server-side environment
      

 On the client-side, vulnerabilities can often be traced to pre-existing
    bugs in browsers, e-mail programs, or communication software.
 On the network infrastructure

 On the server-side,                       Review the DSBW Unit on
          At host level
                                           WebApp Security
          At WebApp level
      




dsbw 2008/2009 2q                                                      23
Performance Testing: Main Questions
 Does the server response time degrade to a point where it is
    noticeable and unacceptable?
 At what point (in terms of users, transactions or data loading) does
    performance become unacceptable?
 What system components are responsible for performance
    degradation?
 What is the average response time for users under a variety of
    loading conditions?
 Does performance degradation have an impact on system security?

 Is WebApp reliability or accuracy affected as the load on the system
    grows?
 What happens when loads that are greater than maximum server
    capacity are applied?


dsbw 2008/2009 2q                                                    24
Performance Testing: Load Tests
 A load test verifies whether or not the system meets the required
    response times and the required throughput.
 Steps:
           Determine load profiles (what access types, how many visits per
      1.
           day, at what peak times, how many visits per session, how many
           transactions per session, etc.) and the transaction mix (which
           functions shall be executed with which percentage).
           Determine the target values for response times and throughput
      2.
           (in normal operation and at peak times, for simple or complex
           accesses, with minimum, maximum, and average values).
           Run the tests, generating the workload with the transaction mix
      3.
           defined in the load profile, and measure the response times and
           the throughput.
           The results are evaluated, and potential bottlenecks are
      4.
           identified.

dsbw 2008/2009 2q                                                       25
Performance Testing: Stress Tests
   A stress test verifies whether or not the system reacts in a controlled way in
    “stress situations”, which are simulated by applying extreme conditions,
    such as unrealistic overload, or heavily fluctuating load.
   The test is aimed at answering the questions:
      Does the server degrade „gently‟ or does it shut down as capacity is
       exceeded?
      Does server software generate “server not available” messages? More
       generally, are users aware that they cannot reach the server?
      Are transactions lost as capacity is exceeded?
      Is data integrity affected as capacity is exceeded?
      Under what load conditions the server environment fails? How does
       failure manifest itself? Are automated notifications sent to technical
       support staff at the server site?
      If the system does fail, how long will it take to come back on-line?
      Are certain WebApp functions (e.g., compute intensive functionality,
       data streaming capabilities) discontinued as capacity reaches the 80 or
       90% level?

dsbw 2008/2009 2q                                                              26
Performance Testing: Interpreting Graphics
                                Load: the number of
                                 requests that arrive at
                                 the system per time
                                 unit

                                Throughput: the
                                 number of requests
                                 served per time unit.

                                SLA: Service Level
                                 Agreement




dsbw 2008/2009 2q                                     27
Test Automation
   Automation can significantly increase the efficiency of testing and enables
    new types of tests that also increase the scope (e.g. different test objects
    and quality characteristics) and depth of testing (e.g. large amounts and
    combinations of input data).

   Test automation brings the following benefits:
         Running automated regression tests on new versions of a WebApp
          allows to detect defects caused by side-effects to unchanged
          functionality.
         Various test methods and techniques would be difficult or impossible to
          perform manually. For example, load and stress testing requires to
          simulate a large number of concurrent users.
         Automation allows to run more tests in less time and, thus, to run the
          tests more often leading to greater confidence in the system under test.

    Web Site Test Tools: http://www.softwareqatest.com/qatweb1.html


dsbw 2008/2009 2q                                                               28
References
 R. G. Pressman, D. Lowe: Web Engineering. A Practitioner’s
    Approach. McGraw Hill, 2008. Chapter 15.

 KAPPEL, Gerti et al. Web Engineering, John Wiley & Sons, 2006.
    Chapter 7.




dsbw 2008/2009 2q                                              29

Contenu connexe

Tendances

A survey of software testing
A survey of software testingA survey of software testing
A survey of software testingTao He
 
Testing throughout the software life cycle & statistic techniques
Testing throughout the software life cycle & statistic techniquesTesting throughout the software life cycle & statistic techniques
Testing throughout the software life cycle & statistic techniquesNovika Damai Yanti
 
Testing documents
Testing documentsTesting documents
Testing documentssuhasreddy1
 
Software Testing
Software TestingSoftware Testing
Software TestingKiran Kumar
 
SLC Process for Software Development & Quality Control
SLC Process for Software Development & Quality ControlSLC Process for Software Development & Quality Control
SLC Process for Software Development & Quality ControlMD ISLAM
 
01 software test engineering (manual testing)
01 software test engineering (manual testing)01 software test engineering (manual testing)
01 software test engineering (manual testing)Siddireddy Balu
 
Testing documents
Testing documentsTesting documents
Testing documentsHari Tiru
 

Tendances (9)

A survey of software testing
A survey of software testingA survey of software testing
A survey of software testing
 
Testing throughout the software life cycle & statistic techniques
Testing throughout the software life cycle & statistic techniquesTesting throughout the software life cycle & statistic techniques
Testing throughout the software life cycle & statistic techniques
 
Software testing methods
Software testing methodsSoftware testing methods
Software testing methods
 
Testing documents
Testing documentsTesting documents
Testing documents
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
SLC Process for Software Development & Quality Control
SLC Process for Software Development & Quality ControlSLC Process for Software Development & Quality Control
SLC Process for Software Development & Quality Control
 
01 software test engineering (manual testing)
01 software test engineering (manual testing)01 software test engineering (manual testing)
01 software test engineering (manual testing)
 
Testing documents
Testing documentsTesting documents
Testing documents
 
CTFL Module 02
CTFL Module 02CTFL Module 02
CTFL Module 02
 

Similaire à [DSBW Spring 2009] Unit 09: Web Testing

Web Engineering: A Practitioner Approach -Testing web app - Content Managemen...
Web Engineering: A Practitioner Approach -Testing web app - Content Managemen...Web Engineering: A Practitioner Approach -Testing web app - Content Managemen...
Web Engineering: A Practitioner Approach -Testing web app - Content Managemen...Esraa Farrag
 
Testing webapps, websites and mobile applications
Testing webapps, websites and mobile applicationsTesting webapps, websites and mobile applications
Testing webapps, websites and mobile applicationsurgentpager
 
Software Quality and Test Strategies for Ruby and Rails Applications
Software Quality and Test Strategies for Ruby and Rails ApplicationsSoftware Quality and Test Strategies for Ruby and Rails Applications
Software Quality and Test Strategies for Ruby and Rails ApplicationsBhavin Javia
 
Sucheta_kale_4.8years_QA
Sucheta_kale_4.8years_QASucheta_kale_4.8years_QA
Sucheta_kale_4.8years_QASucheta Kale
 
Testingwebapplication by nandi cool
Testingwebapplication by nandi coolTestingwebapplication by nandi cool
Testingwebapplication by nandi coolnandicool
 
Glimpse and Benefits of Testing
Glimpse and Benefits of TestingGlimpse and Benefits of Testing
Glimpse and Benefits of TestingSourabh Kasliwal
 
Object oriented testing
Object oriented testingObject oriented testing
Object oriented testingHaris Jamil
 
Objectorientedtesting 160320132146
Objectorientedtesting 160320132146Objectorientedtesting 160320132146
Objectorientedtesting 160320132146vidhyyav
 
IT8076 – Software Testing Intro
IT8076 – Software Testing IntroIT8076 – Software Testing Intro
IT8076 – Software Testing IntroJohnSamuel280314
 
Object Oriented Testing(OOT) presentation slides
Object Oriented Testing(OOT) presentation slidesObject Oriented Testing(OOT) presentation slides
Object Oriented Testing(OOT) presentation slidesPunjab University
 
Sqa, test scenarios and test cases
Sqa, test scenarios and test casesSqa, test scenarios and test cases
Sqa, test scenarios and test casesConfiz
 
Testing Interview Questions.pdf
Testing Interview Questions.pdfTesting Interview Questions.pdf
Testing Interview Questions.pdfPradeepaKannan6
 
Gabriel carabat a healthy approach for test automation
Gabriel carabat   a healthy approach for test automationGabriel carabat   a healthy approach for test automation
Gabriel carabat a healthy approach for test automationRomania Testing
 

Similaire à [DSBW Spring 2009] Unit 09: Web Testing (20)

Web Engineering: A Practitioner Approach -Testing web app - Content Managemen...
Web Engineering: A Practitioner Approach -Testing web app - Content Managemen...Web Engineering: A Practitioner Approach -Testing web app - Content Managemen...
Web Engineering: A Practitioner Approach -Testing web app - Content Managemen...
 
Testing webapps, websites and mobile applications
Testing webapps, websites and mobile applicationsTesting webapps, websites and mobile applications
Testing webapps, websites and mobile applications
 
Testing web application
Testing web applicationTesting web application
Testing web application
 
Unit 09: Web Application Testing
Unit 09: Web Application TestingUnit 09: Web Application Testing
Unit 09: Web Application Testing
 
Ooad
OoadOoad
Ooad
 
Software Quality and Test Strategies for Ruby and Rails Applications
Software Quality and Test Strategies for Ruby and Rails ApplicationsSoftware Quality and Test Strategies for Ruby and Rails Applications
Software Quality and Test Strategies for Ruby and Rails Applications
 
Sucheta_kale_4.8years_QA
Sucheta_kale_4.8years_QASucheta_kale_4.8years_QA
Sucheta_kale_4.8years_QA
 
SQA_Class
SQA_ClassSQA_Class
SQA_Class
 
Testingwebapplication by nandi cool
Testingwebapplication by nandi coolTestingwebapplication by nandi cool
Testingwebapplication by nandi cool
 
Selva_Selenium
Selva_SeleniumSelva_Selenium
Selva_Selenium
 
Glimpse and Benefits of Testing
Glimpse and Benefits of TestingGlimpse and Benefits of Testing
Glimpse and Benefits of Testing
 
Object oriented testing
Object oriented testingObject oriented testing
Object oriented testing
 
Objectorientedtesting 160320132146
Objectorientedtesting 160320132146Objectorientedtesting 160320132146
Objectorientedtesting 160320132146
 
IT8076 – Software Testing Intro
IT8076 – Software Testing IntroIT8076 – Software Testing Intro
IT8076 – Software Testing Intro
 
Pm 6 testing
Pm 6 testingPm 6 testing
Pm 6 testing
 
Pm 6 testing
Pm 6 testingPm 6 testing
Pm 6 testing
 
Object Oriented Testing(OOT) presentation slides
Object Oriented Testing(OOT) presentation slidesObject Oriented Testing(OOT) presentation slides
Object Oriented Testing(OOT) presentation slides
 
Sqa, test scenarios and test cases
Sqa, test scenarios and test casesSqa, test scenarios and test cases
Sqa, test scenarios and test cases
 
Testing Interview Questions.pdf
Testing Interview Questions.pdfTesting Interview Questions.pdf
Testing Interview Questions.pdf
 
Gabriel carabat a healthy approach for test automation
Gabriel carabat   a healthy approach for test automationGabriel carabat   a healthy approach for test automation
Gabriel carabat a healthy approach for test automation
 

Plus de Carles Farré

Aplicacions i serveis web (ASW)
Aplicacions i serveis web (ASW)Aplicacions i serveis web (ASW)
Aplicacions i serveis web (ASW)Carles Farré
 
DSBW Final Exam (Spring Sementer 2010)
DSBW Final Exam (Spring Sementer 2010)DSBW Final Exam (Spring Sementer 2010)
DSBW Final Exam (Spring Sementer 2010)Carles Farré
 
Web Usability (Slideshare Version)
Web Usability (Slideshare Version)Web Usability (Slideshare Version)
Web Usability (Slideshare Version)Carles Farré
 
[DSBW Spring 2010] Unit 10: XML and Web And beyond
[DSBW Spring 2010] Unit 10: XML and Web And beyond[DSBW Spring 2010] Unit 10: XML and Web And beyond
[DSBW Spring 2010] Unit 10: XML and Web And beyondCarles Farré
 
[DSBW Spring 2009] Unit 08: WebApp Security
[DSBW Spring 2009] Unit 08: WebApp Security[DSBW Spring 2009] Unit 08: WebApp Security
[DSBW Spring 2009] Unit 08: WebApp SecurityCarles Farré
 
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)Carles Farré
 
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (2/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (2/3)[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (2/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (2/3)Carles Farré
 
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (1/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (1/3)[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (1/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (1/3)Carles Farré
 
[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)
[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)
[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)Carles Farré
 
[DSBW Spring 2009] Unit 05: Web Architectures
[DSBW Spring 2009] Unit 05: Web Architectures[DSBW Spring 2009] Unit 05: Web Architectures
[DSBW Spring 2009] Unit 05: Web ArchitecturesCarles Farré
 
[DSBW Spring 2009] Unit 04: From Requirements to the UX Model
[DSBW Spring 2009] Unit 04: From Requirements to the UX Model[DSBW Spring 2009] Unit 04: From Requirements to the UX Model
[DSBW Spring 2009] Unit 04: From Requirements to the UX ModelCarles Farré
 
[DSBW Spring 2009] Unit 03: WebEng Process Models
[DSBW Spring 2009] Unit 03: WebEng Process Models[DSBW Spring 2009] Unit 03: WebEng Process Models
[DSBW Spring 2009] Unit 03: WebEng Process ModelsCarles Farré
 
[DSBW Spring 2009] Unit 02: Web Technologies (2/2)
[DSBW Spring 2009] Unit 02: Web Technologies (2/2)[DSBW Spring 2009] Unit 02: Web Technologies (2/2)
[DSBW Spring 2009] Unit 02: Web Technologies (2/2)Carles Farré
 
[DSBW Spring 2009] Unit 02: Web Technologies (1/2)
[DSBW Spring 2009] Unit 02: Web Technologies (1/2)[DSBW Spring 2009] Unit 02: Web Technologies (1/2)
[DSBW Spring 2009] Unit 02: Web Technologies (1/2)Carles Farré
 
[DSBW Spring 2009] Unit 01: Introducing Web Engineering
[DSBW Spring 2009] Unit 01: Introducing Web Engineering[DSBW Spring 2009] Unit 01: Introducing Web Engineering
[DSBW Spring 2009] Unit 01: Introducing Web EngineeringCarles Farré
 
[ABDO] Data Integration
[ABDO] Data Integration[ABDO] Data Integration
[ABDO] Data IntegrationCarles Farré
 
[ABDO] Logic As A Database Language
[ABDO] Logic As A Database Language[ABDO] Logic As A Database Language
[ABDO] Logic As A Database LanguageCarles Farré
 

Plus de Carles Farré (17)

Aplicacions i serveis web (ASW)
Aplicacions i serveis web (ASW)Aplicacions i serveis web (ASW)
Aplicacions i serveis web (ASW)
 
DSBW Final Exam (Spring Sementer 2010)
DSBW Final Exam (Spring Sementer 2010)DSBW Final Exam (Spring Sementer 2010)
DSBW Final Exam (Spring Sementer 2010)
 
Web Usability (Slideshare Version)
Web Usability (Slideshare Version)Web Usability (Slideshare Version)
Web Usability (Slideshare Version)
 
[DSBW Spring 2010] Unit 10: XML and Web And beyond
[DSBW Spring 2010] Unit 10: XML and Web And beyond[DSBW Spring 2010] Unit 10: XML and Web And beyond
[DSBW Spring 2010] Unit 10: XML and Web And beyond
 
[DSBW Spring 2009] Unit 08: WebApp Security
[DSBW Spring 2009] Unit 08: WebApp Security[DSBW Spring 2009] Unit 08: WebApp Security
[DSBW Spring 2009] Unit 08: WebApp Security
 
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (3/3)
 
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (2/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (2/3)[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (2/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (2/3)
 
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (1/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (1/3)[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (1/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (1/3)
 
[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)
[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)
[DSBW Spring 2009] Unit 06: Conallen's Web Application Extension for UML (WAE2)
 
[DSBW Spring 2009] Unit 05: Web Architectures
[DSBW Spring 2009] Unit 05: Web Architectures[DSBW Spring 2009] Unit 05: Web Architectures
[DSBW Spring 2009] Unit 05: Web Architectures
 
[DSBW Spring 2009] Unit 04: From Requirements to the UX Model
[DSBW Spring 2009] Unit 04: From Requirements to the UX Model[DSBW Spring 2009] Unit 04: From Requirements to the UX Model
[DSBW Spring 2009] Unit 04: From Requirements to the UX Model
 
[DSBW Spring 2009] Unit 03: WebEng Process Models
[DSBW Spring 2009] Unit 03: WebEng Process Models[DSBW Spring 2009] Unit 03: WebEng Process Models
[DSBW Spring 2009] Unit 03: WebEng Process Models
 
[DSBW Spring 2009] Unit 02: Web Technologies (2/2)
[DSBW Spring 2009] Unit 02: Web Technologies (2/2)[DSBW Spring 2009] Unit 02: Web Technologies (2/2)
[DSBW Spring 2009] Unit 02: Web Technologies (2/2)
 
[DSBW Spring 2009] Unit 02: Web Technologies (1/2)
[DSBW Spring 2009] Unit 02: Web Technologies (1/2)[DSBW Spring 2009] Unit 02: Web Technologies (1/2)
[DSBW Spring 2009] Unit 02: Web Technologies (1/2)
 
[DSBW Spring 2009] Unit 01: Introducing Web Engineering
[DSBW Spring 2009] Unit 01: Introducing Web Engineering[DSBW Spring 2009] Unit 01: Introducing Web Engineering
[DSBW Spring 2009] Unit 01: Introducing Web Engineering
 
[ABDO] Data Integration
[ABDO] Data Integration[ABDO] Data Integration
[ABDO] Data Integration
 
[ABDO] Logic As A Database Language
[ABDO] Logic As A Database Language[ABDO] Logic As A Database Language
[ABDO] Logic As A Database Language
 

Dernier

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024The Digital Insurer
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 

Dernier (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

[DSBW Spring 2009] Unit 09: Web Testing

  • 1. Unit 9: Web Application Testing  Testing is the activity conducted to evaluate the quality of a product and to improve it by finding errors. Testing dsbw 2008/2009 2q 1
  • 2. Testing Terminology  An error is “the difference between a computed, observed, or measured value or condition and the true, specified, or theoretically correct value or condition” (IEEE standard 610.12-1990).  This “true, specified, or theoretically correct value or condition” comes from  A well-defined requirements model, if available and complete  An incomplete set of fuzzy and contradictory goals, concerns, and expectations of the stakeholders  A test is a set of test cases for a specific object under test  A object under test may be the whole Web application, components of a Web application, a system that runs a Web application, etc.  A single test case describes a set of inputs, execution conditions, and expected results, which are used to test a specific aspect of the object under test dsbw 2008/2009 2q 2
  • 3. Testing [and] Quality  Testing should address compliance not only to functional requirements but also to quality requirements, i.e., the kinds of quality characteristics expected by stakeholders.  ISO/IEC 9126-1 [Software] Quality Model: dsbw 2008/2009 2q 3
  • 4. Goals of Testing  The main goal of testing is to find errors but not to prove their absence  The large number of quality characteristics, potential input values and possible side conditions and processes make it impractical to achieve complete test coverage, especially in Web development, where testing tends to be constrained by restricted resources and extreme time pressure.  A test run is successful if errors are detected. Otherwise, it is unsuccessful and “a waste of time”.  Therefore, testing should adopt a risk-based approach:  Test first and with the greatest effort those critical parts of an application where the most dangerous errors are still undetected  A further aim of testing is to bring risks to light, not simply to demonstrate conformance to stated requirements.  Test as early as possible at the beginning of a project: errors happened in early development phases are harder to localize and more expensive to fix in later phases. dsbw 2008/2009 2q 4
  • 5. Test Levels  Unit tests  Test the smallest testable units (classes, Web pages, etc.) independently of one another.  Performed by the developer during implementation.  Integration tests  Evaluate the interaction between distinct and separately tested units once they have been integrated.  Performed by a tester, a developer, or both jointly.  System tests  Test the complete, integrated system.  Typically performed by a specialized test team.  Acceptance tests Evaluate the system with the client in an “realistic” environment, i.e. with real  conditions and real data.  Beta tests  Let friendly users work with early versions of a product to get early feedback.  Beta tests are unsystematic tests which rely on the number and “malevolence” of potential users. dsbw 2008/2009 2q 5
  • 6. Fitting Testing in the Development Process  Planning: Defines the quality goals, the general testing strategy, the test plans for all test levels, the metrics and measuring methods, and the test environment.  Preparing: Involves selecting the testing techniques and tools and specifying the test cases (including the test data).  Performing: Prepares the test infrastructure, runs the test cases, and then documents and evaluates the results.  Reporting: Summarizes the test results and produces the test reports. dsbw 2008/2009 2q 6
  • 7. Web Testing: A Road Map Content Interface Testing Testing user Navigation Testing Component Testing Configuration Testing Security Performance technology Testing Testing dsbw 2008/2009 2q 7
  • 8. Content Testing: Main Objectives  Uncover syntactic errors in text-based documents, graphical representations, and other media Ex: typos, grammar mistakes   Uncover semantic errors in any content object presented as navigation occurs Ex: errors in the accuracy or completeness of information   Find errors in the organization or structure of content that is presented to the end-user. Ex: cross-referencing errors  dsbw 2008/2009 2q 8
  • 9. Content Semantics Testing: A Check List  Is the information factually accurate?  Is the information concise and to the point?  Is the layout of the content object easy for the user to understand?  Can information embedded within a content object be found easily?  Have proper references been provided for all information derived from other sources?  Is the information presented consistent internally and consistent with information presented in other content objects?  Is the content offensive, misleading, or does it open the door to litigation?  Does the content infringe on existing copyrights or trademarks?  Does the content contain internal links that supplement existing content? Are the links correct?  Does the aesthetic style of the content conflict with the aesthetic style of the interface? dsbw 2008/2009 2q 9
  • 10. Interface Testing: Main Objectives  Find errors related to specific interface mechanisms  Interface mechanisms: links, forms, client scripts, etc.  Find errors in the way the interface implements the semantics of navigation, WebApp functionality or content display  Identify usability pitfalls  Uncover interface errors due to different client-side configurations dsbw 2008/2009 2q 10
  • 11. Interface Testing: Strategy 1. Interface features are tested to ensure that design rules, aesthetics, and related visual content is available for the user without error.  Interface features: fonts, colors, frames, images, borders, tables, etc. 2. Individual interface mechanisms are unit tested. 3. Each interface mechanism is tested within the context of a use-case for a specific user category (integration testing). 4. The complete interface is tested against selected use-cases to uncover errors in the semantics of the interface (system testing)  In parallel, usability-related issues are addressed Usability Testing  In parallel, the interface is tested within a variety of environments (e.g., browsers) to ensure that it will be compatible Compatibility Testing dsbw 2008/2009 2q 11
  • 12. Interface Testing : A Check List for Interface Mechanisms  Links: basically, uncover bad/broken internal/external links  Forms: check that  labels correctly identify input fields  mandatory fields are identified visually for the user  no input data is lost in transmission  appropriate defaults are defined browser functions (e.g. “back” arrow) do not corrupt input data   form-validating scripts work properly and provide meaningful messages  Client-side scripting  Dynamic HTML  Pop-up windows  Streaming content  Cookies dsbw 2008/2009 2q 12
  • 13. Interface Testing: Usability Tests Designed by development team … executed by end-users   Usability Testing process: Define a set of usability testing categories and identify goals for each. 1. Design tests that will enable each goal to be evaluated. 2. Select participants who will conduct the tests. 3. Instrument participants‟ interaction with the WebApp while testing is conducted. 4. Develop a mechanism for assessing the usability of the WebApp 5.  Usability Test Levels:  Usability of a specific interface mechanism (e.g., a form) can be assessed  Usability of a complete Web page (encompassing interface mechanisms, data objects and related functions) can be evaluated  Usability of the complete WebApp can be considered. dsbw 2008/2009 2q 13
  • 14. Interface Testing: Usability Issues  Interactivity  Are interaction mechanisms (pull-down menus, forms) easy to grasp and use?  Layout  Are links, menus, content placed in a manner that allows finding them quickly?  Aesthetics Do users “feel comfortable” with layout, color, typeface, …?   Display Characteristics  Does the WebApp make optimal use of screen size and resolution  Time Sensitivity  Are features, functions and content used or acquired in a timely manner  Personalization  Does the WebApp tailor to specific needs or different users?  Accessibility Does the WebApp conform to the W3C‟s Web Content Accessibility Guidelines?  dsbw 2008/2009 2q 14
  • 15. Interface Testing: Compatibility Tests Compatibility tests first define a set of “commonly encountered” client side  computing configurations and their variants according to  different computing platforms  typical display devices  browsers available  likely Internet connection speeds  Then derive a series of interface tests to uncover errors or execution problems that can be traced to configuration differences.  Browser testing: Is the WebApp‟s state managed correctly, or could inconsistent states occur  when navigating directly to a page, e.g. by using the “Back” button?  Can a (dynamically generated) Web page be bookmarked during a transaction, and can users navigate to that page later without having to enter a user name and password to log in?  Can users open the WebApp it in several browser windows concurrently?  How does the Web application react when cookies or script languages are deactivated? dsbw 2008/2009 2q 15
  • 16. Navigation Testing: Main Objectives  Ensure that the mechanisms that allow the WebApp user to travel through the WeApp are all functional (Navigation Syntax Tests)  Validate that each navigation semantic unit can be achieved by the appropriate user category (Navigation Semantics Tests) Navigation Semantic Unit (NSU): A set of information and  related navigation structures that collaborate in the fulfillment of a subset of related user requirements. Each NSU is defined by a set of navigation paths that connect  navigation nodes (Web pages, content objectes, functionalities) Each NSU implements one, sometimes more, use cases.  dsbw 2008/2009 2q 16
  • 17. Testing Navigation Syntax: A Check List for Nav. Mechanisms  Navigation links—these mechanisms include internal links within the WebApp, external links to other WebApps, and anchors within a specific Web page.  Redirects—these links come into play when a user requests a non-existent URL or selects a link whose destination has been removed or whose name has changed.  Bookmarks—although bookmarks are a browser function, the WebApp should be tested to ensure that a meaningful page title can be extracted as the bookmark is created.  Frames and framesets—tested for correct content, proper layout and sizing, download performance, and browser compatibility  Site maps—Each site map entry should be tested to ensure that the link takes the user to the proper content or functionality.  Internal search engines—Search engine testing validates the accuracy and completeness of the search, the error-handling properties of the search engine, and advanced search features dsbw 2008/2009 2q 17
  • 18. Testing Navigation Semantics: Relevant Questions (1)  Is the NSU achieved in its entirety without error?  Is every navigation node (defined for a NSU) reachable within the context of the navigation paths defined for the NSU?  If the NSU can be achieved using more than one navigation path, has every relevant path been tested?  If guidance is provided by the user interface to assist in navigation, are directions correct and understandable as navigation proceeds?  Is there a mechanism (other than the browser „back‟ arrow) for returning to the preceding navigation node and to the beginning of the navigation path.  Do mechanisms for navigation within a large navigation node (i.e., a long web page) work properly?  If a function is to be executed at a node and the user chooses not to provide input, can the remainder of the NSU be completed? dsbw 2008/2009 2q 18
  • 19. Testing Navigation Semantics: Relevant Questions (2)  If a function is executed at a node and an error in function processing occurs, can the NSU be completed?  Is there a way to discontinue the navigation before all nodes have been reached, but then return to where the navigation was discontinued and proceed from there?  Is every node reachable from the site map? Are node names meaningful to end-users?  If a node within an NSU is reached from some external source, is it possible to process to the next node on the navigation path. Is it possible to return to the previous node on the navigation path?  Does the user understand his location within the content architecture as the NSU is executed? dsbw 2008/2009 2q 19
  • 20. Component Testing  Focuses on a set of tests that attempt to uncover errors in WebApp functions  Conventional black-box and white-box test case design methods can be used at each architectural layer (presentation, domain, data access)  Form data can be exploited systematically to find errors:  Missing/incomplete data  Type conversion problems  Value boundary violations  Fake data  Etc.  Database testing is often an integral part of the component-testing regime dsbw 2008/2009 2q 20
  • 21. Configuration Testing: Server-Side Issues  Is the WebApp fully compatible with the server OS?  Are system files, directories, and related system data created correctly when the WebApp is operational?  Do system security measures (e.g., firewalls or encryption) allow the WebApp to execute and service users without interference or performance degradation?  Has the WebApp been tested with the distributed server configuration (if one exists) that has been chosen?  Is the WebApp properly integrated with database software? Is the WebApp sensitive to different versions of database software?  Do server-side WebApp scripts execute properly?  Have system administrator errors been examined for their affect on WebApp operations?  If proxy servers are used, have differences in their configuration been addressed with on-site testing? dsbw 2008/2009 2q 21
  • 22. Configuration Testing: Client-Side Issues  Hardware—CPU, memory, storage and printing devices  Operating systems—Linux, Macintosh OS, Microsoft Windows, a mobile-based OS  Browser software—Internet Explorer, Mozilla/Netscape, Opera, Safari, and others  User interface components—Active X, Java applets and others  Plug-ins—QuickTime, RealPlayer, and many others  Connectivity—cable, DSL, regular modem, T1 dsbw 2008/2009 2q 22
  • 23. Security Testing  Designed to probe vulnerabilities of the client-side environment,  the network communications that occur as data are passed from  client to server and back again, and the server-side environment   On the client-side, vulnerabilities can often be traced to pre-existing bugs in browsers, e-mail programs, or communication software.  On the network infrastructure  On the server-side, Review the DSBW Unit on At host level  WebApp Security At WebApp level  dsbw 2008/2009 2q 23
  • 24. Performance Testing: Main Questions  Does the server response time degrade to a point where it is noticeable and unacceptable?  At what point (in terms of users, transactions or data loading) does performance become unacceptable?  What system components are responsible for performance degradation?  What is the average response time for users under a variety of loading conditions?  Does performance degradation have an impact on system security?  Is WebApp reliability or accuracy affected as the load on the system grows?  What happens when loads that are greater than maximum server capacity are applied? dsbw 2008/2009 2q 24
  • 25. Performance Testing: Load Tests  A load test verifies whether or not the system meets the required response times and the required throughput.  Steps: Determine load profiles (what access types, how many visits per 1. day, at what peak times, how many visits per session, how many transactions per session, etc.) and the transaction mix (which functions shall be executed with which percentage). Determine the target values for response times and throughput 2. (in normal operation and at peak times, for simple or complex accesses, with minimum, maximum, and average values). Run the tests, generating the workload with the transaction mix 3. defined in the load profile, and measure the response times and the throughput. The results are evaluated, and potential bottlenecks are 4. identified. dsbw 2008/2009 2q 25
  • 26. Performance Testing: Stress Tests  A stress test verifies whether or not the system reacts in a controlled way in “stress situations”, which are simulated by applying extreme conditions, such as unrealistic overload, or heavily fluctuating load.  The test is aimed at answering the questions:  Does the server degrade „gently‟ or does it shut down as capacity is exceeded?  Does server software generate “server not available” messages? More generally, are users aware that they cannot reach the server?  Are transactions lost as capacity is exceeded?  Is data integrity affected as capacity is exceeded?  Under what load conditions the server environment fails? How does failure manifest itself? Are automated notifications sent to technical support staff at the server site?  If the system does fail, how long will it take to come back on-line?  Are certain WebApp functions (e.g., compute intensive functionality, data streaming capabilities) discontinued as capacity reaches the 80 or 90% level? dsbw 2008/2009 2q 26
  • 27. Performance Testing: Interpreting Graphics  Load: the number of requests that arrive at the system per time unit  Throughput: the number of requests served per time unit.  SLA: Service Level Agreement dsbw 2008/2009 2q 27
  • 28. Test Automation  Automation can significantly increase the efficiency of testing and enables new types of tests that also increase the scope (e.g. different test objects and quality characteristics) and depth of testing (e.g. large amounts and combinations of input data).  Test automation brings the following benefits:  Running automated regression tests on new versions of a WebApp allows to detect defects caused by side-effects to unchanged functionality.  Various test methods and techniques would be difficult or impossible to perform manually. For example, load and stress testing requires to simulate a large number of concurrent users.  Automation allows to run more tests in less time and, thus, to run the tests more often leading to greater confidence in the system under test.  Web Site Test Tools: http://www.softwareqatest.com/qatweb1.html dsbw 2008/2009 2q 28
  • 29. References  R. G. Pressman, D. Lowe: Web Engineering. A Practitioner’s Approach. McGraw Hill, 2008. Chapter 15.  KAPPEL, Gerti et al. Web Engineering, John Wiley & Sons, 2006. Chapter 7. dsbw 2008/2009 2q 29