IT702 Advanced Web Technologies 29-08-2016
(Jul Nov 2016)
Web Engineering
Basics, Need, Concepts and Trends
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Terminology
Web Application a distributed application that accomplishes a
certain business need based on the technologies of WWW and that
consists of a set of Web-specific resources.
E.g. Websites, blogs, wikis, WhatsApp etc
Web System an infrastructure or system enabling the operation of a
Web application.
E.g. The entire backend support for Websites, including logistics,
security, transactions, failure-safe operation etc..
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Dr. Sowmya Kamath S,
Dept of IT, NITK Surathkal 1
IT702 Advanced Web Technologies 29-08-2016
(Jul Nov 2016)
Web Applications
WebApps encompass:
complete Web sites
Simple information Web sites
Complex e-Commerce or other sites with embedded functionality and
data retrieval
Complex Web sites that are interoperable with other legacy software
and systems
specialized functionality within Web sites
information processing applications that reside on the Internet or on
an intranet or ExtraNet.
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Categories of WebApps
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Dr. Sowmya Kamath S,
Dept of IT, NITK Surathkal 2
IT702 Advanced Web Technologies 29-08-2016
(Jul Nov 2016)
Attributes of WebApps
Concurrency.
A large number of users may access the WebApp at one time; patterns
of usage among end-users will vary greatly.
Unpredictable load.
The number of users of the WebApp may vary by orders of magnitude
from day to day.
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Attributes of WebApps (contd.)
Performance.
If a WebApp user must wait too long (for access, for server-side
processing, for client-side formatting and display), he or she may
decide to go elsewhere.
Network intensiveness.
A WebApp resides on a network and must serve the needs of a diverse
community of clients.
Aesthetics.
When an application has been designed to market or sell products or
ideas, aesthetics may have as much to do with success as technical
design.
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Dr. Sowmya Kamath S,
Dept of IT, NITK Surathkal 3
IT702 Advanced Web Technologies 29-08-2016
(Jul Nov 2016)
Attributes of WebApps (contd.)
Availability.
Although expectation of 100 percent availability is unreasonable, users
of popular WebApps often demand access on a 24/7/365 basis.
Data driven.
The primary function of many WebApps is to use hypermedia to
present text, graphics, audio, and video content to the end-user.
Security.
to protect sensitive content and provide secure modes of data
transmission
strong security measures must be implemented throughout the
infrastructure that supports a WebApp and within the application itself
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Attributes of WebApps (contd.)
Content sensitive.
The quality and nature of content remains an important determinant of
the quality of a WebApp.
Continuous evolution.
Unlike conventional application software that evolves over a series of
planned, chronologically-spaced releases, Web applications evolve
continuously.
Immediacy.
WebApps often exhibit a time to market that can be a matter of a few
days or weeks.
With modern tools, sophisticated Web pages can be produced in only a few
hours.
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Dr. Sowmya Kamath S,
Dept of IT, NITK Surathkal 4
IT702 Advanced Web Technologies 29-08-2016
(Jul Nov 2016)
Complex Web Systems - Range of Complexity
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Complex Web Systems - Characteristics
Todays focus is on large-scale and ubiquitously useable WebApps
Many users, languages, cultures.
Access mechanisms.
User Agents, versions.
Presents large volume of interrelated information (including different
media) and processes.
Appropriate presentation.
Progression through activities finish one thing before starting another.
Intuitive system feedback.
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Dr. Sowmya Kamath S,
Dept of IT, NITK Surathkal 5
IT702 Advanced Web Technologies 29-08-2016
(Jul Nov 2016)
Complex Web Systems Characteristics (contd.)
Growing and increasing complexity
Many product iterations/versions/refinements (calls for Reuse)
Many developers and operators, complex handling of temporal media
(e.g. publishing of company news, earlier versions of Web pages)
Customization, Personalization, Security issues
and a lot more...
E.g. Up-to-date by following trends
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Web Application Development - Current Practices
Still Ad-Hoc instead of a disciplined procedure
Copy-and-Paste Paradigm
Lacks rigor, systematic approach
Gap between Design Model and Implementation Model
completed system is often not what the user wants
Short lifecycle of a Web Application -> Maintenance and Evolution
issues -> Reuse issues
Time and cost overruns
Does not meet performance requirements
Lacks scalability and maintainability, hence limited useful life
Resources are wasted
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Dr. Sowmya Kamath S,
Dept of IT, NITK Surathkal 6
IT702 Advanced Web Technologies 29-08-2016
(Jul Nov 2016)
Complex Web Systems- Project Failure Rates
Ref: IEEE Software, [Link]/software
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Complex Web Systems - Project Failure Rates (contd.)
Ref: IEEE Software, [Link]/software
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Dr. Sowmya Kamath S,
Dept of IT, NITK Surathkal 7
IT702 Advanced Web Technologies 29-08-2016
(Jul Nov 2016)
Problems with Complex Web System Projects
(Source: Epner, M., Cutter Consortium)
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
WebApp Development vs. Software Development
Web-based systems:
Are often document-oriented containing static or dynamic content
More emphasis on look and feel
content-driven
Need to cater to users with diverse skills and capabilities
typically constrained to a short development time making it difficult to
apply the same levels of formal planning and testing used in software
development.
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Dr. Sowmya Kamath S,
Dept of IT, NITK Surathkal 8
IT702 Advanced Web Technologies 29-08-2016
(Jul Nov 2016)
WebApp Development vs. Software Development (contd.)
Web-based systems:
Differ by means of their access and delivery medium
Have different life spans
Have differing development requirements
Developers are vastly varied in terms of their background, skills, knowledge,
and system understanding.
Web-based systems:
Should be scalable
Have varying performance requirements must be able to cope with
uncertain, random heavy demands on services
Must be secure
Are subject to assorted legal, social, and ethical scrutiny
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Traditional vs. Web
In Traditional Projects: In Web Projects:
Quality product at lowest cost Usable product in shortest
10-100 team members time
12-18 month horizon 3-10 team members
$ millions 3-6 month horizon
Requirements-based; structured $ thousands
phases; document-driven Agile methods; prototypes
OO methods Component-based methods;
Rigid processes multimedia; visual
Complex; poor reusability programming
Experienced, professional Ad-hoc processes
developers Standardized; high reusability
Multimedia designers; Web
programmers; marketers
Dr. Sowmya Kamath S,
Dept of IT, NITK Surathkal 9
IT702 Advanced Web Technologies 29-08-2016
(Jul Nov 2016)
Web Engineering (WebE)
The application of systematic, disciplined, and
quantifiable approaches to the design, production,
deployment, operation, maintenance and evolution of
Web-based software products.
---Gaedke, 2000
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Key Knowledge Areas
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Dr. Sowmya Kamath S,
Dept of IT, NITK Surathkal 10
IT702 Advanced Web Technologies 29-08-2016
(Jul Nov 2016)
Overall WebE Development Process
Context
Analysis
Requirement
Analysis
Quality Control & Assurance
Product Process
Project Management
Model Model
Documentation
Project Plan
Web App
Development
Web App Maintenance
WebE Development Process
Context Analysis
Dr. Sowmya Kamath S,
Dept of IT, NITK Surathkal 11
IT702 Advanced Web Technologies 29-08-2016
(Jul Nov 2016)
WebE Context Analysis
Context
Identify the stake holders and their broader requirements and
experiences.
Identify the corporate requirements in relation to look and feel,
performance, security and governance.
Content
Establish what information needs to be on the web site, how to get this
information and how often this information is changing (immediate,
short term, medium term)
Identify the functions the Web site needs to provide ( immediate, short
term, medium term).
Users - potential users, their characteristics and needs.
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
WebE Development Process
Requirement Analysis
Dr. Sowmya Kamath S,
Dept of IT, NITK Surathkal 12
IT702 Advanced Web Technologies 29-08-2016
(Jul Nov 2016)
WebE Requirements Analysis
Many taxonomies exist to describe requirements, but most divide
them into two groups:
Functional describes the capabilitys purpose
Use-case diagrams, activity diagrams, group specifications, data dictionary, site
view specifications, style guidelines.
Non-functional describes the capabilitys properties
Usabalility modeling, acceptance modeling, .
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
WebE Requirements Analysis (contd.)
Functional Requirement Types
Data Requirements
How information is stored and managed
Interface Requirements
How the user is going to interact with the application
Navigational Requirements
How the user is going to navigate through the application
Personalization Requirements
How the application will adapt itself according to user or environment
profile
Transactional Requirements
How the application behaves internally
Security Requirements
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Dr. Sowmya Kamath S,
Dept of IT, NITK Surathkal 13
IT702 Advanced Web Technologies 29-08-2016
(Jul Nov 2016)
WebE Requirements Analysis (contd.)
Non-Functional Requirement Types
Content
Quality
Usability, Portability, Scalability
Reliability, Efficiency, Maintainability
System Environment
User Interface
Self-explanatory & intuitive
Evolution
Project Constraints
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Requirement analysis An Example
Revision and formalization of the collected requirements, producing in
output a set of semi-formal specifications, typically in terms of:
Group specification
Use-case specification
Data dictionary specification
Site view specification
Style guidelines specification
Ref: WebML Acer Usecase
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Dr. Sowmya Kamath S,
Dept of IT, NITK Surathkal 14
IT702 Advanced Web Technologies 29-08-2016
(Jul Nov 2016)
RA Specification Types.
Group specification
Clustering of users into groups (formally described)
Groups Group Group name: Mar-Com Manager
Hierarchy: Description: Description: marketing and communication personnel inserting,
modifying, and deleting mkt materials.
Profile data: First name, last name, email, office address.
Profile data are provided explicitly by the user.
Corporate Super-group: Corporate.
Sub-groups: None.
Relevant use cases: Login, Add a news item, Modify a news item,
Delete a news item, Add a news category, Modify
Mar-Com Supervisor a news category, Delete a news category, "Modify
manager
profile data".
Objects - read Product and Product News.
mode:
Objects - content Product News.
Admin
mgmt mode:
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
RA Specification Types.
Use-case specification
Formal description of units of interaction with the application by users
of a given group (e.g., thru tables or UML diagrams)
1. Use cases list for a user (use case diagram)
Add a news Login Add a news
item category
Modify a news Modify a news
item category
Remove a Remove a
news item news category
Mar-Com Manager
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Dr. Sowmya Kamath S,
Dept of IT, NITK Surathkal 15
IT702 Advanced Web Technologies 29-08-2016
(Jul Nov 2016)
RA Specification Types.
Use-case specification
2. Single use case specification (table or activity diagram)
User Application Server Database
Initial Request Send Form
Input Credentials Accept Credentials Verify Credentials
Select Home Page Elaborate Page
Default Home Page List
Index of Home Pages
Serve Request
Receive Home Page
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
RA Specification Types.
Use-case specification
2. Single use case specification (table or activity diagram)
Title Login of user belonging to multiple groups
Purpose To express how users with more than one role access the functions
of the applications.
Pre-condition A user that belongs to multiple groups is registered. For each group,
the site view serving the requirements of the group members is
defined.
Post-condition The user successfully logs into the application and accesses the site
view corresponding to one of his groups.
Workflow The following steps must be performed:
[Link] user receives an input form asking for username and password;
[Link] user inputs his credentials;
[Link] the credentials are correct, the user is authenticated, the list of
groups the user belongs to is determined, and the list of names and
URLs of the home pages of the site view of such groups is displayed
to user;
[Link] user chooses one entry from the list, and enters into the
selected site view.
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Dr. Sowmya Kamath S,
Dept of IT, NITK Surathkal 16
IT702 Advanced Web Technologies 29-08-2016
(Jul Nov 2016)
RA Specification Types.
Data dictionary specification
List of the main information objects identified during data requirements
collection
Each entry can be specified by:
Name
Synonyms NewsItem
Description Piece of news
Sample instances A corporate or product piece of news
Properties TravelMate 610 launched, 20th June 01
Relationships Title, Body, Image, Date,
NewsToProduct
Components
None
Super-concept
None
Sub-concepts
Highlighted news
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
RA Specification Types.
Sitemap specification
IN: list of user groups, list of use cases, data dictionary
OUT: list of needed site maps, specified by:
Name
Description
Target User Groups
Implemented use cases
Site view map: a table illustrating the different areas that compose the
site view. Each area is specified by:
Area Name
Area Description
Accessed/Managed Objects
Priority level
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Dr. Sowmya Kamath S,
Dept of IT, NITK Surathkal 17
IT702 Advanced Web Technologies 29-08-2016
(Jul Nov 2016)
Site View News Content Management
Description Includes the pages through which the Mar-Com Managers will access content management
functions, for inserting or updating content about news categories and news items.
1.2.d Site view specification example
User Groups Mar-Com Managers Site Map specification
Use Cases Login, Add a news category, Edit a news category, Remove a news category, Add a
news item, Edit a news item, Remove a news item.
Site View Map
Area Name Area Description Objects Priority
News Content In the default page, the user accesses the list of countries NewsCategory High
Management for which he is content manager and selects a country to NewsItem
administer. In the News Category page, the user accesses
the list of news categories for the selected country. Here,
the user can perform content management functions over
news categories, according to the use cases Add a news
category, Edit a news category, Remove a news
category. Otherwise, he can select one category, and
access the list of the available news items in the selected
category.
In the News page, the user can perform content
management functions over a selected news item
according to the use cases Add a news item, Edit a news
item, Remove a news item.
25-Aug-16
V. Style guidelines specification
Rules for the presentation of pages:
Specification of standard page grids: rows, columns and cells
arrangement
Content positioning specification: banners, logo, menus positioning
Graphical guidelines: rules for graphic items like fonts, colors, borders
and margins
Device-specific and browser-specific guidelines
Example: Mock-ups: sample representations of a few typical
application pages (for a specific device and rendition language)
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Dr. Sowmya Kamath S,
Dept of IT, NITK Surathkal 18
IT702 Advanced Web Technologies 29-08-2016
(Jul Nov 2016)
RA Specification Types.
Style guidelines specification
800 px
Page Area
1st Column 2nd Column
Main Menu Area
Main Content Area
Foot Area
150 px
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
WebE Development Process
Modeling/Design
Dr. Sowmya Kamath S,
Dept of IT, NITK Surathkal 19
IT702 Advanced Web Technologies 29-08-2016
(Jul Nov 2016)
Why Create Models?
Define an abstract view of a real-world entity
Finding & discovering objects/concepts in a domain
Assigning responsibilities to objects
Tool of thought
Reduce complexity
Document design decisions
Means of communication
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
The Role of Model in the Development
Models as sketch
For communicating ideas and alternatives
No significant thoughts into practicality/implementation.
degree of model-drivenness
Models as blueprint
All design decisions (maybe of a particular area) are laid out
Essence: Completeness programming should be pretty
straightforward
Issue of reverse engineering
Models as program
Applications are automatically generated.
Essence: models become the source code
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Dr. Sowmya Kamath S,
Dept of IT, NITK Surathkal 20
IT702 Advanced Web Technologies 29-08-2016
(Jul Nov 2016)
Model - Code Interplay
Code only Code Roundtrip Model-centric /
Model only
Visualization Engineering Model-driven
Model Model Model Model
Code Code Code Code
"Models as Code"
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Model-Driven ...
Systematic development on basis of models
Models become the first hand artifacts in the software development cycle
Key concepts
abstraction from implementation detail
systematic transformations
Related Terminology
Model Driven [Software] Engineering (MDE),
Model Driven [Software] Development (MDD/MDSD),
Model Driven Architecture (MDA)
Model Driven Web Engineering (MDWE)
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Dr. Sowmya Kamath S,
Dept of IT, NITK Surathkal 21
IT702 Advanced Web Technologies 29-08-2016
(Jul Nov 2016)
Model Driven Architecture (MDA)
defined and developed by the Object Management Group (OMG)
(March 2001)
MDA is:
open, vendor-neutral approach to interoperability using OMG's
modeling specifications:
Unified Modeling Language (UML), Meta-Object Facility (MOF) and
Common Warehouse Model (CWM)
Main ideas:
Addresses the complete system development life cycle
Separate specification from implementation
Specify a system that is independent of a platform
Transform a platform-independent (PIM) system specification into a
specific platform (PSM)
Code generation
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Developing WebApps in the MDA
Platform Independent Model (PIM)
PIM represents business Platform
functionality and behavior without Independent
Model
technology details
Platform Specific Model (PSM)
Platform
Applies a standard mapping to Specific
Model
create or generate a PSM from the
PIM
Code Model Code
Model
Create or generate the code for
each PSM.
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Dr. Sowmya Kamath S,
Dept of IT, NITK Surathkal 22
IT702 Advanced Web Technologies 29-08-2016
(Jul Nov 2016)
Content Structure Model
Relation
Class name
Class attributes
Composition
Class operations
Invariant
Derived attribute
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Content Behavior Model
Initial State
Condition
Final State
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Dr. Sowmya Kamath S,
Dept of IT, NITK Surathkal 23
IT702 Advanced Web Technologies 29-08-2016
(Jul Nov 2016)
Navigation Structure Model
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Navigation Access Model
25-Aug-16
Dr. Sowmya Kamath S,
Dept of IT, NITK Surathkal 24
IT702 Advanced Web Technologies 29-08-2016
(Jul Nov 2016)
Presentation Structure Model
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Presentation Behavior Model
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Dr. Sowmya Kamath S,
Dept of IT, NITK Surathkal 25
IT702 Advanced Web Technologies 29-08-2016
(Jul Nov 2016)
WebE Development Process
Implementation
Implementation Approaches
Model View Controller (MVC)
Model
responds to state queries
exposes application functionality
notifies views of changes
View
renders the models
requests updates from models
sends user interaction to controller
allows controller to select view
Controller
defines application behavior
maps user actions to model updates
selects view for response (one for each functionality)
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Dr. Sowmya Kamath S,
Dept of IT, NITK Surathkal 26
IT702 Advanced Web Technologies 29-08-2016
(Jul Nov 2016)
Implementation Approaches
Model-View-Controller
Adaptation of MVC for the Web
stateless connection between the client and the server
notification of view changes
re-querying the server to discover modification of applications state
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Implementation Approaches
Client/Server (2-Layer)
Client
Client
Server
Web/App Server Services
Database Dynamic HTML
Static HTML
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Dr. Sowmya Kamath S,
Dept of IT, NITK Surathkal 27
IT702 Advanced Web Technologies 29-08-2016
(Jul Nov 2016)
Implementation Approaches
Client/Server (2-Layer)
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Implementation Approaches
N-Layer Architectures
Client
Firewall
Proxy
Presentation Layer
Web Server
Business Layer
Application Server Backend
(Business Logic, Connectors,
(Legacy Application,
Personalization, Data Access)
Enterprise Info System)
Data Layer
DBMS B2B
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Dr. Sowmya Kamath S,
Dept of IT, NITK Surathkal 28
IT702 Advanced Web Technologies 29-08-2016
(Jul Nov 2016)
Implementation Approaches
N-Layer Architectures
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
WebE Development Process
Testing and Deployment
Dr. Sowmya Kamath S,
Dept of IT, NITK Surathkal 29
IT702 Advanced Web Technologies 29-08-2016
(Jul Nov 2016)
Testing and Usability
Testing
Checking the conformance of the application versus its design
requirements
Oriented to functional aspects
Usability
Design and verifying the conformance of the application versus its user
ability and capability of interaction
Oriented to non-functional aspects
Testing and Usability are orthogonal aspects
In some cases they slightly overlap!
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Testing Phases
Link Testing
Finding broken links
Can be automated through a spider
Doesnt work for pages with no incoming links.
Finding orphan pages
Orphans are pages with no links back to the navigation structure.
Users get frustrated and leave.
Capturing statistics
Depth & breadth of navigation.
Distance between two related pages.
# of links.
Load times.
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Dr. Sowmya Kamath S,
Dept of IT, NITK Surathkal 30
IT702 Advanced Web Technologies 29-08-2016
(Jul Nov 2016)
Testing Phases
Browser Testing
Browsers vary by:
Manufacturer
Version
Operating system
Device
Configuration (stylesheets, JavaScript on/off)
W3C Standard compliance
Important questions to ask:
How is state managed?
Can a (dynamic) web page be bookmarked?
Can users open multiple windows?
What happens when cookies and/or scripting is turned off?
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Testing Phases
Security Testing
A systematic test scheme is strongly encouraged.
Testing for correctness is not sufficient
Is confidential data inadvertently exposed?
What happens if we input incomplete data?
What happens if we inject malicious code?
SSL-encrypted pages
Is our SSL certificate working?
What happens if I try to access a protected page/site in a non-secure way (i.e.,
[Link]
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Dr. Sowmya Kamath S,
Dept of IT, NITK Surathkal 31
IT702 Advanced Web Technologies 29-08-2016
(Jul Nov 2016)
Testing Phases
Load Testing
Does the system meet required response times and throughput?
Load profile - expected access types, visits per day, transaction types,
transactions per session, etc.
determine the range of values for response times and throughput
(upper and lower limits)
Evaluate the results to look for bottlenecks and potential problems to
support future scalability.
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Testing Phases
Stress Testing
How does the system behave under abnormal/extreme conditions?
If the system meets the target responses times and throughputs
If the system responds with an appropriate error message. (i.e. graceful
degradation)
If the system crashes (it should NOT!)
How quickly the system recovers to normal operation.
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Dr. Sowmya Kamath S,
Dept of IT, NITK Surathkal 32
IT702 Advanced Web Technologies 29-08-2016
(Jul Nov 2016)
Testing Phases
Continuous Testing
Simulates usage over a long period of time
Testing for errors that pop up because resources arent released by an
operation.
Unreleased database connections
Other memory leaks
Typically, running the operation a few times doesnt produce an error,
hence the need for continuous testing.
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Usability
ISO/IEC standard definition (1998):
[T]he extent to which a product can be used by specified users within
a specified usage context to achieve specified goals effectively,
efficiently, and satisfactorily.
Specific focus on response times, efficiency, consistency in text layout,
navigation, colors, page structure, page elements, readability..
Web Content Accessibility Guidelines 2.0 (WCAG, 2008) published
by the W3Cs WAI (Conformance Levels - A, AA, AAA)
[Link]
[Link]
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Dr. Sowmya Kamath S,
Dept of IT, NITK Surathkal 33
IT702 Advanced Web Technologies 29-08-2016
(Jul Nov 2016)
Further reading
Murugesan,S and [Link], A. "Web Engineering: Introduction and
Perspectives, Idea Group Publishing, 2005.
[Link]
M.J. Escalona and N. Koch, Requirements Engineering for Web Applications
- A Comparative Study, JWE Vol.2, N. 3
[Link]
Web Engineering, IEEE MultiMedia, [Link]. 2001 (Part 1) and AprilJune
2001 (Part 2).
[Link]
ym=mu
Usability Engineering, IEEE Software, JanuaryFebruary 2001.
Web Engineering, Cutter IT Journal, 14(7), July 2001.
Dr. Sowmya Kamath S, Dept of IT, NITK Surathkal 25-Aug-16
Dr. Sowmya Kamath S,
Dept of IT, NITK Surathkal 34