Soumettre la recherche
Mettre en ligne
Software testing
•
1 j'aime
•
1,154 vues
M
Mahfuz1061
Suivre
qalearn.blogspot.com
Lire moins
Lire la suite
Technologie
Formation
Signaler
Partager
Signaler
Partager
1 sur 55
Recommandé
Ch23
Ch23
phanleson
Requirements Based Testing
Requirements Based Testing
SSA KPI
Learn software testing with tech partnerz 2
Learn software testing with tech partnerz 2
Techpartnerz
Testing Object-Oriented Systems: Lessons Learned
Testing Object-Oriented Systems: Lessons Learned
Bob Binder
Testing terms & definitions
Testing terms & definitions
Sachin MK
Object oriented sad 6
Object oriented sad 6
Bisrat Girma
Ch 2 Apraoaches Of Software Testing
Ch 2 Apraoaches Of Software Testing
Prof .Pragati Khade
Test levels
Test levels
Farhim Shaikh
Recommandé
Ch23
Ch23
phanleson
Requirements Based Testing
Requirements Based Testing
SSA KPI
Learn software testing with tech partnerz 2
Learn software testing with tech partnerz 2
Techpartnerz
Testing Object-Oriented Systems: Lessons Learned
Testing Object-Oriented Systems: Lessons Learned
Bob Binder
Testing terms & definitions
Testing terms & definitions
Sachin MK
Object oriented sad 6
Object oriented sad 6
Bisrat Girma
Ch 2 Apraoaches Of Software Testing
Ch 2 Apraoaches Of Software Testing
Prof .Pragati Khade
Test levels
Test levels
Farhim Shaikh
Testing Concepts and Manual Testing
Testing Concepts and Manual Testing
ANKUR-BA
Testing Concepts and Manual Testing
Testing Concepts and Manual Testing
Fayis-QA
Testing Concepts and Manual Testing
Testing Concepts and Manual Testing
Sachin-QA
Software testing
Software testing
MohdVais1
Object oriented testing
Object oriented testing
Haris Jamil
software engineering
software engineering
Subhanshu Mittal
Testing throughout the software life cycle (test levels)
Testing throughout the software life cycle (test levels)
tyas setyo
T0 numtq0nje=
T0 numtq0nje=
International Journal of Science and Research (IJSR)
Unit 6 final
Unit 6 final
sietkcse
Higher Order Testing
Higher Order Testing
Donovan Mulder
Introduction to Software Testing
Introduction to Software Testing
Henry Muccini
Testing ppt
Testing ppt
kiran theja
Different Software Testing Types and CMM Standard
Different Software Testing Types and CMM Standard
Dhrumil Panchal
System testing
System testing
Slideshare
12 sdd lesson testing and evaluating
12 sdd lesson testing and evaluating
Mike Cusack
Unit Testing vs Integration Testing
Unit Testing vs Integration Testing
Rock Interview
100 most popular software testing terms
100 most popular software testing terms
apurvaorama
Slideshare presentacion
Slideshare presentacion
alexander julian Pacheco Rosales
tremron_ebbin
tremron_ebbin
ebbin daniel
Letter of Recommendation
Letter of Recommendation
Brandon Clearwaters
MARK_OLIPHANT_DHL_Hubbub2007
MARK_OLIPHANT_DHL_Hubbub2007
Mark Oliphant
Sarah Fenty reference
Sarah Fenty reference
Sarah Fenty
Contenu connexe
Tendances
Testing Concepts and Manual Testing
Testing Concepts and Manual Testing
ANKUR-BA
Testing Concepts and Manual Testing
Testing Concepts and Manual Testing
Fayis-QA
Testing Concepts and Manual Testing
Testing Concepts and Manual Testing
Sachin-QA
Software testing
Software testing
MohdVais1
Object oriented testing
Object oriented testing
Haris Jamil
software engineering
software engineering
Subhanshu Mittal
Testing throughout the software life cycle (test levels)
Testing throughout the software life cycle (test levels)
tyas setyo
T0 numtq0nje=
T0 numtq0nje=
International Journal of Science and Research (IJSR)
Unit 6 final
Unit 6 final
sietkcse
Higher Order Testing
Higher Order Testing
Donovan Mulder
Introduction to Software Testing
Introduction to Software Testing
Henry Muccini
Testing ppt
Testing ppt
kiran theja
Different Software Testing Types and CMM Standard
Different Software Testing Types and CMM Standard
Dhrumil Panchal
System testing
System testing
Slideshare
12 sdd lesson testing and evaluating
12 sdd lesson testing and evaluating
Mike Cusack
Unit Testing vs Integration Testing
Unit Testing vs Integration Testing
Rock Interview
100 most popular software testing terms
100 most popular software testing terms
apurvaorama
Tendances
(17)
Testing Concepts and Manual Testing
Testing Concepts and Manual Testing
Testing Concepts and Manual Testing
Testing Concepts and Manual Testing
Testing Concepts and Manual Testing
Testing Concepts and Manual Testing
Software testing
Software testing
Object oriented testing
Object oriented testing
software engineering
software engineering
Testing throughout the software life cycle (test levels)
Testing throughout the software life cycle (test levels)
T0 numtq0nje=
T0 numtq0nje=
Unit 6 final
Unit 6 final
Higher Order Testing
Higher Order Testing
Introduction to Software Testing
Introduction to Software Testing
Testing ppt
Testing ppt
Different Software Testing Types and CMM Standard
Different Software Testing Types and CMM Standard
System testing
System testing
12 sdd lesson testing and evaluating
12 sdd lesson testing and evaluating
Unit Testing vs Integration Testing
Unit Testing vs Integration Testing
100 most popular software testing terms
100 most popular software testing terms
En vedette
Slideshare presentacion
Slideshare presentacion
alexander julian Pacheco Rosales
tremron_ebbin
tremron_ebbin
ebbin daniel
Letter of Recommendation
Letter of Recommendation
Brandon Clearwaters
MARK_OLIPHANT_DHL_Hubbub2007
MARK_OLIPHANT_DHL_Hubbub2007
Mark Oliphant
Sarah Fenty reference
Sarah Fenty reference
Sarah Fenty
Recommendation Letter Jihad Kiwan- CTO Dubai Silicon Oasis-Dubai Circuit Design
Recommendation Letter Jihad Kiwan- CTO Dubai Silicon Oasis-Dubai Circuit Design
fatima-zahra sindibad
Shaikh e azam mahanama ghausul alam feb 2007 shaikh e azam
Shaikh e azam mahanama ghausul alam feb 2007 shaikh e azam
Aale Rasool Ahmad
IT Case Study
IT Case Study
Saurabh Sarkar
En vedette
(8)
Slideshare presentacion
Slideshare presentacion
tremron_ebbin
tremron_ebbin
Letter of Recommendation
Letter of Recommendation
MARK_OLIPHANT_DHL_Hubbub2007
MARK_OLIPHANT_DHL_Hubbub2007
Sarah Fenty reference
Sarah Fenty reference
Recommendation Letter Jihad Kiwan- CTO Dubai Silicon Oasis-Dubai Circuit Design
Recommendation Letter Jihad Kiwan- CTO Dubai Silicon Oasis-Dubai Circuit Design
Shaikh e azam mahanama ghausul alam feb 2007 shaikh e azam
Shaikh e azam mahanama ghausul alam feb 2007 shaikh e azam
IT Case Study
IT Case Study
Similaire à Software testing
Software-Testing.pdf
Software-Testing.pdf
Salim533277
Software Verification & Validation
Software Verification & Validation
university of education,Lahore
Software engineering testing and types
Software engineering testing and types
Dr. Anthony Vincent. B
Software Verification & Validation
Software Verification & Validation
university of education,Lahore
Verification and validation
Verification and validation
Suresh Thammishetty
Dr.Jonathan Software verification validation.ppt
Dr.Jonathan Software verification validation.ppt
Phial
Verifcation and Validation
Verifcation and Validation
SaggitariusArrow
Ian Sommerville, Software Engineering, 9th EditionCh 8
Ian Sommerville, Software Engineering, 9th EditionCh 8
Mohammed Romi
types of testing in software engineering
types of testing in software engineering
preetikapri1
Ch. 20 software testing
Ch. 20 software testing
Sougata Dafader
Different Types Of Testing
Different Types Of Testing
Siddharth Belbase
Software Testing
Software Testing
SKumar11384
Software Testing Techniques
Software Testing Techniques
Pramod Parajuli
Software testing
Software testing
Eng Ibrahem
Software testing
Software testing
Shah Ishtiyaq Mehfooze
Different Software Testing Levels for Detecting Errors
Different Software Testing Levels for Detecting Errors
Waqas Tariq
Software testing ppt
Software testing ppt
Heritage Institute Of Tech,India
SE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software Testing
Amr E. Mohamed
Software Processes
Software Processes
university of education,Lahore
Ch8
Ch8
Mohammed Romi
Similaire à Software testing
(20)
Software-Testing.pdf
Software-Testing.pdf
Software Verification & Validation
Software Verification & Validation
Software engineering testing and types
Software engineering testing and types
Software Verification & Validation
Software Verification & Validation
Verification and validation
Verification and validation
Dr.Jonathan Software verification validation.ppt
Dr.Jonathan Software verification validation.ppt
Verifcation and Validation
Verifcation and Validation
Ian Sommerville, Software Engineering, 9th EditionCh 8
Ian Sommerville, Software Engineering, 9th EditionCh 8
types of testing in software engineering
types of testing in software engineering
Ch. 20 software testing
Ch. 20 software testing
Different Types Of Testing
Different Types Of Testing
Software Testing
Software Testing
Software Testing Techniques
Software Testing Techniques
Software testing
Software testing
Software testing
Software testing
Different Software Testing Levels for Detecting Errors
Different Software Testing Levels for Detecting Errors
Software testing ppt
Software testing ppt
SE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software Testing
Software Processes
Software Processes
Ch8
Ch8
Plus de Mahfuz1061
Test plan
Test plan
Mahfuz1061
Test case
Test case
Mahfuz1061
Sql presentation
Sql presentation
Mahfuz1061
Sql
Sql
Mahfuz1061
Sdlc
Sdlc
Mahfuz1061
Pl sql
Pl sql
Mahfuz1061
Net framework
Net framework
Mahfuz1061
Dot net
Dot net
Mahfuz1061
Change management
Change management
Mahfuz1061
Agile softwareengineering
Agile softwareengineering
Mahfuz1061
Plus de Mahfuz1061
(10)
Test plan
Test plan
Test case
Test case
Sql presentation
Sql presentation
Sql
Sql
Sdlc
Sdlc
Pl sql
Pl sql
Net framework
Net framework
Dot net
Dot net
Change management
Change management
Agile softwareengineering
Agile softwareengineering
Dernier
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
apidays
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Principled Technologies
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
wesley chun
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
hans926745
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Neo4j
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
sudhanshuwaghmare1
Slack Application Development 101 Slides
Slack Application Development 101 Slides
praypatel2
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
naman860154
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Martijn de Jong
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
ThousandEyes
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Maria Levchenko
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
Igalia
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
Results
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
Pixlogix Infotech
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Drew Madelung
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
debabhi2
Dernier
(20)
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
Slack Application Development 101 Slides
Slack Application Development 101 Slides
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
Software testing
1.
Software testing ©Ian Sommerville
2004 Software Engineering, 7th edition. Chapter 23 Slide 1
2.
Objectives
To discuss the distinctions between validation testing and defect testing To describe the principles of system and component testing To describe strategies for generating system test cases To understand the essential characteristics of tool used for test automation ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 2
3.
Topics covered
System testing Component testing Test case design Test automation ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 3
4.
The testing process
Component testing • Testing of individual program components; • Usually the responsibility of the component developer (except sometimes for critical systems); • Tests are derived from the developer’s experience. System testing • Testing of groups of components integrated to create a system or sub-system; • The responsibility of an independent testing team; • Tests are based on a system specification. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 4
5.
ComSs
y testi tes Testing phases Softw Ind ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 5
6.
Defect testing
The goal of defect testing is to discover defects in programs A successful defect test is a test which causes a program to behave in an anomalous way Tests show the presence not the absence of defects ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 6
7.
Testing process goals
Validation testing • To demonstrate to the developer and the system customer that the software meets its requirements; • A successful test shows that the system operates as intended. Defect testing • To discover faults or defects in the software where its behaviour is incorrect or not in conformance with its specification; • A successful test is a test that makes the system perform incorrectly and so exposes a defect in the system. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 7
8.
The software testing
process Ttawithr ePrRrmTp stuTsus Tonepr etestrts stCo etote st cases es da tata Design epar eg cases da r a e ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 8
9.
Testing policies
Only exhaustive testing can show a program is free from defects. However, exhaustive testing is impossible, Testing policies define the approach to be used in selecting system tests: • All functions accessed through menus should be tested; • Combinations of functions accessed through the same menu should be tested; • Where user input is required, all functions must be tested with correct and incorrect input. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 9
10.
System testing
Involves integrating components to create a system or sub-system. May involve testing an increment to be delivered to the customer. Two phases: • Integration testing - the test team have access to the system source code. The system is tested as components are integrated. • Release testing - the test team test the complete system to be delivered as a black-box. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 10
11.
Integration testing
Involves building a system from its components and testing it for problems that arise from component interactions. Top-down integration • Develop the skeleton of the system and populate it with components. Bottom-up integration • Integrate infrastructure components then add functional components. To simplify error localisation, systems should be incrementally integrated. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 11
12.
T1
AB T1 CA T T Incremental integration testing AB T T2 T2 T T3 BC D T3seq T4s ee T Tst st st e TT ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 12
13.
Testing approaches
Architectural validation • Top-down integration testing is better at discovering errors in the system architecture. System demonstration • Top-down integration testing allows a limited demonstration at an early stage in the development. Test implementation • Often easier with bottom-up integration testing. Test observation • Problems with both approaches. Extra code may be required to observe tests. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 13
14.
Release testing
The process of testing a release of a system that will be distributed to customers. Primary goal is to increase the supplier’s confidence that the system meets its requirements. Release testing is usually black-box or functional testing • Based on the system specification only; • Testers do not have knowledge of the system implementation. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 14
15.
Inp
ano Input t ta beh I vio e Black-box testing Sstem y Out hic ea v the ese Output esults Odef e ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 15
16.
Testing guidelines
Testing guidelines are hints for the testing team to help them choose tests that will reveal defects in the system • Choose inputs that force the system to generate all error messages; • Design inputs that cause buffers to overflow; • Repeat the same input or input series several times; • Force invalid outputs to be generated; • Force computation results to be too large or too small. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 16
17.
Testing scenario A student
in Scotland is studying American History and has been asked to write a paper on ‘Frontier mentality in the American West from 1840 to 1880’. To do this, she needs to find sources from a range of libraries. She logs on to the LIBSYS system and uses the search facility to discover if she can access original documents from that time. She discovers sources in various US university libraries and downloads copies of some of these. However, for one document, she needs to have confirmation from her university that she is a genuine student and that use is for non-commercial purposes. The student then uses the facility in LIBSYS that can request such permission and registers her request. If granted, the document will be downloaded to the registered library’s server and printed for her. She receives a message from LIBSYS telling her that she will receive an e-mail message when the printed document is available for collection. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 17
18.
System tests ©Ian Sommerville
2004 Software Engineering, 7th edition. Chapter 23 Slide 18
19.
Use cases
Use cases can be a basis for deriving the tests for a system. They help identify operations to be tested and help design the required test cases. From an associated sequence diagram, the inputs and outputs to be created for the tests can be identified. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 19
20.
:Comm
:W eathe :W eat request t)t sum Collect weather data sequence chart acknow repor () send(r t) ( reply t) acknow ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 20
21.
Performance testing
Part of release testing may involve testing the emergent properties of a system, such as performance and reliability. Performance tests usually involve planning a series of tests where the load is steadily increased until the system performance becomes unacceptable. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 21
22.
Stress testing
Exercises the system beyond its maximum design load. Stressing the system often causes defects to come to light. Stressing the system test failure behaviour.. Systems should not fail catastrophically. Stress testing checks for unacceptable loss of service or data. Stress testing is particularly relevant to distributed systems that can exhibit severe degradation as a network becomes overloaded. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 22
23.
Component testing
Component or unit testing is the process of testing individual components in isolation. It is a defect testing process. Components may be: • Individual functions or methods within an object; • Object classes with several attributes and methods; • Composite components with defined interfaces used to access their functionality. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 23
24.
Object class testing
Complete test coverage of a class involves • Testing all operations associated with an object; • Setting and interrogating all object attributes; • Exercising the object in all possible states. Inheritance makes it more difficult to design object class tests as the information to be tested is not localised. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 24
25.
Weath
iden repo tW eat cali test star tup Weather station object interface ©Ian Sommerville 2004 shu Software Engineering, 7th edition. Chapter 23 Slide 25
26.
Weather station testing
Need to define test cases for reportWeather, calibrate, test, startup and shutdown. Using a state model, identify sequences of state transitions to be tested and the event sequences to cause these transitions For example: • Waiting -> Calibrating -> Testing -> Transmitting -> Waiting ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 26
27.
Interface testing
Objectives are to detect faults due to interface errors or invalid assumptions about interfaces. Particularly important for object-oriented development as objects are defined by their interfaces. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 27
28.
Tst
e case Interface testing AB C ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 28
29.
Interface types
Parameter interfaces • Data passed from one procedure to another. Shared memory interfaces • Block of memory is shared between procedures or functions. Procedural interfaces • Sub-system encapsulates a set of procedures to be called by other sub-systems. Message passing interfaces • Sub-systems request services from other sub-system.s ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 29
30.
Interface errors
Interface misuse • A calling component calls another component and makes an error in its use of its interface e.g. parameters in the wrong order. Interface misunderstanding • A calling component embeds assumptions about the behaviour of the called component which are incorrect. Timing errors • The called and the calling component operate at different speeds and out-of-date information is accessed. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 30
31.
Interface testing guidelines
Design tests so that parameters to a called procedure are at the extreme ends of their ranges. Always test pointer parameters with null pointers. Design tests which cause the component to fail. Use stress testing in message passing systems. In shared memory systems, vary the order in which components are activated. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 31
32.
Test case design
Involves designing the test cases (inputs and outputs) used to test the system. The goal of test case design is to create a set of tests that are effective in validation and defect testing. Design approaches: • Requirements-based testing; • Partition testing; • Structural testing. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 32
33.
Requirements based testing
A general principle of requirements engineering is that requirements should be testable. Requirements-based testing is a validation testing technique where you consider each requirement and derive a set of tests for that requirement. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 33
34.
LIBSYS requirements ©Ian Sommerville
2004 Software Engineering, 7th edition. Chapter 23 Slide 34
35.
LIBSYS tests
• Initiate user search for searches for items that are known to be present and known not to be present, where the set of databases includes 1 database. • Initiate user searches for items that are known to be present and known not to be present, where the set of databases includes 2 databases • Initiate user searches for items that are known to be present and known not to be present where the set of databases includes more than 2 databases. • Select one database from the set of databases and initiate user searches for items that are known to be present and known not to be present. • Select more than one database from the set of databases and initiate searches for items that are known to be present and known not to be present. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 35
36.
Partition testing
Input data and output results often fall into different classes where all members of a class are related. Each of these classes is an equivalence partition or domain where the program behaves in an equivalent way for each class member. Test cases should be chosen from each partition. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 36
37.
Equivalence partitioning
InV ini vSstem ay lid lid a ©Ian Sommerville 2004 Outpu Software Engineering, 7th edition. Chapter 23 Slide 37
38.
3700th
1 t4 4 0e Less00 Betw een Mo Equivalence partitions Numb alues input 9999t1 1 th 0 15999 00000 000 Less v 0000 Betw een 0000 InputMo aluese ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 38
39.
Search routine specification
procedure Search (Key : ELEM ; T: SEQ of ELEM; Found : in out BOOLEAN; L: in out ELEM_INDEX) ; Pre-condition -- the sequence has at least one element T’FIRST <= T’LAST Post-condition -- the element is found and is referenced by L ( Found and T (L) = Key) or -- the element is not in the array ( not Found and not (exists i, T’FIRST >= i <= T’LAST, T (i) = Key )) ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 39
40.
Search routine -
input partitions Inputs which conform to the pre-conditions. Inputs where a pre-condition does not hold. Inputs where the key element is a member of the array. Inputs where the key element is not a member of the array. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 40
41.
Testing guidelines (sequences)
Test software with sequences which have only a single value. Use sequences of different sizes in different tests. Derive tests so that the first, middle and last elements of the sequence are accessed. Test with sequences of zero length. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 41
42.
Search routine -
input partitions ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 42
43.
Structural testing
Sometime called white-box testing. Derivation of test cases according to program structure. Knowledge of the program is used to identify additional test cases. Objective is to exercise all program statements (not all path combinations). ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 43
44.
Tst d
es ta TDeri eCom stsTs v ou ee Structural testing code ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 44
45.
Binary search -
equiv. partitions Pre-conditions satisfied, key element in array. Pre-conditions satisfied, key element not in array. Pre-conditions unsatisfied, key element in array. Pre-conditions unsatisfied, key element not in array. Input array has a single value. Input array has an even number of values. Input array has an odd number of values. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 45
46.
Equi
vlen a Ele Binary search equiv. partitions Elem Mid ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 46
47.
Binary search -
test cases ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 47
48.
Path testing
The objective of path testing is to ensure that the set of test cases is such that each path through the program is executed at least once. The starting point for path testing is a program flow graph that shows nodes representing program decisions and arcs representing the flow of control. Statements with conditions are therefore nodes in the flow graph. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 48
49.
1
Binary search flow graph 2 3 4 bottom > t 5while bo 6elemAr elemArr 7 1elem 1 =k elemArra [mid] 8 213 9 11 40 ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 49
50.
Independent paths
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14 1, 2, 3, 4, 5, 14 1, 2, 3, 4, 5, 6, 7, 11, 12, 5, … 1, 2, 3, 4, 6, 7, 2, 11, 13, 5, … Test cases should be derived so that all of these paths are executed A dynamic program analyser may be used to check that paths have been executed ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 50
51.
Test automation
Testing is an expensive process phase. Testing workbenches provide a range of tools to reduce the time required and total testing costs. Systems such as Junit support the automatic execution of tests. Most testing workbenches are open systems because testing needs are organisation-specific. They are sometimes difficult to integrate with closed design and analysis workbenches. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 51
52.
Tor da
est da taacle t Spe tion gener ast Sourprr t A testing workbench ce stst st TmOr eT T T e ta codeedic mana gere Dynami Presult o eFile gr a analcom yser being Ex gene ecution e Simpor ulat Tst tor e rt poraorpo Rrt e esu ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 52
53.
Testing workbench adaptation
Scripts may be developed for user interface simulators and patterns for test data generators. Test outputs may have to be prepared manually for comparison. Special-purpose file comparators may be developed. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 53
54.
Key points
Testing can show the presence of faults in a system; it cannot prove there are no remaining faults. Component developers are responsible for component testing; system testing is the responsibility of a separate team. Integration testing is testing increments of the system; release testing involves testing a system to be released to a customer. Use experience and guidelines to design test cases in defect testing. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 54
55.
Key points
Interface testing is designed to discover defects in the interfaces of composite components. Equivalence partitioning is a way of discovering test cases - all cases in a partition should behave in the same way. Structural analysis relies on analysing a program and deriving tests from this analysis. Test automation reduces testing costs by supporting the test process with a range of software tools. ©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 23 Slide 55