SWT Chapter2
SWT Chapter2
• Test levels
• Test types
• Maintenance testing
System Testing
Test Basis Software & system reqs specs. Risk analysis reports. Use
cases. Epics & user stories. System models. State
diagrams. System & User manuals.
• Done by end-users
• Focus: business processes
• Environment: real / simulated
operational environment
• Aim: to build confidence that
system will enable users to
perform what they need to do with
a minimum of difficulty, cost, and
risk
User acceptance testing
• Approach
o Mixture of scripted and unscripted testing
o "Model Office" concept sometimes used
Why customer / user involvement
• Users know:
o what really happens in business situations
o complexity of business relationships
o how users would do their work using the system
o variants to standard tasks (e.g. country-specific)
o examples of real cases
o how to identify sensible work-arounds
Benefit:
Benefit:detailed
detailedunderstanding
understandingof
ofthe
thenew
newsystem
system
Acceptance Testing: OAT
Test Basis Biz process. User/Biz reqs. Regulations, legal contract &
standards. Use cases. System reqs. System/User
documentation. Risk analysis reports.
Backup & recovery procedures. Disaster recovery plan. Non-
functional reqs. Operations doc. Performance targets. DB
packages. Security standards.
Test SUT. System configuration & config data. Recovery system. Hot
Objects sits. Forms. Reports.
IfIf you
you don't
don't have
have patience
patience to
to test
test the
the
system,
system, thethe system
system will
will surely
surely test
test your
your
patience.
patience.
CONTENT
• Test levels
• Test types
• Maintenance testing
Test Types
Test types
• Functional requirements
o a requirement that specifies a function that a system or system
component must perform (ANSI/IEEE Std 729-1983, Software
Engineering Terminology)
• Functional specification
o the document that describes in detail the characteristics of the
product with regard to its intended capability (BS 4778 Part 2, BS
7925-1)
[1] Functional Testing: Requirements-based
• Business scenarios
o typical business transactions (start to finish)
• Use cases
o prepared cases based on real situations
[1] Functional Testing: Coverage
• Timing Tests
o Response and service times
o Database back-up times
• Concurrency Tests
o Small numbers, large benefits
o Detect record locking problems
• Load Tests
o The measurement of system behaviour under realistic multi-user
load
• Stress Tests
o Go beyond limits for the system - know what will happen
o Particular relevance for e-commerce
• Passwords
• Encryption
• Hardware permission devices
• Levels of access to information
• Authorisation
• Covert channels
• Physical security
Configuration and Installation
• Configuration Tests
o Different hardware or software environment
o Configuration of the system itself
o Upgrade paths - may conflict
• Installation Tests
o Distribution (CD, network, etc.) and timings
o Physical aspects: electromagnetic fields, heat, humidity, motion,
chemicals, power supplies
o Uninstall (removing installation)
Reliability / Qualities
• Reliability
o "System will be reliable" - how to test this?
o "2 failures per year over ten years"
o Mean Time Between Failures (MTBF)
o Reliability growth models
• Other Qualities
o Maintainability, Portability, Adaptability, etc.
Back-up and Recovery
• Back-ups
o Computer functions
o Manual procedures (where are tapes stored)
• Recovery
o Real test of back-up
o Manual procedures unfamiliar
o Should be regularly rehearsed
o Documentation should be detailed, clear and thorough
Documentation Testing
• Documentation review
o check for accuracy against other documents
o gain consensus about content
o documentation exists, in right format
• Documentation tests
o is it usable? does it work?
o user manual
o maintenance documentation
[3] White-box Testing
• Test levels
• Test types
• Maintenance testing
Maintenance testing
• Alternatives
o the way the system works now must be right (except for the specific
change)
o use existing system as the baseline for regression tests
o look in user manuals or guides (if they exist)
o ask the experts - the current users
Acceptance Test:
• Purpose: Acceptance testing is conducted to determine whether the system meets the
acceptance criteria and is acceptable for delivery to the end users or customers.
• Scope: It focuses on validating the system from the perspective of the end users or
customers, emphasizing real-world scenarios.
• Stakeholders: Involves end users, customers, or other external stakeholders who evaluate
the system against their business requirements.
2. What is the Difference Between Test Levels and
Test Types?
Test Levels:
• Definition: Test levels refer to the different stages or phases of testing in the software
development life cycle (SDLC).
• Examples: Common test levels include unit testing, integration testing, system testing, and
acceptance testing.
• Objective: Each test level has a specific focus and purpose in ensuring the quality of the
software product.
Test Types:
• Definition: Test types represent the different approaches or methods used to evaluate a
software application.
• Examples: Common test types include functional testing, non-functional testing (e.g.,
performance testing, security testing), and regression testing.
• Objective: Each test type addresses specific aspects of the software, such as functionality,
performance, or security.