Integration and Higher Level Testing Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 11.

Slides:



Advertisements
Similar presentations
1 Integration Testing CS 4311 I. Burnstein. Practical Software Testing, Springer-Verlag, 2003.
Advertisements

System/Software Testing Error detection and removal determine level of reliability well-planned procedure - Test Cases done by independent quality assurance.
Software Quality Assurance Plan
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 11: Integration- and System Testing.
Software Testing 3 Damian Gordon.
Integration testing Satish Mishra
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Integration and System Testing CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March 29, 2007.
Illinois Institute of Technology
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 11: Integration- and System Testing.
Software Testing & Strategies
Software Testing Introduction. Agenda Software Testing Definition Software Testing Objectives Software Testing Strategies Software Test Classifications.
Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 1 Systems engineering 1.
Software System Integration
BY RAJESWARI S SOFTWARE TESTING. INTRODUCTION Software testing is the process of testing the software product. Effective software testing will contribute.
H-1 Network Management Network management is the process of controlling a complex data network to maximize its efficiency and productivity The overall.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 1 Verification and Validation u Assuring that a software system meets a user's.
System/Software Testing
Testing Chapter 11. Dealing with Errors Verification: –Makes assumptions –Doesn’t always deal with real environment Testing (this lecture) –Testing is.
CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System.
ECE 355: Software Engineering
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 20 Slide 1 Integration testing l Tests complete systems or subsystems composed of integrated.
Overview Integration Testing Decomposition Based Integration
INFO 637Lecture #81 Software Engineering Process II Integration and System Testing INFO 637 Glenn Booker.
SOFTWARE TESTING STRATEGIES CIS518001VA : ADVANCED SOFTWARE ENGINEERING TERM PAPER.
Software Testing Testing principles. Testing Testing involves operation of a system or application under controlled conditions & evaluating the results.
INT-Evry (Masters IT– Soft Eng)IntegrationTesting.1 (OO) Integration Testing What: Integration testing is a phase of software testing in which.
1 Software testing. 2 Testing Objectives Testing is a process of executing a program with the intent of finding an error. A good test case is in that.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
Testing Object-Oriented Software (an Overview) Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 12.
Integration and Higher Level Testing Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 11.
1 Integration Testing CS 4311 I. Burnstein. Practical Software Testing, Springer-Verlag, 2003.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Integration testing Integrate two or more module.i.e. communicate between the modules. Follow a white box testing (Testing the code)
CS451 Lecture 10: Software Testing Yugi Lee STB #555 (816)
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
Software Quality Assurance and Testing Fazal Rehman Shamil.
1 Object-Oriented Analysis and Design with the Unified Process Figure 13-1 Implementation discipline activities.
Dillon: CSE470: SYSTEM INTEGRATION 1 Build Plan l Development or integration strategies l Decide the order in which components of the system will be developed.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
CS 325: Software Engineering February 16, 2016 Designing a Design Class Diagram Design Class Diagrams DCD: Restaurant Example DCD: ATM Example Software.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
Tool Support for Testing Classify different types of test tools according to their purpose Explain the benefits of using test tools.
LECTURE 5 Nangwonvuma M/ Byansi D. Components, interfaces and integration Infrastructure, Middleware and Platforms Techniques – Data warehouses, extending.
ANOOP GANGWAR 5 TH SEM SOFTWARE TESTING MASTER OF COMPUTER APPLICATION-V Sem.
Defect testing Testing programs to establish the presence of system defects.
 System Requirement Specification and System Planning.
ISQB Software Testing Section Meeting 10 Dec 2012.
Software Testing Strategies for building test group
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Integration Testing.
Integration and Higher Level Testing
Software System Integration
Higher-Level Testing and Integration Testing
Chapter 10 – Software Testing
Integration Testing CS 4311
Chapter 11: Integration- and System Testing
Chapter 11: Integration and System Testing
ISO/IEC Systems and software Quality Requirements and Evaluation
CS410 – Software Engineering Lecture #11: Testing II
Software Testing Strategies
Presentation transcript:

Integration and Higher Level Testing Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 11

Context Higher-level testing begins with the integration of (already unit-tested) modules to form higher-level program entities (e.g., components). The primary objective of integration testing is to discover interface and blatant higher-level design errors associated with the elements being integrated. (Somewhat in keeping with the spirit of “smoke testing”.)

Context Higher-level testing begins with the integration of (already unit-tested) modules to form higher-level program entities (e.g., components). The primary objective of integration testing is to discover interface and blatant higher-level design errors associated with the elements being integrated. (Somewhat in keeping with the spirit of “smoke testing”.)

Context (cont’d) Once the elements have been successfully integrated (i.e., once they are able to function together), the functional and non-functional characteristics of the higher-level element can be tested thoroughly (via component, product, or system testing).

Integration Testing Integration testing is carried out when integrating (i.e., combining): –Units or modules to form a component –Components to form a product –Products to form a system The strategy employed can significantly affect the time and effort required to yield a working, higher-level element.

Integration Testing Integration testing is carried out when integrating (i.e., combining): –Units or modules to form a component –Components to form a product –Products to form a system The strategy employed can significantly affect the time and effort required to yield a working, higher-level element.

Integration Testing (cont’d) Note that ‘‘integration testing’’ is sometimes defined as the level of testing between unit and system. We use a more general model of the testing process.

Levels of Testing Unit Test Integration Test System Test Unit Test Integration Test Component Test Integration Test Product Test System Test Integration Test A Popular View A More General View

Integration Testing Strategies The first (and usually the easiest...) issue to address is the choice between instantaneous and incremental integration testing. The former is sometimes referred to as the big bang approach. (Guess why!) Locating subtle errors can be very difficult after the “bang”. “Integration is a process, not an event.”

Integration Testing Strategies The first (and usually the easiest...) issue to address is the choice between instantaneous and incremental integration testing. The former is sometimes referred to as the big bang approach. (Guess why!) Locating subtle errors can be very difficult after the “bang”. “Integration is a process, not an event.”

Integration Testing Strategies The first (and usually the easiest...) issue to address is the choice between instantaneous and incremental integration testing. The former is sometimes referred to as the big bang approach. (Guess why!) Locating subtle errors can be very difficult after the “bang”. “Integration is a process, not an event.”

Integration Testing Strategies (cont’d) Incremental integration testing results in some additional overhead, but can significantly reduce error localization and correction time. (What is the overhead?) The optimum incremental approach is inherently dependent on the individual project and the pros and cons of the various alternatives available.

Integration Testing Strategies (cont’d) Incremental integration testing results in some additional overhead, but can significantly reduce error localization and correction time. (What is the overhead?) The optimum incremental approach is inherently dependent on the individual project and the pros and cons of the various alternatives available.

As an aside… Here’s a slide from an on-line lecture † that I came across recently… Proper policy and plans Advocacy Manpower training Realistic tasks Coordination with other sectors Proper support Access to drugs Principles of Integration † “ Integration of Substance Abuse Disorders in National Rural Health Mission (NRHM),” Centre for Community Medicine, All India Institute of Medical Sciences, New Delhi

Incremental Strategies Suppose we are integrating a group of modules to form a component, the control structure of which will form a ‘‘calling hierarchy’’ as shown.

Incremental Strategies (cont’d) In what order should the modules be integrated? –From the top (“root”) module toward the bottom? –From bottom (“leaf”) modules toward the top? –By function? –Critical or high-risk modules first? –By availability?

Incremental Strategies (cont’d) In what order should the modules be integrated? –From the top (“root”) module toward the bottom? –From bottom (“leaf”) modules toward the top? –By function? –Critical or high-risk modules first? –By availability?

Incremental Strategies (cont’d) In what order should the modules be integrated? –From the top (“root”) module toward the bottom? –From bottom (“leaf”) modules toward the top? –By function? –Critical or high-risk modules first? –By availability?

Incremental Strategies (cont’d) In what order should the modules be integrated? –From the top (“root”) module toward the bottom? –From bottom (“leaf”) modules toward the top? –By function? –Critical or high-risk modules first? –By availability?

Incremental Strategies (cont’d) In what order should the modules be integrated? –From the top (“root”) module toward the bottom? –From bottom (“leaf”) modules toward the top? –By function? –Critical or high-risk modules first? –By availability?

Incremental Strategies (cont’d) In what order should the modules be integrated? –From the top (“root”) module toward the bottom? –From bottom (“leaf”) modules toward the top? –By function? –Critical or high-risk modules first? –By availability?

Incremental Strategies (cont’d) How many should be combined at a time? What scaffolding (i.e., drivers and stubs to exercise the modules, and oracles to interpret/inspect test results) will be required? Is scaffolding ever required outside the context of integration testing?

Incremental Strategies (cont’d) How many should be combined at a time? What scaffolding (i.e., drivers and stubs to exercise the modules, and oracles to interpret/inspect test results) will be required? Is scaffolding ever required outside the context of integration testing?

Incremental Strategies (cont’d) How many should be combined at a time? What scaffolding (i.e., drivers and stubs to exercise the modules, and oracles to interpret/inspect test results) will be required? Is scaffolding ever required outside the context of integration testing?

Top-Down Strategy 1.Start with the ‘‘root’’ and one or more called modules. 2.Test this group using stubs to take the place of missing called modules, and one driver (if necessary) to call the root module. 3.Add one or more other called modules, replacing and providing new stubs as necessary. (cont’d)

Top-Down Strategy 1.Start with the ‘‘root’’ and one or more called modules. 2.Test this group using stubs to take the place of missing called modules, and one driver (if necessary) to call the root module. 3.Add one or more other called modules, replacing and providing new stubs as necessary. (cont’d)

Top-Down Strategy 1.Start with the ‘‘root’’ and one or more called modules. 2.Test this group using stubs to take the place of missing called modules, and one driver (if necessary) to call the root module. 3.Add one or more other called modules, replacing and providing new stubs as necessary. (cont’d)

Top-Down Strategy (cont’d) 4.Continue the process until all elements have been integrated and tested.

Top-Down Strategy (cont’d) A BCD EFGHI JKL C G D HI

A B stub driver

Top-Down Strategy (cont’d) A B stub CC driver

Top-Down Strategy (cont’d) A B stub CC DD driver

Top-Down Strategy (cont’d) A B stub CC DD E driver

Top-Down Strategy (cont’d) A B stub CC DD EF driver

Top-Down Strategy (cont’d) A B stub CC DD EFGG driver

Top-Down Strategy (cont’d) A B stub CC DD EFGGHH driver

Top-Down Strategy (cont’d) A B stub CC DD EFGGHHII driver

Top-Down Strategy (cont’d) A B stub CC DD EFGGHHII J driver

Top-Down Strategy (cont’d) A B stub CCDD EFGGHHII JK driver

Top-Down Strategy (cont’d) A BCCDD EFGGHHII JK driver L

Top-Down Strategy (cont’d) Potential Advantages: –Allows early verification of high-level behavior. –One driver (at most) is required. –Modules can be added one at a time with each step if desired. –Supports both ‘‘breadth first’’ and ‘‘depth first’’ approaches.

Top-Down Strategy (cont’d) Potential Advantages: –Allows early verification of high-level behavior. –One driver (at most) is required. –Modules can be added one at a time with each step if desired. –Supports both ‘‘breadth first’’ and ‘‘depth first’’ approaches.

Top-Down Strategy (cont’d) Potential Advantages: –Allows early verification of high-level behavior. –One driver (at most) is required. –Modules can be added one at a time with each step if desired. –Supports both ‘‘breadth first’’ and ‘‘depth first’’ approaches.

Top-Down Strategy (cont’d) Potential Advantages: –Allows early verification of high-level behavior. –One driver (at most) is required. –Modules can be added one at a time with each step if desired. –Supports both ‘‘breadth first’’ and ‘‘depth first’’ approaches.

Top-Down Strategy (cont’d) Potential Advantages: –Allows early verification of high-level behavior. –One driver (at most) is required. –Modules can be added one at a time with each step if desired. –Supports both ‘‘breadth first’’ and ‘‘depth first’’ approaches.

Top-Down Strategy (cont’d) Potential Disadvantages: –Delays verification of low-level behavior. –Stubs are required for missing elements. –Test case inputs may be difficult to formulate. –Test case outputs may be difficult to interpret. (Oracles may be needed to interpret/inspect test results.)

Top-Down Strategy (cont’d) Potential Disadvantages: –Delays verification of low-level behavior. –Stubs are required for missing elements. –Test case inputs may be difficult to formulate. –Test case outputs may be difficult to interpret. (Oracles may be needed to interpret/inspect test results.)

Top-Down Strategy (cont’d) Potential Disadvantages: –Delays verification of low-level behavior. –Stubs are required for missing elements. –Test case inputs may be difficult to formulate. –Test case outputs may be difficult to interpret. (Oracles may be needed to interpret/inspect test results.)

Top-Down Strategy (cont’d) Potential Disadvantages: –Delays verification of low-level behavior. –Stubs are required for missing elements. –Test case inputs may be difficult to formulate. –Test case outputs may be difficult to interpret. (Oracles may be needed to interpret/inspect test results.)

Top-Down Strategy (cont’d) Potential Disadvantages: –Delays verification of low-level behavior. –Stubs are required for missing elements. –Test case inputs may be difficult to formulate. –Test case outputs may be difficult to interpret. (Oracles may be needed to interpret/inspect test results.)

Bottom-Up Strategy 1.Start at the bottom of the hierarchy with two or more sibling leaf modules, or an only-child leaf module with its parent. 2.Test this group using a driver. (No stubs are required.) 3.Add one or more additional siblings, replacing drivers with modules only when all modules they call have been integrated. (cont’d)

Bottom-Up Strategy 1.Start at the bottom of the hierarchy with two or more sibling leaf modules, or an only-child leaf module with its parent. 2.Test this group using a driver. (No stubs are required.) 3.Add one or more additional siblings, replacing drivers with modules only when all modules they call have been integrated. (cont’d)

Bottom-Up Strategy 1.Start at the bottom of the hierarchy with two or more sibling leaf modules, or an only-child leaf module with its parent. 2.Test this group using a driver. (No stubs are required.) 3.Add one or more additional siblings, replacing drivers with modules only when all modules they call have been integrated. (cont’d)

Bottom-Up Strategy (cont’d) 4.Continue the process until all elements of the subtree have been integrated and tested. 5.Repeat the steps above for the remaining subtrees in the hierarchy (or handle in parallel). 6.Incrementally combine the sub-trees and then add the root module.

Bottom-Up Strategy (cont’d) 4.Continue the process until all elements of the subtree have been integrated and tested. 5.Repeat the steps above for the remaining subtrees in the hierarchy (or handle in parallel). 6.Incrementally combine the sub-trees and then add the root module.

Bottom-Up Strategy (cont’d) 4.Continue the process until all elements of the subtree have been integrated and tested. 5.Repeat the steps above for the remaining subtrees in the hierarchy (or handle in parallel). 6.Incrementally combine the sub-trees and then add the root module.

Bottom-Up Strategy (cont’d) A BCD EFGHI JKL C G D HI

F J driver

Bottom-Up Strategy (cont’d) F J driver E

Bottom-Up Strategy (cont’d) F J driver E B

Bottom-Up Strategy (cont’d) F J driver E B KL

Bottom-Up Strategy (cont’d) F J driver E B KL HH

Bottom-Up Strategy (cont’d) F J driver E B KL HHII

Bottom-Up Strategy (cont’d) F J driver E B KL HHII DD

Bottom-Up Strategy (cont’d) F J driver E B K L HHII DD GG

Bottom-Up Strategy (cont’d) F J driver E B K L HHII DD GG CC

Bottom-Up Strategy (cont’d) K L driver HHII DD GG CCB EF J

Bottom-Up Strategy (cont’d) F J driver E B K GG CCDD HHII KL

Bottom-Up Strategy (cont’d) B CC DD EF GG HHII J K driver L

Bottom-Up Strategy (cont’d) BCCDD EFGGHHII JK driver L

Bottom-Up Strategy (cont’d) A BCCDD EFGGHHII JK driver L

Bottom-Up Strategy (cont’d) Potential Advantages: –Allows early verification of low-level behavior. –No stubs are required. –Easier to formulate input data for some subtrees. –Easier to interpret output data for others.

Bottom-Up Strategy (cont’d) Potential Advantages: –Allows early verification of low-level behavior. –No stubs are required. –Easier to formulate input data for some subtrees. –Easier to interpret output data for others.

Bottom-Up Strategy (cont’d) Potential Advantages: –Allows early verification of low-level behavior. –No stubs are required. –Easier to formulate input data for some subtrees. –Easier to interpret output data for others.

Bottom-Up Strategy (cont’d) Potential Advantages: –Allows early verification of low-level behavior. –No stubs are required. –Easier to formulate input data for some subtrees. –Easier to interpret output data for others.

Bottom-Up Strategy (cont’d) Potential Advantages: –Allows early verification of low-level behavior. –No stubs are required. –Easier to formulate input data for some subtrees. –Easier to interpret output data for others.

Bottom-Up Strategy (cont’d) Potential Disadvantages: –Delays verification of high-level behavior. –Drivers are required for missing elements. –As subtrees are combined, a large number of elements may be integrated at one time.

Bottom-Up Strategy (cont’d) Potential Disadvantages: –Delays verification of high-level behavior. –Drivers are required for missing elements. –As subtrees are combined, a large number of elements may be integrated at one time.

Bottom-Up Strategy (cont’d) Potential Disadvantages: –Delays verification of high-level behavior. –Drivers are required for missing elements. –As subtrees are combined, a large number of elements may be integrated at one time.

Bottom-Up Strategy (cont’d) Potential Disadvantages: –Delays verification of high-level behavior. –Drivers are required for missing elements. –As subtrees are combined, a large number of elements may be integrated at one time.

Hybrid Incremental Integration Approaches Risk Driven Start by integrating the most critical or complex modules together with modules they call or are called by. Schedule Driven To the extent possible, integrate modules as they become available. (cont’d)

Hybrid Incremental Integration Approaches Risk Driven Start by integrating the most critical or complex modules together with modules they call or are called by. Schedule Driven To the extent possible, integrate modules as they become available. (cont’d)

Hybrid Incremental Integration Approaches Risk Driven Start by integrating the most critical or complex modules together with modules they call or are called by. Schedule Driven To the extent possible, integrate modules as they become available. (cont’d)

Hybrid Incremental Integration Approaches (cont’d) Function or Thread Driven Integrate the modules associated with a key function (thread); continue the process by selecting another function, etc.

Hybrid Incremental Integration Approaches (cont’d) Function or Thread Driven Integrate the modules associated with a key function (thread); continue the process by selecting another function, etc.

How about Object-Oriented Systems? Just as a calling hierarchy allows design of an integration strategy for imperative software, use/include relations serve this purpose for object-oriented software. Since there may be no single “root” class, testing usually proceeds cluster by cluster in a “bottom-up” fashion, starting with “leaf” classes that depend on no others. We will come back to this in Lecture 12.

How about Object-Oriented Systems? Just as a calling hierarchy allows design of an integration strategy for imperative software, use/include relations serve this purpose for object-oriented software. Since there may be no single “root” class, testing usually proceeds cluster by cluster in a “bottom-up” fashion, starting with “leaf” classes that depend on no others. We will come back to this in Lecture 12.

How about Object-Oriented Systems? Just as a calling hierarchy allows design of an integration strategy for imperative software, use/include relations serve this purpose for object-oriented software. Since there may be no single “root” class, testing usually proceeds cluster by cluster in a “bottom-up” fashion, starting with “leaf” classes that depend on no others. We will come back to this in Lecture 12.

Higher-Level Testing Higher-level tests focus on the core functionality specified for higher level elements, and on certain emergent properties that become more observable as testing progresses toward the system level. The black-box testing strategies already considered (e.g., partition and combinatorial approaches) apply to functional testing at any level.

Higher-Level Testing Higher-level tests focus on the core functionality specified for higher level elements, and on certain emergent properties that become more observable as testing progresses toward the system level. The black-box testing strategies already considered (e.g., partition and combinatorial approaches) apply to functional testing at any level.

Higher-Level Testing (cont’d) Higher-level testing typically includes: A brief overview of each follows. –Usability test –Installability test –Serviceability test –Performance test –Stress test –Security test –Software compatibility test –Device and configuration test –Recovery test –Reliability test

Higher-Level Testing (cont’d) Higher-level testing typically includes: A brief overview of each follows. –Usability test –Installability test –Serviceability test –Performance test –Stress test –Security test –Software compatibility test –Device and configuration test –Recovery test –Reliability test

Usability Test Focus is on factors which influence the ease with which potential end-users are able to utilize the system to accomplish their goals. Specialized and sophisticated: HCI experts conduct experiments in simulated work environments. Protocol analysis is utilized to identify “usability bottlenecks.” Application-specific metrics related to under- standability, learnability, and operability may be employed.

Usability Test Focus is on factors which influence the ease with which potential end-users are able to utilize the system to accomplish their goals. Specialized and sophisticated: HCI experts conduct experiments in simulated work environments. Protocol analysis is utilized to identify “usability bottlenecks.” Application-specific metrics related to under- standability, learnability, and operability may be employed.

Usability Test Focus is on factors which influence the ease with which potential end-users are able to utilize the system to accomplish their goals. Specialized and sophisticated: HCI experts conduct experiments in simulated work environments. Protocol analysis is utilized to identify “usability bottlenecks.” Application-specific metrics related to under- standability, learnability, and operability may be employed.

Usability Test Focus is on factors which influence the ease with which potential end-users are able to utilize the system to accomplish their goals. Specialized and sophisticated: HCI experts conduct experiments in simulated work environments. Protocol analysis is utilized to identify “usability bottlenecks.” Application-specific metrics related to under- standability, learnability, and operability may be employed.

Installability Test Focus is functional and non-functional requirements related to the installation of the product/system. Coverage includes: –Media correctness and fidelity, –Relevant documentation (including examples), and –Installation processes and supporting system functions. (cont’d)

Installability Test Focus is functional and non-functional requirements related to the installation of the product/system. Coverage includes: –Media correctness and fidelity, –Relevant documentation (including examples), and –Installation processes and supporting system functions. (cont’d)

Installability Test Focus is functional and non-functional requirements related to the installation of the product/system. Coverage includes: –Media correctness and fidelity, –Relevant documentation (including examples), and –Installation processes and supporting system functions. (cont’d)

Installability Test Focus is functional and non-functional requirements related to the installation of the product/system. Coverage includes: –Media correctness and fidelity, –Relevant documentation (including examples), and –Installation processes and supporting system functions. (cont’d)

Installability Test Focus is functional and non-functional requirements related to the installation of the product/system. Coverage includes: –Media correctness and fidelity, –Relevant documentation (including examples), and –Installation processes and supporting system functions. (cont’d)

Installability Test (cont’d) Functions, procedures, documentation, etc., associated with product/system decommissioning must also be tested.

Serviceability Test Focus is requirements related to upgrading or fixing problems after installation. Coverage includes: –Change procedures (adaptive, perfective, and corrective service scenarios), –Supporting documentation, and –System diagnostic tools.

Serviceability Test Focus is requirements related to upgrading or fixing problems after installation. Coverage includes: –Change procedures (adaptive, perfective, and corrective service scenarios), –Supporting documentation, and –System diagnostic tools.

Serviceability Test Focus is requirements related to upgrading or fixing problems after installation. Coverage includes: –Change procedures (adaptive, perfective, and corrective service scenarios), –Supporting documentation, and –System diagnostic tools.

Serviceability Test Focus is requirements related to upgrading or fixing problems after installation. Coverage includes: –Change procedures (adaptive, perfective, and corrective service scenarios), –Supporting documentation, and –System diagnostic tools.

Serviceability Test Focus is requirements related to upgrading or fixing problems after installation. Coverage includes: –Change procedures (adaptive, perfective, and corrective service scenarios), –Supporting documentation, and –System diagnostic tools.

Performance Test Focus is requirements related to throughput, response time, memory utilization, input/ output rates, etc. Also very specialized in some organizations; sophisticated test-beds and instrumentation are the norm. Statistical testing based on an operational profile is often employed. Requirements must be stated in quantifiable terms.

Performance Test Focus is requirements related to throughput, response time, memory utilization, input/ output rates, etc. Also very specialized in some organizations; sophisticated test-beds and instrumentation are the norm. Statistical testing based on an operational profile is often employed. Requirements must be stated in quantifiable terms.

Performance Test Focus is requirements related to throughput, response time, memory utilization, input/ output rates, etc. Also very specialized in some organizations; sophisticated test-beds and instrumentation are the norm. Statistical testing based on an operational profile is often employed. Requirements must be stated in quantifiable terms.

Performance Test Focus is requirements related to throughput, response time, memory utilization, input/ output rates, etc. Also very specialized in some organizations; sophisticated test-beds and instrumentation are the norm. Statistical testing based on an operational profile is often employed. Requirements must be stated in quantifiable terms.

Stress Test Focus is system behavior at or near overload conditions (i.e., ‘‘pushing the system to failure’’). Often undertaken with performance testing. In general, products are required to exhibit ‘‘graceful’’ failures and non-abrupt perfor- mance degradation.

Stress Test Focus is system behavior at or near overload conditions (i.e., ‘‘pushing the system to failure’’). Often undertaken with performance testing. In general, products are required to exhibit ‘‘graceful’’ failures and non-abrupt perfor- mance degradation.

Stress Test Focus is system behavior at or near overload conditions (i.e., ‘‘pushing the system to failure’’). Often undertaken with performance testing. In general, products are required to exhibit ‘‘graceful’’ failures and non-abrupt perfor- mance degradation.

Security Test Focus is vulnerability of resources to unauthorized access or manipulation. Issues include: –Physical security of computer resources, media, etc., –Login and password procedures/policies, –Levels of authorization for data or procedural access, etc.

Security Test Focus is vulnerability of resources to unauthorized access or manipulation. Issues include: –Physical security of computer resources, media, etc., –Login and password procedures/policies, –Levels of authorization for data or procedural access, etc.

Security Test Focus is vulnerability of resources to unauthorized access or manipulation. Issues include: –Physical security of computer resources, media, etc., –Login and password procedures/policies, –Levels of authorization for data or procedural access, etc.

Security Test Focus is vulnerability of resources to unauthorized access or manipulation. Issues include: –Physical security of computer resources, media, etc., –Login and password procedures/policies, –Levels of authorization for data or procedural access, etc.

Security Test Focus is vulnerability of resources to unauthorized access or manipulation. Issues include: –Physical security of computer resources, media, etc., –Login and password procedures/policies, –Levels of authorization for data or procedural access, etc.

Software Compatibility Test Focus is compatibility with other products/systems in the environment and/or with interoperability standards. May also concern source- or object-code compatibility with different operating environment versions. AKA compatibility/conversion testing when conversion procedures or processes are involved.

Software Compatibility Test Focus is compatibility with other products/systems in the environment and/or with interoperability standards. May also concern source- or object-code compatibility with different operating environment versions. AKA compatibility/conversion testing when conversion procedures or processes are involved.

Software Compatibility Test Focus is compatibility with other products/systems in the environment and/or with interoperability standards. May also concern source- or object-code compatibility with different operating environment versions. AKA compatibility/conversion testing when conversion procedures or processes are involved.

Device and Configuration Test Focus is configurability for, and/or compatibility with, all supported hardware configurations. Particularly taxing for client/server- based applications… Tests are usually limited to combinations of ‘‘representative’’ devices for each supported protocol.

Device and Configuration Test Focus is configurability for, and/or compatibility with, all supported hardware configurations. Particularly taxing for client/server- based applications… Tests are usually limited to combinations of ‘‘representative’’ devices for each supported protocol.

Device and Configuration Test Focus is configurability for, and/or compatibility with, all supported hardware configurations. Particularly taxing for client/server- based applications… Tests are usually limited to combinations of ‘‘representative’’ devices for each supported protocol.

Recovery Test Focus is ability to recover from exceptional conditions associated with hardware, software, or people. This can involve: –detecting exceptional conditions, –switch-overs to standby systems, –recovery of data, –maintaining audit trails, etc. May also involve external procedures such as storing backup tapes, etc.

Recovery Test Focus is ability to recover from exceptional conditions associated with hardware, software, or people. This can involve: –detecting exceptional conditions, –switch-overs to standby systems, –recovery of data, –maintaining audit trails, etc. May also involve external procedures such as storing backup tapes, etc.

Recovery Test Focus is ability to recover from exceptional conditions associated with hardware, software, or people. This can involve: –detecting exceptional conditions, –switch-overs to standby systems, –recovery of data, –maintaining audit trails, etc. May also involve external procedures such as storing backup tapes, etc.

Recovery Test Focus is ability to recover from exceptional conditions associated with hardware, software, or people. This can involve: –detecting exceptional conditions, –switch-overs to standby systems, –recovery of data, –maintaining audit trails, etc. May also involve external procedures such as storing backup tapes, etc.

Recovery Test Focus is ability to recover from exceptional conditions associated with hardware, software, or people. This can involve: –detecting exceptional conditions, –switch-overs to standby systems, –recovery of data, –maintaining audit trails, etc. May also involve external procedures such as storing backup tapes, etc.

Recovery Test Focus is ability to recover from exceptional conditions associated with hardware, software, or people. This can involve: –detecting exceptional conditions, –switch-overs to standby systems, –recovery of data, –maintaining audit trails, etc. May also involve external procedures such as storing backup tapes, etc.

Recovery Test Focus is ability to recover from exceptional conditions associated with hardware, software, or people. This can involve: –detecting exceptional conditions, –switch-overs to standby systems, –recovery of data, –maintaining audit trails, etc. May also involve external procedures such as storing backup tapes, etc.

Reliability Test Requirements may be expressed as: –the probability of no failure in a specified time interval, or as –the expected mean time to failure. Appropriate interpretations for failure and time are critical. Utilizes Statistical testing based on an operational profile.

Reliability Test Requirements may be expressed as: –the probability of no failure in a specified time interval, or as –the expected mean time to failure. Appropriate interpretations for failure and time are critical. Utilizes Statistical testing based on an operational profile.

Reliability Test Requirements may be expressed as: –the probability of no failure in a specified time interval, or as –the expected mean time to failure. Appropriate interpretations for failure and time are critical. Utilizes Statistical testing based on an operational profile.

Integration and Higher Level Testing Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 11