Testing: Software Engineering Sommerville - Chapter 4,27 and 28
Testing: Software Engineering Sommerville - Chapter 4,27 and 28
Software Engineering
Sommerville
-Chapter 4,27 and 28
(some components also based on
Information Technology Project Management
Fourth Edition, K. Schwalbe- Ch8)
A recap
Page 2
INFO5990 – Prof. Practice in IT
Quality Management (page 85)
• Quality management
– provides an independent check on the
software development process.
– Is based on the assumption (from
manufacturing) that the quality of the
development process directly affects the
quality of delivered products.
• In software development the relationship
between software processes and the
quality of the product is more complex but
still significant.
Page 3
INFO5990 – Prof. Practice in IT
Modern Quality Management
Page 4
INFO5990 – Prof. Practice in IT
Quality of Product
IDEA (conforms to
Finished
Product
Requirements)
Coding
Page 5
INFO5990 – Prof. Practice in IT
Testing
Page 6
INFO5990 – Prof. Practice in IT
Figure 8-4. Testing Tasks in the Software
Development Life Cycle
Page 7
INFO5990 – Prof. Practice in IT
Types of Tests (ch 4 – page 18)
• Component/Unit testing - individual component (often
a program) are tested to ensure they operate correctly.
– (Integration testing tests functionally grouped components).
Page 8
INFO5990 – Prof. Practice in IT
Specialist type testing
• Usability testing
– (eg. Is it the best design to do the job for which it is meant?)
• Capacity testing
– (eg. how many people can use this system before it breaks?)
• Performance testing
– (eg. Does it meet the response time requirements?)
• Tuning..
Page 9
INFO5990 – Prof. Practice in IT
Eliciting requirements – Validation (from prev
lecture)
• Manual requirements reviews:
– Consistency: Defined requirements do not
contradict each other
– Completeness: Degree to which all stated, unstated
and implied requirements have been recorded and
described
– Testability/Verifiability: The degree to which
tests can be developed that would prove the
requirements have been implemented correctly
• Prototyping- provides an executable model
that can be experimented with
• Test Cases generated
Page 10
INFO5990 – Prof. Practice in IT
Figure 8-5. Gantt Chart for Building Testing into a
Systems Development Project Plan
Page 11
INFO5990 – Prof. Practice in IT
CLOS-TEL - Software Test Plan
Page 15
INFO5990 – Prof. Practice in IT
Test management - STP
• Simplified Test Management Plan
• Ch2 - Describes the testing to be conducted
across the full project lifecycle
• Ch 2.1 - Uses unique test case number for each
type of testing (you can define these)
• Ch 2.2 - Defines when test case will be executed
• Ch 3 & 4 – Technical and other testing (TBC later)
• Ch 5.1 - Maps the UAT test cases to requirements
(or change request)
• Ch 5.2 – Describes each test case in detail for
UAT
• Ch 6 - Describes how errors / bugs will be tracked
Page 16
INFO5990 – Prof. Practice in IT
The PCI System
• Asset Management group
– Register the new PCs
– Allocate a PC to a user
– Allocate a temporary PC if one is being fixed
• Helpdesk / Maintenance
– Search for current location, PC history and description
• PC’s user
– Update the current location
• Auditors
– Full list of all PCs and locations for verification
• Management
– Adhoc reporting
Page 17
INFO5990 – Prof. Practice in IT
Scenario definition for PCI
PC Registration
Asset
Management
PC Allocation
PC audit list
Asset Auditor
Ad hoc reporting
Manager
Page 18
INFO5990 – Prof. Practice in IT
Use Case Example: PC Registration
Summary The asset manger registers a new PC in the asset
management system
Page 19
INFO5990 – Prof. Practice in IT
Requirement Definition – example for PCI
PCIR001: Registering an asset
Description: The asset manger registers a new PC in the asset management
system see ‘PC Registration Use Case’ for more details and the proposed
screen layouts Prototype ‘PC Registration’.
Status: Approved
Benefit: Crucial
PC Serial
Description A new PC is unpacked from the storeroom. The
make, model, serial number are to be provided
and the next asset number is to be automatically Number
assigned
Exceptions PC already exists
Page 20
INFO5990 – Prof. Practice in IT
Test Case
Identifier of Test Case WEBU0001
Page 21
INFO5990 – Prof. Practice in IT
CLOS-TEL - Software Test Plan
Page 23
INFO5990 – Prof. Practice in IT
Bug severity
• All bugs are not created ‘even’ ie. Some are more
severe than others
– Some will prevent any further testing occurring (eg. Inability to
logon)
– Some may prevent sections of the system being tested.
– Some may be minor formatting or spelling errors on a screen
or report
• Bugs should be treated in the same way (using the
same process) but some move through the process
with more urgency than others
• If you categorise the bugs then even if some are
outstanding a decision can be made on whether to
progress to the ‘next stage’ (even if that next stage is
operation)
Page 24
INFO5990 – Prof. Practice in IT
Testing Alone Is Not Enough
• Watts S. Humphrey, a renowned expert on
software quality, defines a software defect as
anything that must be changed before delivery of
the program.
• Testing does not sufficiently prevent software
defects because:
– The number of ways to test a complex system
is huge.
– Users will continue to invent new ways to use a
system that its developers never considered.
Page 25
INFO5990 – Prof. Practice in IT
Quality Management - Stage Containment
Stage Containment is a development concept that seeks to detect, contain and
correct errors in the stage where they are created. Stage containment helps to
ensure a higher quality result throughout the process, as errors created in on
stage have a smaller change of reaching the latter stages.
ENTRY CRITERIA:
EXIT CRITERIA: • Availability of development
• Signed-off environment
ENTRY CRITERIA: EXIT CRITERIA:
Requirements
• Signed off Detailed • Signed-off Detailed Design
Work Plan
• Signed-off Test Strategy
Page 26
INFO5990 – Prof. Practice in IT
Who does the testing?
• If a developer tests a module they coded they
are testing to prove it is correct
• If a tester tests the same module their aim is
to find ways it doesn’t work
Page 28
INFO5990 – Prof. Practice in IT