You are on page 1of 18

Testing web applications

Terminology
• Some definitions:
– Testing: An activity conducted to evaluate the
quality of a product to improve it by identifying
defects and problems.
– Error: the actual result deviates from the expected.
• Our expected results should (theoretically) come from
our requirements definition.
• Most often, the goals/concerns/expectations of
stakeholders serve as the testing basis.
– Test case: a set of inputs, execution conditions, and
expected results for testing an object.

Tanzila Rahman, Lecturer, Dept. of CSE, JU


Test Objectives
• Main objective: find errors, NOT show that none
exist.
• Complete test coverage is impossible, so testing
focuses on mitigating the largest risks.
– Where’s the greatest potential for loss?
– What are the sources of this risk?
• Start testing as early as possible – even with
restricted resources and time.

Tanzila Rahman, Lecturer, Dept. of CSE, JU


Test Levels
 Unit tests: test the smallest testable units (classes, Web
pages, etc.), independently of one another. Unit testing is
done by the developer during implementation.
 Integration tests: evaluate the interaction between
distinct and separately tested units once they have been
integrated. Integration tests are performed by a tester, a
developer, or both jointly.
 System tests: test the complete, integrated system.
System tests are typically performed by a specialized test
team.

Tanzila Rahman, Lecturer, Dept. of CSE, JU


Test Levels (Cont..)
 Acceptance tests: evaluate the system in cooperation
with or under the auspice of the client in an
environment that comes closest to the production
environment. Acceptance tests use real conditions and
real data.
 Beta tests: let friendly users work with early versions of
a product with the goal to provide early feedback. Beta
tests are informal tests (without test plans and test
cases) which rely on the number and creativity of
potential users.

Tanzila Rahman, Lecturer, Dept. of CSE, JU


The Tester Role
• The ideal tester has a “destructive” attitude.
• Very difficult for developers to “destroy” their own
work.
• However, Web projects focus heavily on unit tests,
making them more prone to errors.
• Thus, some guidelines:
– Have others in the Web team perform tests.
– Best tester is the one who gets the most bugs fixed.

Tanzila Rahman, Lecturer, Dept. of CSE, JU


Test Methods and Techniques
 Link Testing : Finding broken links, orphan pages etc.
 Browser Testing : variety of browsers exists. Thus need to test.
 Load Testing: Does the system meet required response times and
throughput?
 Stress Testing: How does the system behave under
abnormal/extreme conditions?
 Continuous Testing : Typically, running the operation a few times
doesn’t produce an error, hence the need for continuous testing.
 Security Testing:
- Is our SSL certificate working?
-What happens if I try to access a protected page/site in a non-
secure way (i.e., http://)?

Tanzila Rahman, Lecturer, Dept. of CSE, JU


Web Project Management
Web project management
• Definition: It is a science in that it relies on
proven and repeatable processes and
techniques to achieve success.

Tanzila Rahman, Lecturer, Dept. of CSE, JU


Objectives of Software Project Management
• It extends the technical product development cycle
(planning – implementing – checking) to economic and
social tasks, like managing, developing, and
monitoring.

Tanzila Rahman, Lecturer, Dept. of CSE, JU


Objectives of Software Project Management

Tanzila Rahman, Lecturer, Dept. of CSE, JU


Conflicting Areas in Projects
• The important aspect about this point of view is that none of
the three parameters can be changed without entailing a
change to one or both of the other parameter values.

Tanzila Rahman, Lecturer, Dept. of CSE, JU


Traditional software project management VS web project management

parameter software project web project management


management
Main objective Create a quality product at lowest Create a usable product in shortest
cost possible time
Project size Medium to large (10 to 100 people Usually small (6 +/− 3 people)
and more)
Duration 12 to18 months on average 3 to 6 months on average
Development approach Based on requirements; structured Agile methods; assembly of
into phases; incremental; components; prototyping
documentation-driven
cost several million dollars several thousand dollars

Technologies OO methods, CASE tools Components-based methods;


visual
programming; multimedia
Processes CMM, ISO, etc. (“rigid”) ad-hoc (“agile”)
Staff profile Professional software developers Multimedia designers; Web
with several years of experience programmers (Java, etc.);
PR/marketing people

Tanzila Rahman, Lecturer, Dept. of CSE, JU


Challenges in Web Project Management
• Leadership Challenges
 Unique software systems: the experience from the past project is too
little to be able to make reliable cost estimates.
 Extremely technical leadership perspective: dominated by
technology freaks.
 Poor planning: many projects are characterize by unclear or
incomplete planning objectives, frequent changes to planning
objectives, defects in project organization.
• Development Challenges
 Individuality of programmers
 High number of alternative solutions
 Rapid technological change
• Monitoring Challenges
 The immaterial state of software products
Tanzila Rahman, Lecturer, Dept. of CSE, JU
The Web Project Team
Teams formed to develop Web applications are characterized
by three important properties:
• Multidisciplinary: Different special domain experts (content,
hypertext structure, presentation).
• Parallelism: Many parallel development have to be
coordinated.
• Small size: Due to short development cycles and limited
budget, web teams are composed of small numbers of team
members.

Tanzila Rahman, Lecturer, Dept. of CSE, JU


Specific Risks in Web Engineering
• Unclear definition of objectives: many web applications
are created without clearly explaining the purpose.
• Wrong target audience: heavily oriented to the wishes
of corporate management.
• Development-oriented page structure: the easiest way
for developer to create the content is by following
contractor’s organizational chart.
• Lacking consistency due to outsourcing: if outsourced
to different companies, there is a high risk in the
contents and navigation aids.

Tanzila Rahman, Lecturer, Dept. of CSE, JU


Specific Risks in Web Engineering (cont.)
• Lacking budget for maintenance: it is higher for web
due to quickly changing contents and technologies.
• Content recycling: content extract from traditional
document sources is not feasible.
• Poor linking: recycling of linear content leads to the
problem that links are often added artificially.
• Mixing Internet and intranet: internet presents a
company to the outside, while with intranet
productivity is the goal.

Tanzila Rahman, Lecturer, Dept. of CSE, JU


Specific Risks in Web Engineering (cont.)
• Confusing marketing research and usability research:
marketing research assesses the wishes of users.
Usability research finds out how users handle a web
application.
• Underestimating the strategic significance of the Web:
ignoring this communication channel will lead to
significant competitive disadvantages.

Tanzila Rahman, Lecturer, Dept. of CSE, JU

You might also like