SlideShare a Scribd company logo
Testing in the Lifecycle 1 Principles 2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management 6 Tools Software Testing  ISTQB / ISEB Foundation Exam Practice Chapter 2
Contents Models for testing, economics of testing High level test planning Component Testing Integration testing in the small System testing (non-functional and functional) Integration testing in the large Acceptance testing  Maintenance testing Lifecycle 1 2 3 4 5 6 ISTQB / ISEB Foundation Exam Practice
V-Model: test levels Integration Testing in the Small Integration Testing in the Large System Testing Component Testing Acceptance Testing Code Design Specification System Specification Project Specification Business Requirements
V-Model: late test design Tests Business Requirements Tests Project Specification Tests System Specification Tests Design Specification Tests Code Integration Testing in the Small Integration Testing in the Large System Testing Component Testing Acceptance Testing “ We don’t have time to design tests early” Design Tests?
V-Model: early test design Tests Business Requirements Tests Project Specification Tests System Specification Tests Design Specification Tests Code Integration Testing in the Small Integration Testing in the Large System Testing Component Testing Acceptance Testing Tests Tests Tests Tests Tests Run Tests Design Tests
Early test design test design finds faults faults found early are cheaper to fix most significant faults found first faults prevented, not built in no additional effort,  re-schedule test design changing requirements caused by test design Early test design helps to build quality, stops fault multiplication
Experience report: Phase 1 Phase 1: Plan 2 mo 2 mo dev test test 150  faults 1st mo. 50  faults users not happy Quality fraught, lots of dev overtime Actual "has to go in" but didn't work
Experience report: Phase 2 Source: Simon Barlow & Alan Veitch, Scottish Widows, Feb 96 Phase 2: Plan 2 mo 6 wks dev test test 50  faults 1st mo. 0  faults happy users! Quality smooth, not much for dev to do Actual acc test: full week (vs half day) on time Phase 1: Plan 2 mo 2 mo dev test test 150  faults 1st mo. 50  faults users not happy Quality fraught, lots of dev overtime Actual "has to go in" but didn't work Phase 2: Plan 2 mo 6 wks dev test test 50  faults 1st mo. 0  faults happy users! Quality smooth, not much for dev to do Actual acc test: full week (vs half day) on time
VV&T Verification the process of evaluating a system or component to determine whether the products of the given development phase satisfy the conditions imposed at the start of that phase [BS 7925-1] Validation determination of the correctness of the products of software development with respect to the user needs and requirements [BS 7925-1] Testing the process of exercising software to verify that it satisfies specified requirements and to detect faults
Verification, Validation and Testing Verification Validation Testing Any
V-model exercise
The V Model  -  Exercise Exceptions: Conversion Test FOS: DN/Gldn DS FD Build Components Build Units TD Build System Code Build Assemblage VD System Test Integration Test Review FD Review TD TUT FUT Review DS Review VD Assembly  Test
How would you test this spec? A computer program plays chess with one user. It displays the board and the pieces on the screen. Moves are made by dragging pieces.
“Testing is expensive” Compared to what? What is the cost of NOT testing, or of faults missed that should have been found in test? Cost to fix faults escalates the later the fault is found Poor quality software costs more to use users take more time to understand what to do users make more mistakes in using it morale suffers  => lower productivity Do you know what it costs your organisation?
What do software faults cost? Have you ever accidentally destroyed a PC? knocked it off your desk? poured coffee into the hard disc drive? dropped it out of a 2nd storey window? How would you feel? How much would it cost?
Hypothetical Cost - 1 (Loaded Salary cost: £50/hr) Fault Cost  Developer  User - detect ( .5 hr) £25 - report ( .5 hr) £25 - receive & process (1 hr)   £50 - assign & bkgnd (4 hrs) £200 - debug ( .5 hr)   £25 - test fault fix ( .5 hr)   £25 - regression test (8 hrs) £400 £700   £50
Hypothetical Cost - 2 Fault Cost  Developer  User   £700 £50 - update doc'n, CM (2 hrs)   £100 - update code library (1 hr)   £50 - inform users (1 hr)   £50 - admin(10% = 2 hrs)   £100 Total (20 hrs) £1000
Hypothetical Cost - 3 Fault Cost  Developer  User   £1000   £50 (suppose affects only 5 users) - work x 2, 1 wk £4000 - fix data (1 day)   £350 - pay for fix (3 days maint)   £750 - regr test & sign off (2 days)   £700 - update doc'n / inform (1 day)   £350 - double check + 12% 5 wks £5000 - admin (+7.5%)   £800 Totals   £1000  £12000
Cost of fixing faults Req Use Des Test 1 10 1000 100
How expensive for you? Do your own calculation calculate cost of testing people’s time, machines, tools calculate cost to fix faults found in testing calculate cost to fix faults missed by testing Estimate if no data available your figures will be the best your company has! (10 minutes)
Contents Models for testing, economics of testing High level test planning Component Testing Integration testing in the small System testing (non-functional and functional) Integration testing in the large Acceptance testing  Maintenance testing Lifecycle 1 2 3 4 5 6 ISTQB / ISEB Foundation Exam Practice
(Before planning for a set of tests) set organisational test strategy identify people to be involved (sponsors, testers, QA, development, support, et al.) examine the requirements or functional specifications (test basis) set up the test organisation and infrastructure defining test deliverables & reporting structure See: Structured Testing, an introduction to TMap®, Pol & van Veenendaal, 1998
High level test planning What is the purpose of a high level test plan? Who does it communicate to? Why is it a good idea to have one? What information should be in a high level test plan? What is your standard for contents of a test plan? Have you ever forgotten something important? What is not included in a test plan?
Test Plan 1 1 Test Plan Identifier 2 Introduction software items and features to be tested references to project authorisation, project plan, QA plan, CM plan, relevant policies & standards 3 Test items test items including version/revision level how transmitted (net, disc, CD, etc.) references to software documentation Source: ANSI/IEEE Std 829-1998, Test Documentation
Test Plan 2 4 Features to be tested identify test design specification / techniques 5 Features not to be tested reasons for exclusion
Test Plan 3 6 Approach activities, techniques and tools detailed enough to estimate specify degree of comprehensiveness (e.g. coverage) and other completion criteria (e.g. faults) identify constraints (environment, staff, deadlines) 7 Item Pass/Fail Criteria 8 Suspension criteria and resumption criteria for all or parts of testing activities which activities must be repeated on resumption
Test Plan 4 9 Test Deliverables Test plan Test design specification Test case specification Test procedure specification Test item transmittal reports Test logs Test incident reports Test summary reports
Test Plan 5 10 Testing tasks including inter-task dependencies & special skills 11 Environment physical, hardware, software, tools mode of usage, security, office space 12 Responsibilities to manage, design, prepare, execute, witness, check, resolve issues, providing environment, providing the software to test
Test Plan 6 13 Staffing and Training Needs 14 Schedule test milestones in project schedule item transmittal milestones additional test milestones (environment ready) what resources are needed when 15 Risks and Contingencies contingency plan for each identified risk 16 Approvals names and when approved
Contents Models for testing, economics of testing High level test planning Component Testing Integration testing in the small System testing (non-functional and functional) Integration testing in the large Acceptance testing  Maintenance testing Lifecycle 1 2 3 4 5 6 ISTQB / ISEB Foundation Exam Practice
Component testing  lowest level tested in isolation most thorough look at detail error handling interfaces usually done by programmer also known as unit, module, program testing
Component test strategy 1 specify test design techniques and rationale from Section 3 of the standard* specify criteria for test completion and rationale from Section 4 of the standard document the degree of independence for test design component author, another person, from different section, from different organisation, non-human *Source: BS 7925-2, Software Component Testing Standard
Component test strategy 2 component integration and environment isolation, top-down, bottom-up, or mixture hardware and software document test process and activities including inputs and outputs of each activity affected activities are repeated after any fault fixes or changes project component test plan dependencies between component tests
Component  Test Document  Hierarchy Source: BS 7925-2, Software Component Testing Standard, Annex A Component Test Strategy Project Component Test Plan Component Test Specification Component Test Plan Component Test Report
Component test process Checking for Component Test Completion Component Test Planning Component Test Specification Component Test Execution Component Test Recording BEGIN END
Component test process Component Test Planning Component Test Specification Component Test Execution Component Test Recording Checking for Component Test Completion BEGIN END Component test planning - how the test strategy and project test plan apply to the component under test - any exceptions to the strategy - all software the component will interact with (e.g. stubs and drivers
Component test process Component Test Planning Component Test Specification Component Test Execution Component Test Recording Checking for Component Test Completion BEGIN END Component test specification - test cases are designed using the test case design  techniques specified in the test plan (Section 3) - Test case: objective initial state of component input expected outcome - test cases should be  repeatable
Component test process Component Test Planning Component Test Specification Component Test Execution Component Test Recording Checking for Component Test Completion BEGIN END Component test execution - each test case is executed - standard does not specify whether executed manually or using a test execution tool
Component test process Component Test Planning Component Test Specification Component Test Execution Component Test Recording Checking for Component Test Completion BEGIN END Component test recording - identities & versions of  component,  test specification - actual outcome recorded & compared to expected outcome - discrepancies logged - repeat test activities to establish removal of the discrepancy (fault in test or verify fix) - record coverage levels achieved for test completion criteria specified in test plan Sufficient to show test  activities carried out
Component test process Component Test Planning Component Test Specification Component Test Execution Component Test Recording Checking for Component Test Completion BEGIN END Checking for component  test completion - check test records against specified test completion criteria - if not met, repeat test activities - may need to repeat test specification to design test cases to meet completion criteria (e.g. white box)
Test design techniques “ Black box” Equivalence partitioning Boundary value analysis State transition testing Cause-effect graphing Syntax testing Random testing How to specify other techniques “ White box” Statement testing Branch / Decision testing Data flow testing Branch condition testing Branch condition combination testing Modified condition decision testing LCSAJ testing = Yes = No Also a measurement technique?
Contents Models for testing, economics of testing High level test planning Component Testing Integration testing in the small System testing (non-functional and functional) Integration testing in the large Acceptance testing  Maintenance testing Lifecycle 1 2 3 4 5 6 ISTQB / ISEB Foundation Exam Practice
Integration testing in the small  more than one (tested) component communication between components what the set can perform that is not possible individually non-functional aspects if possible integration strategy: big-bang vs incremental (top-down, bottom-up, functional) done by designers, analysts, or  independent testers
Big-Bang Integration In theory: if we have already tested components why not just combine them all at once? Wouldn’t this save time? (based on false assumption of no faults) In practice: takes longer to locate and fix faults re-testing after fixes more extensive end result? takes more time
Incremental Integration Baseline 0: tested component Baseline 1: two components Baseline 2: three components, etc. Advantages: easier fault location and fix easier recovery from disaster / problems interfaces should have been tested in component tests, but .. add to tested baseline
Baselines: baseline 0: component a baseline 1: a + b baseline 2: a + b + c baseline 3: a + b + c + d etc. Need to call to lower level components not yet integrated Stubs: simulate missing components Top-Down Integration a b c d e f g h i j k l m n o a b c d e f g h i j
Stubs Stub  (Baan: dummy sessions)  replaces a called component for integration testing Keep it Simple print/display name (I have been called) reply to calling module (single value) computed reply (variety of values) prompt for reply from tester search list of replies provide timing delay
Pros & cons of top-down approach Advantages: critical control structure tested first and most often can demonstrate system early (show working menus) Disadvantages: needs stubs detail left until last may be difficult to "see" detailed output (but should have been tested in component test) may look more finished than it is
Baselines: baseline 0: component n baseline 1: n + i baseline 2: n + i + o baseline 3: n + i + o + d etc. Needs drivers to call  the baseline configuration Also needs stubs  for some baselines Bottom-up Integration a b c e f g k l m d i n o h j b d i n o h j
Drivers Driver  (Baan: dummy sessions) : test harness: scaffolding specially written or general purpose (commercial tools) invoke baseline send any data baseline expects receive any data baseline produces (print) each baseline has different requirements from the test driving software
Pros & cons of bottom-up approach Advantages: lowest levels tested first and most thoroughly (but should have been tested in unit testing) good for testing interfaces to external environment (hardware, network) visibility of detail Disadvantages no working system until last baseline needs both drivers and stubs major control problems found last
Baselines: baseline 0: component a baseline 1: a + b baseline 2: a + b + d baseline 3: a + b + d + i etc. Needs stubs Shouldn't need drivers (if top-down) Minimum Capability Integration (also called Functional) f g k l m a b d i c e n o h j a b d i c e n o h j
Pros & cons of Minimum Capability Advantages: control level tested first and most often visibility of detail real working partial system earliest Disadvantages needs stubs
Thread Integration (also called functional) order of processing some event determines integration order interrupt, user transaction minimum capability in time advantages: critical processing first early warning of performance problems disadvantages: may need complex drivers and stubs k l m i h j b c a f g d e n o b c k l m i h j f g d e
Integration Guidelines minimise support software needed integrate each component only once each baseline should produce an easily verifiable result integrate small numbers of components at once one at a time for critical or fault-prone components combine simple related components
Integration Planning integration should be planned in the architectural design phase the integration order then determines the build order components completed in time for their baseline component development and integration testing can be done in parallel - saves time
Contents Models for testing, economics of testing High level test planning Component Testing Integration testing in the small System testing (non-functional and functional) Integration testing in the large Acceptance testing  Maintenance testing Lifecycle 1 2 3 4 5 6 ISTQB / ISEB Foundation Exam Practice
System testing last integration step functional functional requirements and requirements-based testing business process-based testing  non-functional as important as functional requirements often poorly specified must be tested often done by independent test group
Functional system testing Functional requirements a requirement that specifies a function that a system or system component must perform (ANSI/IEEE Std 729-1983, Software Engineering Terminology) Functional specification the document that describes in detail the characteristics of the product with regard to its intended capability (BS 4778 Part 2, BS 7925-1)
Requirements-based testing Uses specification of requirements as the basis for identifying tests table of contents of the requirements spec provides an initial test inventory of test conditions for each section / paragraph / topic / functional area, risk analysis to identify most important / critical decide how deeply to test each functional area
Business process-based testing Expected user profiles what will be used most often? what is critical to the business? Business scenarios typical business transactions (birth to death) Use cases prepared cases based on real situations
Non-functional system testing different types of non-functional system tests: usability  - configuration / installation security  - reliability / qualities documentation  - back-up / recovery storage  - performance, load, stress volume
Performance Tests Timing Tests  response and service times database back-up times Capacity & Volume Tests maximum amount or processing rate number of records on the system graceful degradation  Endurance Tests (24-hr operation?) robustness of the system memory allocation
Multi-User Tests Concurrency Tests small numbers, large benefits detect record locking problems Load Tests the measurement of system behaviour under realistic multi-user load Stress Tests go beyond limits for the system - know what will happen particular relevance for e-commerce Source: Sue Atkins, Magic Performance Management
Usability Tests messages tailored and meaningful to (real) users? coherent and consistent interface? sufficient redundancy of critical information? within the "human envelope"? (7±2 choices) feedback (wait messages)? clear mappings (how to escape)? Who should design / perform these tests?
Security Tests passwords encryption hardware permission devices levels of access to information authorisation covert channels physical security
Configuration and Installation Configuration Tests different hardware or software environment configuration of the system itself upgrade paths - may conflict Installation Tests distribution (CD, network, etc.)  and timings physical aspects: electromagnetic fields, heat, humidity, motion, chemicals, power supplies uninstall (removing installation)
Reliability / Qualities Reliability "system will be reliable" - how to test this? "2 failures per year over ten years" Mean Time Between Failures (MTBF) reliability growth models Other Qualities maintainability, portability, adaptability, etc.
Back-up and Recovery Back-ups computer functions manual procedures (where are tapes stored) Recovery real test of back-up manual procedures unfamiliar  should be regularly rehearsed documentation should be detailed, clear and thorough
Documentation Testing Documentation review check for accuracy against other documents gain consensus about content documentation exists, in right format Documentation tests is it usable?  does it work? user manual maintenance documentation
Contents Models for testing, economics of testing High level test planning Component Testing Integration testing in the small System testing (non-functional and functional) Integration testing in the large Acceptance testing  Maintenance testing Lifecycle 1 2 3 4 5 6 ISTQB / ISEB Foundation Exam Practice
Integration testing in the large  Tests the completed system working in conjunction with other systems, e.g. LAN / WAN, communications middleware other internal systems (billing, stock, personnel, overnight batch, branch offices, other countries) external systems (stock exchange, news, suppliers) intranet, internet / www 3rd party packages electronic data interchange (EDI)
Approach Identify risks which areas missing or malfunctioning would be most critical - test them first “Divide and conquer” test the outside first (at the interface to your system, e.g. test a package on its own) test the connections one at a time first (your system and one other) combine incrementally - safer than “big bang” (non-incremental)
Planning considerations resources identify the resources that will be needed (e.g. networks) co-operation plan co-operation with other organisations (e.g. suppliers, technical support team) development plan integration (in the large) test plan could influence development plan (e.g. conversion software needed early on to exchange data formats)
Contents Models for testing, economics of testing High level test planning Component Testing Integration testing in the small System testing (non-functional and functional) Integration testing in the large Acceptance testing   Maintenance testing Lifecycle 1 2 3 4 5 6 ISTQB / ISEB Foundation Exam Practice
User acceptance testing Final stage of validation customer (user) should perform or be closely involved customer can perform any test they wish, usually based on their business processes final user sign-off Approach mixture of scripted and unscripted testing ‘Model Office’ concept sometimes used
Why customer / user involvement Users know: what really happens in business situations complexity of business relationships how users would do their work using the system variants to standard tasks (e.g. country-specific) examples of real cases how to identify sensible work-arounds Benefit: detailed understanding of the new system
User Acceptance testing 20% of function by 80% of code System testing distributed over this line Acceptance testing distributed over this line 80% of function by 20% of code
Contract acceptance testing Contract to supply a software system agreed at contract definition stage acceptance criteria defined and agreed may not have kept up to date with changes Contract acceptance testing is against the contract and any documented agreed changes not what the users wish they had asked for! this system, not wish system
Alpha and Beta tests: similarities Testing by [potential] customers or representatives of your market not suitable for bespoke software When software is stable Use the product in a realistic way in its operational environment Give comments back on the product faults found how the product meets their expectations improvement / enhancement suggestions?
Alpha and Beta tests: differences Alpha testing simulated or actual operational testing at an in-house site not otherwise involved with the software developers (i.e. developers’ site) Beta testing  operational testing at a site not otherwise involved with the software developers (i.e. testers’ site, their own location)
Acceptance testing motto If you don't have patience to test the system  the system will surely test your patience
Contents Models for testing, economics of testing High level test planning Component Testing Integration testing in the small System testing (non-functional and functional) Integration testing in the large Acceptance testing  Maintenance testing Lifecycle 1 2 3 4 5 6 ISTQB / ISEB Foundation Exam Practice
Maintenance testing Testing to preserve quality: different sequence development testing executed bottom-up maintenance testing executed top-down different test data (live profile) breadth tests to establish overall confidence depth tests to investigate changes and critical areas predominantly regression testing
What to test in maintenance testing Test any new or changed code Impact analysis what could this change have an impact on? how important is a fault in the impacted area? test what has been affected, but how much? most important affected areas? areas most likely to be affected? whole system? The answer: “It depends”
Poor or missing specifications Consider what the system should do talk with users Document your assumptions ensure other people have the opportunity to review them Improve the current situation document what you do know and find out  Track cost of working with poor specifications to make business case for better specifications
What should the system do? Alternatives the way the system works now must be right (except for the specific change) - use existing system as the baseline for regression tests look in user manuals or guides (if they exist) ask the experts - the current users Without a specification, you cannot really test, only explore. You can validate, but not verify.
Summary: Key Points V-model shows test levels, early test design High level test planning Component testing using the standard Integration testing in the small: strategies System testing (non-functional and functional)  Integration testing in the large  Acceptance testing: user responsibility Maintenance testing to preserve quality Lifecycle 1 2 3 4 5 6 ISTQB / ISEB Foundation Exam Practice

More Related Content

PPT
ISTQB / ISEB Foundation Exam Practice - 4
PPT
ISTQB / ISEB Foundation Exam Practice -1
PPTX
ISTQB - What's testing
PDF
Fundamentals of Software Testing
PPT
ISTQB / ISEB Foundation Exam Practice - 6
PPTX
Istqb foundation level day 1
PPTX
Types of testing
PPTX
Chapter 5 - Test Management
ISTQB / ISEB Foundation Exam Practice - 4
ISTQB / ISEB Foundation Exam Practice -1
ISTQB - What's testing
Fundamentals of Software Testing
ISTQB / ISEB Foundation Exam Practice - 6
Istqb foundation level day 1
Types of testing
Chapter 5 - Test Management

What's hot (20)

PPTX
Chapter 1 - Testing Process
PPTX
Chapter 4 - Test Design Techniques
PPTX
Chapter 2 - Testing Throughout the Development LifeCycle
PPTX
Software testing
PPTX
Software Testing or Quality Assurance
PDF
Software testing
PDF
INTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFL
PPT
Basic software-testing-concepts
PPS
ISTQB Foundation - Chapter 2
PPT
Software Testing 101
PPTX
Chapter 6 - Tool Support for Testing
PPTX
Agile Testing - presentation for Agile User Group
PPTX
functional testing
PPT
Test Management introduction
PDF
ISTQB Foundation Level Basic
PPT
ISTQB / ISEB Foundation Exam Practice - 5
PPTX
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
PPT
Manual testing concepts course 1
PPTX
Chapter 3 - Static Testing
PPT
Software Testing Life Cycle
Chapter 1 - Testing Process
Chapter 4 - Test Design Techniques
Chapter 2 - Testing Throughout the Development LifeCycle
Software testing
Software Testing or Quality Assurance
Software testing
INTRODUCTION TO ISTQB FOUNDATION LEVEL - CTFL
Basic software-testing-concepts
ISTQB Foundation - Chapter 2
Software Testing 101
Chapter 6 - Tool Support for Testing
Agile Testing - presentation for Agile User Group
functional testing
Test Management introduction
ISTQB Foundation Level Basic
ISTQB / ISEB Foundation Exam Practice - 5
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Manual testing concepts course 1
Chapter 3 - Static Testing
Software Testing Life Cycle
Ad

Viewers also liked (20)

PDF
Testistanbul 2016 - Keynote: "Enterprise Challenges of Test Data" by Rex Black
PDF
KeytorcTestTalks #11 - Duygu Onaral, Agile QA'in rolü
PDF
KeytorcTestTalks #11 - Onur Başkirt, Agile Test Management with Testrail
PPT
ISTQB / ISEB Foundation Exam Practice
PDF
KeytorcTestTalks #11 - Serkan Akoğlanoğlu, Release Management vs Test Management
PPTX
Testistanbul 2016 - Keynote: "The Story of Appium" by Dan Cuellar
PDF
EbruKazaskeroglu_CV2016_ENG.PDF
PDF
Testistanbul 2016 - Keynote: "Why Automated Verification Matters" by Kristian...
PDF
Istqb ctfl-series - Black Box Testing
PDF
Keytorc Proje Ekibi Zubizu Sunumu - Emirhan Şen
PPTX
PRINCE 2 foundation & practitioner certification training
PDF
İyi Bir Test Uzmanı Olmak İçin...
PPTX
Testistanbul 2016 - Keynote: "Performance Testing of Big Data" by Roland Leusden
PDF
Keynote Systems - Mobile Solutions Overview Presentation
PDF
KeytorcTestTalks #11 - Berk Dülger, DevOps Tactical Adaption Theory
PDF
Keytorc Proje Ekibi Zubizu Sunumu - Ozan İlhan
PPT
Introduction to ISTQB & ISEB Certifications
PPTX
ISTQB Foundation Level: Why, Why Not and How?
PDF
Keytorc Proje Ekibi Zubizu Sunumu - Miray Doğan
PDF
Test Automation - Keytorc Approach
Testistanbul 2016 - Keynote: "Enterprise Challenges of Test Data" by Rex Black
KeytorcTestTalks #11 - Duygu Onaral, Agile QA'in rolü
KeytorcTestTalks #11 - Onur Başkirt, Agile Test Management with Testrail
ISTQB / ISEB Foundation Exam Practice
KeytorcTestTalks #11 - Serkan Akoğlanoğlu, Release Management vs Test Management
Testistanbul 2016 - Keynote: "The Story of Appium" by Dan Cuellar
EbruKazaskeroglu_CV2016_ENG.PDF
Testistanbul 2016 - Keynote: "Why Automated Verification Matters" by Kristian...
Istqb ctfl-series - Black Box Testing
Keytorc Proje Ekibi Zubizu Sunumu - Emirhan Şen
PRINCE 2 foundation & practitioner certification training
İyi Bir Test Uzmanı Olmak İçin...
Testistanbul 2016 - Keynote: "Performance Testing of Big Data" by Roland Leusden
Keynote Systems - Mobile Solutions Overview Presentation
KeytorcTestTalks #11 - Berk Dülger, DevOps Tactical Adaption Theory
Keytorc Proje Ekibi Zubizu Sunumu - Ozan İlhan
Introduction to ISTQB & ISEB Certifications
ISTQB Foundation Level: Why, Why Not and How?
Keytorc Proje Ekibi Zubizu Sunumu - Miray Doğan
Test Automation - Keytorc Approach
Ad

Similar to ISTQB / ISEB Foundation Exam Practice - 2 (20)

PPT
ISTQB, ISEB Lecture Notes- 2
PPT
ISTQBCH2.ppt
PPT
ISTQBCH2.ppt
DOCX
DOCX
PPT
ISTQB, ISEB Lecture Notes
PPT
AiTi Education Software Testing Session 02 a
PPS
Estimating test effort part 1 of 2
PPTX
STLC-ppt-1.pptx
PPTX
Performance testing reference model
PPT
Testing Attributes
DOCX
Testing documents
PPT
SOFTWARE TESTING
PPT
ISTQBCH foundation level chapter 01 fundamentals of testing
PDF
manual-testing
PDF
Software testing interview Q&A – Part 2
PDF
Continuous testing in agile projects 2015
PPTX
1st module.....
PDF
Testing methodology
PPT
Test Life Cycle
ISTQB, ISEB Lecture Notes- 2
ISTQBCH2.ppt
ISTQBCH2.ppt
ISTQB, ISEB Lecture Notes
AiTi Education Software Testing Session 02 a
Estimating test effort part 1 of 2
STLC-ppt-1.pptx
Performance testing reference model
Testing Attributes
Testing documents
SOFTWARE TESTING
ISTQBCH foundation level chapter 01 fundamentals of testing
manual-testing
Software testing interview Q&A – Part 2
Continuous testing in agile projects 2015
1st module.....
Testing methodology
Test Life Cycle

More from Yogindernath Gupta (20)

PPT
Learn Software Testing for ISTQB Foundation Exam
DOC
ISTQB Advanced Study Guide - 8
DOC
ISTQB Advanced Study Guide - 7
DOC
ISTQB Advanced Study Guide - 6
DOC
ISTQB Advanced Study Guide - 5
DOC
ISTQB Advanced Study Guide - 4
DOC
ISTQB Advanced Study Guide - 3
DOC
ISTQB Advanced Study Guide - 2
DOC
ISTQB Advanced – Study Guide -1
DOC
Introduction to specification based test design techniques
DOC
Knowledge Levels In Certifications
PPT
Design Review & Software Testing
PPT
Software Development Life Cycle - SDLC
PDF
Tutorial - 16 : How to pass parameters from one script to another by CallScri...
PDF
Tutorial - 14 How to insert a verification point from the script explorer usi...
DOC
A Practical Roadmap To HP QTP Certification
PDF
Unearthing The Power Of IBM – Rational Functional Tester 7.0 - RFT
PDF
RFT Tutorial 4 How Do We Record A Script Using Rational Functional Tester - RFT
PDF
RFT Tutorial 11 How To Data Drive A Test Script Using Ibm – Rational Function...
PDF
RFT Tutorial - 9 How To Create A Properties Verification Point In Rft For Tes...
Learn Software Testing for ISTQB Foundation Exam
ISTQB Advanced Study Guide - 8
ISTQB Advanced Study Guide - 7
ISTQB Advanced Study Guide - 6
ISTQB Advanced Study Guide - 5
ISTQB Advanced Study Guide - 4
ISTQB Advanced Study Guide - 3
ISTQB Advanced Study Guide - 2
ISTQB Advanced – Study Guide -1
Introduction to specification based test design techniques
Knowledge Levels In Certifications
Design Review & Software Testing
Software Development Life Cycle - SDLC
Tutorial - 16 : How to pass parameters from one script to another by CallScri...
Tutorial - 14 How to insert a verification point from the script explorer usi...
A Practical Roadmap To HP QTP Certification
Unearthing The Power Of IBM – Rational Functional Tester 7.0 - RFT
RFT Tutorial 4 How Do We Record A Script Using Rational Functional Tester - RFT
RFT Tutorial 11 How To Data Drive A Test Script Using Ibm – Rational Function...
RFT Tutorial - 9 How To Create A Properties Verification Point In Rft For Tes...

Recently uploaded (20)

PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Approach and Philosophy of On baking technology
PPT
Teaching material agriculture food technology
PDF
cuic standard and advanced reporting.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
MYSQL Presentation for SQL database connectivity
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Approach and Philosophy of On baking technology
Teaching material agriculture food technology
cuic standard and advanced reporting.pdf
Machine learning based COVID-19 study performance prediction
Review of recent advances in non-invasive hemoglobin estimation
CIFDAQ's Market Insight: SEC Turns Pro Crypto
The AUB Centre for AI in Media Proposal.docx
Mobile App Security Testing_ A Comprehensive Guide.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Chapter 3 Spatial Domain Image Processing.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
“AI and Expert System Decision Support & Business Intelligence Systems”
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
20250228 LYD VKU AI Blended-Learning.pptx
MYSQL Presentation for SQL database connectivity

ISTQB / ISEB Foundation Exam Practice - 2

  • 1. Testing in the Lifecycle 1 Principles 2 Lifecycle 4 Dynamic test techniques 3 Static testing 5 Management 6 Tools Software Testing ISTQB / ISEB Foundation Exam Practice Chapter 2
  • 2. Contents Models for testing, economics of testing High level test planning Component Testing Integration testing in the small System testing (non-functional and functional) Integration testing in the large Acceptance testing Maintenance testing Lifecycle 1 2 3 4 5 6 ISTQB / ISEB Foundation Exam Practice
  • 3. V-Model: test levels Integration Testing in the Small Integration Testing in the Large System Testing Component Testing Acceptance Testing Code Design Specification System Specification Project Specification Business Requirements
  • 4. V-Model: late test design Tests Business Requirements Tests Project Specification Tests System Specification Tests Design Specification Tests Code Integration Testing in the Small Integration Testing in the Large System Testing Component Testing Acceptance Testing “ We don’t have time to design tests early” Design Tests?
  • 5. V-Model: early test design Tests Business Requirements Tests Project Specification Tests System Specification Tests Design Specification Tests Code Integration Testing in the Small Integration Testing in the Large System Testing Component Testing Acceptance Testing Tests Tests Tests Tests Tests Run Tests Design Tests
  • 6. Early test design test design finds faults faults found early are cheaper to fix most significant faults found first faults prevented, not built in no additional effort, re-schedule test design changing requirements caused by test design Early test design helps to build quality, stops fault multiplication
  • 7. Experience report: Phase 1 Phase 1: Plan 2 mo 2 mo dev test test 150 faults 1st mo. 50 faults users not happy Quality fraught, lots of dev overtime Actual "has to go in" but didn't work
  • 8. Experience report: Phase 2 Source: Simon Barlow & Alan Veitch, Scottish Widows, Feb 96 Phase 2: Plan 2 mo 6 wks dev test test 50 faults 1st mo. 0 faults happy users! Quality smooth, not much for dev to do Actual acc test: full week (vs half day) on time Phase 1: Plan 2 mo 2 mo dev test test 150 faults 1st mo. 50 faults users not happy Quality fraught, lots of dev overtime Actual "has to go in" but didn't work Phase 2: Plan 2 mo 6 wks dev test test 50 faults 1st mo. 0 faults happy users! Quality smooth, not much for dev to do Actual acc test: full week (vs half day) on time
  • 9. VV&T Verification the process of evaluating a system or component to determine whether the products of the given development phase satisfy the conditions imposed at the start of that phase [BS 7925-1] Validation determination of the correctness of the products of software development with respect to the user needs and requirements [BS 7925-1] Testing the process of exercising software to verify that it satisfies specified requirements and to detect faults
  • 10. Verification, Validation and Testing Verification Validation Testing Any
  • 12. The V Model - Exercise Exceptions: Conversion Test FOS: DN/Gldn DS FD Build Components Build Units TD Build System Code Build Assemblage VD System Test Integration Test Review FD Review TD TUT FUT Review DS Review VD Assembly Test
  • 13. How would you test this spec? A computer program plays chess with one user. It displays the board and the pieces on the screen. Moves are made by dragging pieces.
  • 14. “Testing is expensive” Compared to what? What is the cost of NOT testing, or of faults missed that should have been found in test? Cost to fix faults escalates the later the fault is found Poor quality software costs more to use users take more time to understand what to do users make more mistakes in using it morale suffers => lower productivity Do you know what it costs your organisation?
  • 15. What do software faults cost? Have you ever accidentally destroyed a PC? knocked it off your desk? poured coffee into the hard disc drive? dropped it out of a 2nd storey window? How would you feel? How much would it cost?
  • 16. Hypothetical Cost - 1 (Loaded Salary cost: £50/hr) Fault Cost Developer User - detect ( .5 hr) £25 - report ( .5 hr) £25 - receive & process (1 hr) £50 - assign & bkgnd (4 hrs) £200 - debug ( .5 hr) £25 - test fault fix ( .5 hr) £25 - regression test (8 hrs) £400 £700 £50
  • 17. Hypothetical Cost - 2 Fault Cost Developer User £700 £50 - update doc'n, CM (2 hrs) £100 - update code library (1 hr) £50 - inform users (1 hr) £50 - admin(10% = 2 hrs) £100 Total (20 hrs) £1000
  • 18. Hypothetical Cost - 3 Fault Cost Developer User £1000 £50 (suppose affects only 5 users) - work x 2, 1 wk £4000 - fix data (1 day) £350 - pay for fix (3 days maint) £750 - regr test & sign off (2 days) £700 - update doc'n / inform (1 day) £350 - double check + 12% 5 wks £5000 - admin (+7.5%) £800 Totals £1000 £12000
  • 19. Cost of fixing faults Req Use Des Test 1 10 1000 100
  • 20. How expensive for you? Do your own calculation calculate cost of testing people’s time, machines, tools calculate cost to fix faults found in testing calculate cost to fix faults missed by testing Estimate if no data available your figures will be the best your company has! (10 minutes)
  • 21. Contents Models for testing, economics of testing High level test planning Component Testing Integration testing in the small System testing (non-functional and functional) Integration testing in the large Acceptance testing Maintenance testing Lifecycle 1 2 3 4 5 6 ISTQB / ISEB Foundation Exam Practice
  • 22. (Before planning for a set of tests) set organisational test strategy identify people to be involved (sponsors, testers, QA, development, support, et al.) examine the requirements or functional specifications (test basis) set up the test organisation and infrastructure defining test deliverables & reporting structure See: Structured Testing, an introduction to TMap®, Pol & van Veenendaal, 1998
  • 23. High level test planning What is the purpose of a high level test plan? Who does it communicate to? Why is it a good idea to have one? What information should be in a high level test plan? What is your standard for contents of a test plan? Have you ever forgotten something important? What is not included in a test plan?
  • 24. Test Plan 1 1 Test Plan Identifier 2 Introduction software items and features to be tested references to project authorisation, project plan, QA plan, CM plan, relevant policies & standards 3 Test items test items including version/revision level how transmitted (net, disc, CD, etc.) references to software documentation Source: ANSI/IEEE Std 829-1998, Test Documentation
  • 25. Test Plan 2 4 Features to be tested identify test design specification / techniques 5 Features not to be tested reasons for exclusion
  • 26. Test Plan 3 6 Approach activities, techniques and tools detailed enough to estimate specify degree of comprehensiveness (e.g. coverage) and other completion criteria (e.g. faults) identify constraints (environment, staff, deadlines) 7 Item Pass/Fail Criteria 8 Suspension criteria and resumption criteria for all or parts of testing activities which activities must be repeated on resumption
  • 27. Test Plan 4 9 Test Deliverables Test plan Test design specification Test case specification Test procedure specification Test item transmittal reports Test logs Test incident reports Test summary reports
  • 28. Test Plan 5 10 Testing tasks including inter-task dependencies & special skills 11 Environment physical, hardware, software, tools mode of usage, security, office space 12 Responsibilities to manage, design, prepare, execute, witness, check, resolve issues, providing environment, providing the software to test
  • 29. Test Plan 6 13 Staffing and Training Needs 14 Schedule test milestones in project schedule item transmittal milestones additional test milestones (environment ready) what resources are needed when 15 Risks and Contingencies contingency plan for each identified risk 16 Approvals names and when approved
  • 30. Contents Models for testing, economics of testing High level test planning Component Testing Integration testing in the small System testing (non-functional and functional) Integration testing in the large Acceptance testing Maintenance testing Lifecycle 1 2 3 4 5 6 ISTQB / ISEB Foundation Exam Practice
  • 31. Component testing lowest level tested in isolation most thorough look at detail error handling interfaces usually done by programmer also known as unit, module, program testing
  • 32. Component test strategy 1 specify test design techniques and rationale from Section 3 of the standard* specify criteria for test completion and rationale from Section 4 of the standard document the degree of independence for test design component author, another person, from different section, from different organisation, non-human *Source: BS 7925-2, Software Component Testing Standard
  • 33. Component test strategy 2 component integration and environment isolation, top-down, bottom-up, or mixture hardware and software document test process and activities including inputs and outputs of each activity affected activities are repeated after any fault fixes or changes project component test plan dependencies between component tests
  • 34. Component Test Document Hierarchy Source: BS 7925-2, Software Component Testing Standard, Annex A Component Test Strategy Project Component Test Plan Component Test Specification Component Test Plan Component Test Report
  • 35. Component test process Checking for Component Test Completion Component Test Planning Component Test Specification Component Test Execution Component Test Recording BEGIN END
  • 36. Component test process Component Test Planning Component Test Specification Component Test Execution Component Test Recording Checking for Component Test Completion BEGIN END Component test planning - how the test strategy and project test plan apply to the component under test - any exceptions to the strategy - all software the component will interact with (e.g. stubs and drivers
  • 37. Component test process Component Test Planning Component Test Specification Component Test Execution Component Test Recording Checking for Component Test Completion BEGIN END Component test specification - test cases are designed using the test case design techniques specified in the test plan (Section 3) - Test case: objective initial state of component input expected outcome - test cases should be repeatable
  • 38. Component test process Component Test Planning Component Test Specification Component Test Execution Component Test Recording Checking for Component Test Completion BEGIN END Component test execution - each test case is executed - standard does not specify whether executed manually or using a test execution tool
  • 39. Component test process Component Test Planning Component Test Specification Component Test Execution Component Test Recording Checking for Component Test Completion BEGIN END Component test recording - identities & versions of component, test specification - actual outcome recorded & compared to expected outcome - discrepancies logged - repeat test activities to establish removal of the discrepancy (fault in test or verify fix) - record coverage levels achieved for test completion criteria specified in test plan Sufficient to show test activities carried out
  • 40. Component test process Component Test Planning Component Test Specification Component Test Execution Component Test Recording Checking for Component Test Completion BEGIN END Checking for component test completion - check test records against specified test completion criteria - if not met, repeat test activities - may need to repeat test specification to design test cases to meet completion criteria (e.g. white box)
  • 41. Test design techniques “ Black box” Equivalence partitioning Boundary value analysis State transition testing Cause-effect graphing Syntax testing Random testing How to specify other techniques “ White box” Statement testing Branch / Decision testing Data flow testing Branch condition testing Branch condition combination testing Modified condition decision testing LCSAJ testing = Yes = No Also a measurement technique?
  • 42. Contents Models for testing, economics of testing High level test planning Component Testing Integration testing in the small System testing (non-functional and functional) Integration testing in the large Acceptance testing Maintenance testing Lifecycle 1 2 3 4 5 6 ISTQB / ISEB Foundation Exam Practice
  • 43. Integration testing in the small more than one (tested) component communication between components what the set can perform that is not possible individually non-functional aspects if possible integration strategy: big-bang vs incremental (top-down, bottom-up, functional) done by designers, analysts, or independent testers
  • 44. Big-Bang Integration In theory: if we have already tested components why not just combine them all at once? Wouldn’t this save time? (based on false assumption of no faults) In practice: takes longer to locate and fix faults re-testing after fixes more extensive end result? takes more time
  • 45. Incremental Integration Baseline 0: tested component Baseline 1: two components Baseline 2: three components, etc. Advantages: easier fault location and fix easier recovery from disaster / problems interfaces should have been tested in component tests, but .. add to tested baseline
  • 46. Baselines: baseline 0: component a baseline 1: a + b baseline 2: a + b + c baseline 3: a + b + c + d etc. Need to call to lower level components not yet integrated Stubs: simulate missing components Top-Down Integration a b c d e f g h i j k l m n o a b c d e f g h i j
  • 47. Stubs Stub (Baan: dummy sessions) replaces a called component for integration testing Keep it Simple print/display name (I have been called) reply to calling module (single value) computed reply (variety of values) prompt for reply from tester search list of replies provide timing delay
  • 48. Pros & cons of top-down approach Advantages: critical control structure tested first and most often can demonstrate system early (show working menus) Disadvantages: needs stubs detail left until last may be difficult to "see" detailed output (but should have been tested in component test) may look more finished than it is
  • 49. Baselines: baseline 0: component n baseline 1: n + i baseline 2: n + i + o baseline 3: n + i + o + d etc. Needs drivers to call the baseline configuration Also needs stubs for some baselines Bottom-up Integration a b c e f g k l m d i n o h j b d i n o h j
  • 50. Drivers Driver (Baan: dummy sessions) : test harness: scaffolding specially written or general purpose (commercial tools) invoke baseline send any data baseline expects receive any data baseline produces (print) each baseline has different requirements from the test driving software
  • 51. Pros & cons of bottom-up approach Advantages: lowest levels tested first and most thoroughly (but should have been tested in unit testing) good for testing interfaces to external environment (hardware, network) visibility of detail Disadvantages no working system until last baseline needs both drivers and stubs major control problems found last
  • 52. Baselines: baseline 0: component a baseline 1: a + b baseline 2: a + b + d baseline 3: a + b + d + i etc. Needs stubs Shouldn't need drivers (if top-down) Minimum Capability Integration (also called Functional) f g k l m a b d i c e n o h j a b d i c e n o h j
  • 53. Pros & cons of Minimum Capability Advantages: control level tested first and most often visibility of detail real working partial system earliest Disadvantages needs stubs
  • 54. Thread Integration (also called functional) order of processing some event determines integration order interrupt, user transaction minimum capability in time advantages: critical processing first early warning of performance problems disadvantages: may need complex drivers and stubs k l m i h j b c a f g d e n o b c k l m i h j f g d e
  • 55. Integration Guidelines minimise support software needed integrate each component only once each baseline should produce an easily verifiable result integrate small numbers of components at once one at a time for critical or fault-prone components combine simple related components
  • 56. Integration Planning integration should be planned in the architectural design phase the integration order then determines the build order components completed in time for their baseline component development and integration testing can be done in parallel - saves time
  • 57. Contents Models for testing, economics of testing High level test planning Component Testing Integration testing in the small System testing (non-functional and functional) Integration testing in the large Acceptance testing Maintenance testing Lifecycle 1 2 3 4 5 6 ISTQB / ISEB Foundation Exam Practice
  • 58. System testing last integration step functional functional requirements and requirements-based testing business process-based testing non-functional as important as functional requirements often poorly specified must be tested often done by independent test group
  • 59. Functional system testing Functional requirements a requirement that specifies a function that a system or system component must perform (ANSI/IEEE Std 729-1983, Software Engineering Terminology) Functional specification the document that describes in detail the characteristics of the product with regard to its intended capability (BS 4778 Part 2, BS 7925-1)
  • 60. Requirements-based testing Uses specification of requirements as the basis for identifying tests table of contents of the requirements spec provides an initial test inventory of test conditions for each section / paragraph / topic / functional area, risk analysis to identify most important / critical decide how deeply to test each functional area
  • 61. Business process-based testing Expected user profiles what will be used most often? what is critical to the business? Business scenarios typical business transactions (birth to death) Use cases prepared cases based on real situations
  • 62. Non-functional system testing different types of non-functional system tests: usability - configuration / installation security - reliability / qualities documentation - back-up / recovery storage - performance, load, stress volume
  • 63. Performance Tests Timing Tests response and service times database back-up times Capacity & Volume Tests maximum amount or processing rate number of records on the system graceful degradation Endurance Tests (24-hr operation?) robustness of the system memory allocation
  • 64. Multi-User Tests Concurrency Tests small numbers, large benefits detect record locking problems Load Tests the measurement of system behaviour under realistic multi-user load Stress Tests go beyond limits for the system - know what will happen particular relevance for e-commerce Source: Sue Atkins, Magic Performance Management
  • 65. Usability Tests messages tailored and meaningful to (real) users? coherent and consistent interface? sufficient redundancy of critical information? within the "human envelope"? (7±2 choices) feedback (wait messages)? clear mappings (how to escape)? Who should design / perform these tests?
  • 66. Security Tests passwords encryption hardware permission devices levels of access to information authorisation covert channels physical security
  • 67. Configuration and Installation Configuration Tests different hardware or software environment configuration of the system itself upgrade paths - may conflict Installation Tests distribution (CD, network, etc.) and timings physical aspects: electromagnetic fields, heat, humidity, motion, chemicals, power supplies uninstall (removing installation)
  • 68. Reliability / Qualities Reliability "system will be reliable" - how to test this? "2 failures per year over ten years" Mean Time Between Failures (MTBF) reliability growth models Other Qualities maintainability, portability, adaptability, etc.
  • 69. Back-up and Recovery Back-ups computer functions manual procedures (where are tapes stored) Recovery real test of back-up manual procedures unfamiliar should be regularly rehearsed documentation should be detailed, clear and thorough
  • 70. Documentation Testing Documentation review check for accuracy against other documents gain consensus about content documentation exists, in right format Documentation tests is it usable? does it work? user manual maintenance documentation
  • 71. Contents Models for testing, economics of testing High level test planning Component Testing Integration testing in the small System testing (non-functional and functional) Integration testing in the large Acceptance testing Maintenance testing Lifecycle 1 2 3 4 5 6 ISTQB / ISEB Foundation Exam Practice
  • 72. Integration testing in the large Tests the completed system working in conjunction with other systems, e.g. LAN / WAN, communications middleware other internal systems (billing, stock, personnel, overnight batch, branch offices, other countries) external systems (stock exchange, news, suppliers) intranet, internet / www 3rd party packages electronic data interchange (EDI)
  • 73. Approach Identify risks which areas missing or malfunctioning would be most critical - test them first “Divide and conquer” test the outside first (at the interface to your system, e.g. test a package on its own) test the connections one at a time first (your system and one other) combine incrementally - safer than “big bang” (non-incremental)
  • 74. Planning considerations resources identify the resources that will be needed (e.g. networks) co-operation plan co-operation with other organisations (e.g. suppliers, technical support team) development plan integration (in the large) test plan could influence development plan (e.g. conversion software needed early on to exchange data formats)
  • 75. Contents Models for testing, economics of testing High level test planning Component Testing Integration testing in the small System testing (non-functional and functional) Integration testing in the large Acceptance testing Maintenance testing Lifecycle 1 2 3 4 5 6 ISTQB / ISEB Foundation Exam Practice
  • 76. User acceptance testing Final stage of validation customer (user) should perform or be closely involved customer can perform any test they wish, usually based on their business processes final user sign-off Approach mixture of scripted and unscripted testing ‘Model Office’ concept sometimes used
  • 77. Why customer / user involvement Users know: what really happens in business situations complexity of business relationships how users would do their work using the system variants to standard tasks (e.g. country-specific) examples of real cases how to identify sensible work-arounds Benefit: detailed understanding of the new system
  • 78. User Acceptance testing 20% of function by 80% of code System testing distributed over this line Acceptance testing distributed over this line 80% of function by 20% of code
  • 79. Contract acceptance testing Contract to supply a software system agreed at contract definition stage acceptance criteria defined and agreed may not have kept up to date with changes Contract acceptance testing is against the contract and any documented agreed changes not what the users wish they had asked for! this system, not wish system
  • 80. Alpha and Beta tests: similarities Testing by [potential] customers or representatives of your market not suitable for bespoke software When software is stable Use the product in a realistic way in its operational environment Give comments back on the product faults found how the product meets their expectations improvement / enhancement suggestions?
  • 81. Alpha and Beta tests: differences Alpha testing simulated or actual operational testing at an in-house site not otherwise involved with the software developers (i.e. developers’ site) Beta testing operational testing at a site not otherwise involved with the software developers (i.e. testers’ site, their own location)
  • 82. Acceptance testing motto If you don't have patience to test the system the system will surely test your patience
  • 83. Contents Models for testing, economics of testing High level test planning Component Testing Integration testing in the small System testing (non-functional and functional) Integration testing in the large Acceptance testing Maintenance testing Lifecycle 1 2 3 4 5 6 ISTQB / ISEB Foundation Exam Practice
  • 84. Maintenance testing Testing to preserve quality: different sequence development testing executed bottom-up maintenance testing executed top-down different test data (live profile) breadth tests to establish overall confidence depth tests to investigate changes and critical areas predominantly regression testing
  • 85. What to test in maintenance testing Test any new or changed code Impact analysis what could this change have an impact on? how important is a fault in the impacted area? test what has been affected, but how much? most important affected areas? areas most likely to be affected? whole system? The answer: “It depends”
  • 86. Poor or missing specifications Consider what the system should do talk with users Document your assumptions ensure other people have the opportunity to review them Improve the current situation document what you do know and find out Track cost of working with poor specifications to make business case for better specifications
  • 87. What should the system do? Alternatives the way the system works now must be right (except for the specific change) - use existing system as the baseline for regression tests look in user manuals or guides (if they exist) ask the experts - the current users Without a specification, you cannot really test, only explore. You can validate, but not verify.
  • 88. Summary: Key Points V-model shows test levels, early test design High level test planning Component testing using the standard Integration testing in the small: strategies System testing (non-functional and functional) Integration testing in the large Acceptance testing: user responsibility Maintenance testing to preserve quality Lifecycle 1 2 3 4 5 6 ISTQB / ISEB Foundation Exam Practice

Editor's Notes

  • #19: Work takes twice as long to do for one week for five users: £50/hr x 7 = £350/day * 5 = £1750/wk / 2 = £875 / wk * 5 users = £4375 Double check because they don't trust it any more, 12% more time for 5 weeks: £350/day * 5 users = £1750, so 12% = £200/day * 25 days = £5000 747 away from stand late £1000/min