Chapter 7 - Testing Web Applications - 1slide
Chapter 7 - Testing Web Applications - 1slide
Web testing versus traditional testing Web application components Testing practice Web testing tools
Slide 3
Connected mode (connection Disconnected mode (state exists always until logout) less) Less number of network issues
Many issues like hardware compatibility, browser compatibility, version compatibility etc
Slide 4
Majorly used in Intranet areas Used in Internet areas Performance issues will not be Performance issues are very taken into consideration importance
The user interaction with the The user interaction is server is mainly through a user through a compatible web interface browser
Slide 5
Web testing versus traditional testing Web application components Testing practice Web testing tools
Slide 7
Server-side components
Core application service components web servers
store Web pages or HTML files and their associated contents also serve advanced technology components such as Java servlets, ActiveX controls, and back-end database connectors act as data repositories for Web applications refer to a set of components that extend their services to other components or integrated application components
Slide 8
database servers
application servers
catalog and index data that is published by Web servers act as intermediaries between networks and the Internet protect private networks from Internet intruders
communication-related servers
e-commerce-related servers multimedia-related servers
Slide 9
Client-side components
Web browsers applications that retrieve, assemble, and display Web pages there are multiple browsers and browser versions available Add-on/Plug-in components support various forms of interactivity and animation within Web pages Macromedia Shockwave, Java applets and ActiveX controls
Slide 10
Web testing versus traditional testing Web application components Testing practice Web testing tools
Testing practice
User interface tests
Functional tests
Database tests Configuration and Compatibility testing
Security testing
Performance testing
Slide 12
Slide 13
UI design testing
Who is the applications target user? profiling the target user
How to evaluate design? design approach user interaction (data input) data presentation (data output)
Slide 14
Data presentation
UI implementation testing
Examines applications toward operation evaluates whether UI features work properly Do not be mistaken for functional tests
Slide 16
Usability testing
A metric that helps determining the users satisfaction when
memorability
error frequency and severity
subjective satisfaction
Process identify any usability problems, collect quantitative data on participants' performance (e.g. time on task, error rates), and determine participant's satisfaction with the product
Slide 17
Accessibility testing
Web content must be available to and accessible by everyone navigate within a Web page and between Web pages navigate with keyboard only or other specialized input devices easily follow the contents and instructions provided Methods and tools for designing accessible products Web Content Accessibility Guidelines (W3C) several tools are available for automating: evaluation, repair, and transformation
Slide 18
Testing practice
User interface tests
Functional tests
Database tests Configuration and Compatibility testing
Security testing
Performance testing
Slide 19
Slide 20
Slide 22
Forced-error tests
Contains negative test cases that are designed to force a program into error conditions Objective: to find any error conditions
Slide 23
Testing practice
User interface tests
Functional tests
Database tests Configuration and Compatibility testing
Security testing
Performance testing
Slide 24
Slide 25
White-box methods
Code walk-through (peer-review process) point out any inefficiencies, redundancies, inconsistencies, or poor coding practices
Testing triggers identify all the triggers analyze and catalog the conditions under which a trigger will be executed write and execute SQL statements or stored procedures
Slide 26
SELECT * FROM staff SELECT id, state, salary, name FROM staff
This type of error only causes the database to do unnecessary extra work. The overall performance might be affected
Slide 27
loop.
Slide 28
Black-box methods
Designing test cases executed on the browser-side
Testing for transaction logic check the database tables to ensure the transaction logic Testing for concurrency issues need to lock records to prevent concurrent updates and prevent data errors in the database
Slide 29
Testing practice
User interface tests
Functional tests
Database tests Configuration and Compatibility testing
Security testing
Performance testing
Slide 30
Testing practice
User interface tests
Functional tests
Database tests Configuration and Compatibility testing
Security testing
Performance testing
Slide 34
Security testing
A combination of many protective measures taken to ensure the safety of the data and resources of both the owners and the users of computer systems Requires a combination of knowledge of security technologies, network technologies, programming, and real-world experience in penetrating the security of network systems Issues anatomy of an attack attacking intents common vulnerabilities and attacks testing for security
Slide 35
Anatomy of an attack
Information gathering viewing the source code
path names names and/or e-mail addresses of programmers, testers, and support staff
Network scanning scanning the system to determine which servers are alive and reachable from the Internet Attacking an active process of intrusion
Slide 36
Attacking intents
To steal
To disrupt activities
To embarrass To play a game
Slide 37
Slide 38
Password cracking
Denial-of-service (DoS) attacks Information leaks social engineering keystroke capturing garbage rummaging scanning and probing
Slide 39
Slide 40
Slide 42
Slide 43
Slide 45
Slide 46
Testing practice
User interface tests
Functional tests
Database tests Configuration and Compatibility testing
Security testing
Performance testing
Slide 47
Performance testing
Problem Solution web applications enable multiple users to access the application simultaneously evaluate the systems capability to perform critical functions during periods of normal and peak usage Often requires the aid of automated testing tools to simulate workload, collect measurement data, and present data that can be used for performance analysis Types of tests performance testing load testing stress testing
Slide 48
Types of tests 1
Performance testing an information-gathering and analysis process
metrics to collect: transactions per second, hits per second, concurrent connections, throughput,... to predict when load levels will exhaust system resources
Load testing evaluates system performance with a predefined load level minimum configuration and maximum activity levels be determined
Slide 49
Types of tests 2
Stress testing evaluates the behavior of systems that are pushed beyond their specified operational limits evaluates responses to bursts of peak activity that exceed system limitations
Slide 50
Testing phase
Analysis phase
Slide 51
Planning phase 1
Identifying baseline configuration and performance
requirements
consider hardware and software configurations, network
bandwidth, memory requirements, disk space, connectivity technologies... environment and resources, workload, acceptable response time
the number of concurrent users, the ratio of different types of users, and the behavior of different types of users TPS, ratios of specific pages requested by users...
Slide 52
application-specific load
Planning phase 2
Determining when to begin testing should be started as early in the product development process as possible Generating loads hardware-intensive approach
software-intensive approach
the use of a tool to simulate many users accessing the system simultaneously
Testing phase
Generating test data by manually by programming by using existing data from the system under test Setting up a test bed of data Setting up the test suite parameters
Slide 54
Analysis phase
Characterize the system organize the performance data gathered Analyze results and and look for the sources of performance
problems
examining the performance monitors on the servers receiving
Optimize the system under test add processing power? add RAM? add storage? add bandwidth?...
Slide 55
Web testing versus traditional testing Web application components Testing practice Web testing tools
Slide 57