Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 92 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
92
Dung lượng
1,01 MB
Nội dung
Integration & System Testing 2 Contents Levels of Testing Integration Testing System Testing Additional System Test Categories 3 Levels of Testing 4 Levels of Testing Waterfall model Requirements Specification Preliminary Design Detailed Design Coding Unit Testing Integration Testing System Testing 5 Levels of Testing Unit testing Integration Testing System Testing Acceptance Testing Regression Testing 6 Unit testing Lowest Level of Testing Individual unit of the software is tested in isolation from other parts of a program What can be a unit? Function / method / module / class / component Screen / Program Back-end related to a Screen Screen + back end 7 Unit testing Uncover errors in design and implementation, including data structure in a unit program logic and program structure in a unit unit interface functions and operations of a unit Unit testers developers of the units 8 Integration Testing Intermediate level of testing Group of dependent components are tested together Test that evaluates the interaction and consistency of interacting components Uncover errors in: Design and construction of software architecture Integrated functions or operations at sub-system level Interfaces and interactions between them Resource integration and/or environment integration Integration testers either developers and/or test engineers 9 System Testing Test the whole system Test end to end functionality Testing against complete requirement Requirement focus Test cases derived from specification System testers test engineers 10 Acceptance Testing User (or customer) involved Environment as close to field use as possible Focus on: Building confidence Compliance with defined acceptance criteria in the contract [...]... SATM 16 Example: SATM 17 Integration Testing 18 Goals of Integration Testing Presumes previously tested units Not system testing (at level of system inputs and outputs) Tests functionality "between" unit and system levels Simulation of other components/units Stubs receive output from test objects Drivers generate input to test objects 19 Approaches to Integration Testing Based on Functional... Sandwich Pair-wise integration Neighborhood integration Based on Paths MM-Paths Atomic System Functions 20 Integration Testing Based on Functional Decomposition SATM Functional Decomposition Tree 21 Approaches to Integration Testing Based on Functional Decomposition Based on Call Graph Big Bang Top-Down Bottom-Up Sandwich Pair-wise integration Neighborhood integration Based on...Regression Testing Testing activities occur after software changes Regression testing usually refers to testing activities during software maintenance phase Retest changed components (or parts) Check the affected parts (or components) Who perform regression testing Developers - regression testing at the unit level or integration Test engineers - regression testing at the function... IS4 + 10 … 31 Sandwich Integration Combination of top-down and bottom-up integration 32 Integration Testing Based on Call Graph 5 1 7 20 21 9 22 16 4 10 13 12 11 17 18 19 23 24 26 14 15 6 8 27 2 25 3 33 Approaches to Integration Testing Based on Functional Decomposition Based on Call Graph Big Bang Top-Down Bottom-Up Sandwich Pair-wise integration Neighborhood integration Based on... engineers - regression testing at the function level QA and test engineers - regression testing at the system level 11 Example: SATM Simple Automatic Teller Machine (SATM) reduced commercial ATM system hundreds of screens Has 15 screens Used to illustrate some testing approaches Integartion testing, system testing 12 Example: SATM Decomposed by screens screen1... Drivers are removed and clusters are combined moving upward in the program structure Pros and cons of bottom-up integration: no stubs cost need test drivers no controllable system until the last step 29 Bottom-up Integration 30 Bottom-up integration Steps to test (IS : Integrated System) Step 1: IS1 = 2 + 3 +4 (drivers: D’) Step 2: IS1 = IS1 + D (drivers: A’) Step 3: IS2 = 5... Neighborhood integration Based on Paths MM-Paths Atomic System Functions 34 Pair-wise Integration Eliminate the stub/driver development effort Instead, use the actual code sounds like big bang integration but restrict a session to just a pair of units in the call graph one integration test session for each edge in the call graph 35 Pair-wise Integration 5 1 7 20 21 9 22 16 4 10 13 12 11 17 18... set of tests, another stub is replaced with the real module 5 Regression testing may conducted Pros and cons top-down integration stub construction cost major control function can be tested early 25 Top-down integration 26 Top-down integration Steps to test (IS : Integrated System) Step 1: IS = 1 + A (stubs: D’, E’, 10’, B’, C’) Step 2: IS = IS + 10 (stubs: D’, E’, 10’, B’, C’, 11’,... integration Neighborhood integration Based on Paths MM-Paths Atomic System Functions 22 Big bang Integration Combine (or integrate) all parts at once Advantages simple Disadvantages hard to debugging, not easy to isolate errors not easy to validate test results impossible to form an integrated system 23 Top-down integration Begins with the main program (the root of the tree) Needs... IS + D (stubs: E’, 10’, 11’, 12’, 13’, 14’, 15’, 16’, 17’, F’, 22’, 2’, 3’, 4’) Step 6: … 27 Bottom-up Integration Starts with the leaves of the decomposition tree Then by moving upward through the control structure Needs the drivers generate input to test objects 28 Bottom-up Integration Integration process: 1 2 3 4 Low-level modules are combined into clusters that perform a specific software . Design Coding Unit Testing Integration Testing System Testing 5 Levels of Testing Unit testing Integration Testing System Testing Acceptance Testing Regression Testing 6 Unit testing Lowest. Integration & System Testing 2 Contents Levels of Testing Integration Testing System Testing Additional System Test Categories 3 Levels of Testing 4 Levels of Testing . SATM 18 Integration Testing 19 Goals of Integration Testing Presumes previously tested units Not system testing (at level of system inputs and outputs) Tests functionality "between"