Programming Question

(Extra Credit) Homework Assignment 6 – (CSE/SER 464)SCAI, Arizona State University
Total Points: 50 Points (Bonus)
Introduction: This assignment helps you to reinforce the topics discussed in the class,
including
a) Special considerations in web application testing
b) Software architectural considerations in client-server web applications towards better
quality
c) Using selenium IDE and selenium web driver to test web applications.
Reading: Lecture notes and example programs/test cases related to web application
testing are posted under lecture notes.
Prerequisites: Install Selenium IDE in Chrome and configure Eclipse/IntelliJ to run
the Selenium web driver (check the lecture slides for links to download and
documentation).
1.) [ 25 Points] Testing Web Applications: Basic Concepts (Module 11 covers this
topic)
a) The Gray box approach is the most appropriate approach in testing web applications.
Briefly explain the difference between the gray box approach and black box and white
box testing.
b) The following figure shows the mapping of web application design and testing.
(conventional three-tier applications). Briefly explain testing considerations (what do we
test and any tools that can be used) in each testing area in the following figure.
Read web application testing notes posted with the homework.
2.[25 Points] Using Selenium Toolkit: Selenium is a toolkit that facilitates testing
various aspects of web applications.
Consider the following application that implements a simple calculator (Module 11
covers this topic):
http://magma.maths.usyd.edu.au/calc/
Use Eclipse or IntelliJ IDE to develop selenium web driver-based test cases to test the
above calculator’s four mathematical operations (addition, subtraction, multiplication,
and division). Name your test program as calcTest.java. Please use the Chrome driver.
Submission: Submit your calcTest.java.
Note: The web driver sample program is posted under the Week 11 Module.
Submission Instructions
Please use the HW6 submission template given. No late submissions will be accepted.
CSE 464 : Software Quality
Assurance and Testing
Testing Web Applications – Additional
Notes
Janaka Balasooriya
Testing Web Applications : A Bigger Picture
Co nt ent
T est ing
Int er f ace
T est ing
user
Navig at io n
T est ing
Interface
design
Aesthetic design
Content design
Co mp o nent
T est ing
Navigation design
Architecture design
Co nf ig ur at io n
T est ing
Component design
technology
Per f o rmance
T est ing
These slides are designed to accompany Software Engineering: A Practitioner’s
Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.
Secur it y
T est ing
Content Testing
• Content testing has three important objectives:
– to uncover syntactic errors (e.g., typos, grammar mistakes) in textbased documents, graphical representations, and other media,
– to uncover semantic errors (i.e., errors in the accuracy or
completeness of information) in any content object presented as
navigation occurs, and
– to find errors in the organization or structure of content that is
presented to the end user.
• Content testing combines both reviews and the generation of
executable test cases.
– Reviews are applied to uncover semantic errors in content.
– Executable testing is used to uncover content errors that can be
traced to dynamically derived content that is driven by data
acquired from one or more databases.
An Introduction to Web Engineering
3
Copyright 2009 R.S. Pressman & Associates, Inc. www.rspa.com
Content Testing – Checklist
• Is the information up to date and 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?
• Can the content be interpreted as being offensive or 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?
An Introduction to Web
Engineering
Copyright 2009 R.S. Pressman
& Associates, Inc.
4
User Interface Testing
• Verification and validation of a WebApp user interface occurs at three
distinct points in the WebE process.
– During communication and modeling the interface model is
reviewed to ensure that it conforms to customer requirements and
to other elements of the analysis model.
– During design, the interface design model is reviewed to ensure
that generic quality criteria established for all user interfaces have
been achieved and that application-specific interface design issues
have been properly addressed.
– During testing, the focus shifts to the execution of applicationspecific aspects of user interaction as they are manifested by
interface syntax and semantics. In addition, testing provides a final
assessment of usability.
An Introduction to Web Engineering
Copyright 2009 R.S. Pressman & Associates, Inc. www.rspa.com
5
UI Testing Strategy
• Interface features are tested to ensure that design rules,
aesthetics, and related visual content are available to
the user without error.
• Individual interface mechanisms are tested in a manner
that is analogous to unit testing.
• Each interface mechanism is tested within the context of
a use case or navigation pathway for a specific user
category.
• The complete interface is tested against selected use
cases and navigation pathways to uncover errors in the
semantics of the interface.
• The interface is tested within a variety of environments
(e.g., operating systems, browsers) to ensure that it will
be compatible.
An Introduction to Web Engineering
6
Copyright 2009 R.S. Pressman & Associates, Inc. www.rspa.com
Usability Testing
• Similar to interface semantics testing in the
sense that it evaluates:
– the degree to which users can interact
effectively with the WebApp
– the degree to which the WebApp guides users’
actions, provides meaningful feedback and
enforces a consistent interaction approach.
• Determines the degree to which the
WebApp interface makes the user’s life
easy
An Introduction to Web
Engineering
Copyright 2009 R.S. Pressman
& Associates, Inc.
7
Usability Evaluation: Checklist
– Is the system usable without continual help or instruction?
– Do the rules of interaction help a knowledgeable user to work
efficiently?
– Do interaction mechanisms become more flexible as users
become more knowledgeable?
– Has the system been tuned to the physical and social
environment in which it will be used?
– Are users aware of the state of the system? Do users know
where they are at all times?
– Is the interface structured in a logical and consistent manner?
– Are interaction mechanisms, icons, and procedures consistent
across the interface?
– Does the interaction anticipate errors and help the user correct
them?
– Is the interface tolerant of errors that are made?
– Is the interaction simple?
An Introduction to Web
Engineering
Copyright 2009 R.S. Pressman
& Associates, Inc.
8
Qualitative Assessment
An Introduction to Web Engineering
Copyright 2009 R.S. Pressman & Associates, Inc. www.rspa.com
9
Configuration Testing
• Configuration variability and instability are
important factors that make Web engineering
a challenge.
• Hardware, operating system(s), browsers, storage
capacity, network communication speeds, and a variety
of other client-side factors are difficult to predict for
each user.
• The job of configuration testing is to test a set
of probable client-side and server-side
configurations to ensure that the user
experience will be the same on all of them
and to isolate errors that may be specific to a
particular configuration.
An Introduction to Web Engineering
10
Copyright 2009 R.S. Pressman & Associates, Inc. www.rspa.com
Configuration Testing Strategy
• Server-side. configuration test cases are designed to verify that the
projected server configuration [i.e., WebApp server, database server,
operating system(s), firewall software, concurrent applications] can
support the WebApp without error.
• Client-side. On the client side, configuration tests focus more heavily on
WebApp compatibility with configurations that contain one or more
permutations of the following components:
– Hardware. CPU, memory, storage, and printing devices
– Operating systems. Linux, Macintosh OS, Microsoft Windows, a
mobile-based OS
– Browser software. FireFox,Camino, Internet Explorer, Safari,
Mozilla/Netscape, Opera, and others
– User interface components. Active X, Java applets, and others
– Plug-ins. QuickTime, RealPlayer, and many others
– Connectivity. Cable, DSL, regular modem, industry-grade connectivity
(e.g., T1 lines)
An Introduction to Web Engineering
Copyright 2009 R.S. Pressman & Associates, Inc. www.rspa.com
11
Security and Performance Testing
• Security and performance testing address the three distinct elements
of the WebApp infrastructure
– the server-side environment that provides the gateway to
Internet users
– the network communication pathway between the server and
the client machine
– the client-side environment that provides the end user with a
direct interface to the WebApp.
• Security testing focuses on unauthorized access to WebApp content
and functionality along with other systems that cooperate with the
WebApp on the server side.
• Performance testing focuses on the operating characteristics of the
WebApp and on whether those operating characteristics meet the
needs of end users.
An Introduction to Web Engineering
Copyright 2009 R.S. Pressman & Associates, Inc. www.rspa.com
12

Save Time On Research and Writing
Hire a Pro to Write You a 100% Plagiarism-Free Paper.
Get My Paper
Are you stuck with your online class?
Get help from our team of writers!

Order your essay today and save 20% with the discount code RAPID