TEST TORG SoftwareTest Organisation The role of testing in the software life cycle Verification and Validation Goals of Testing Test work distribution Test Responsibilities The Developer as a Tester The End User as a Tester The Analyst as a Tester The Tester in the Team The internal Test Team The external Test Factory Test Responsibility in small projects Test Responsibility in a middle sized project Test Responsibility in a large project One Level Test Organization Two Level Test Organization Three Level Test Organization Four Level Test Organization n im GEOS Test Environment Test Activities Testing semantic levels against each other Test Principles The Test Equation The Test Project 1 13 2 14 3 15 4 16 5 17 6 18 7 19 8 20 9 21 10 22 11 23 12 24
TEST TORG-1 The Role of Testing in the Software Life Cycle Project Request Requ docu Requ analysis System test System Test docu. Requ-based Test cases Design docu. System design Integra- tion test Integration Test docu Data-based Test cases Module specs. Module design Module test Module Test docu. Code-based Test cases Code Coding Debugging Code Docu.
TEST TORG-2 Verification und Validation Problem Verification = the System is true, i.e. The System was made right Validation = the System fits the purpose The right system was made. Verification Validation Requirements Funktional analysis Structural analysis Specification Solution Form Content Actual Construction = specified Construction Actual performance = required Performance
TEST TORG-3 Goals of Testing 1. Testing is the empirical approach to finding defects in a software system. Testing has two major goals: to find defects before the user does to gain trust in the system The attainment of the first goal can only be measured in terms of the number of defects found relative to the number of defects in the system. The attainment of the second goal can be measured in terms of the test coverage, the higher the test coverage, the greater the trust in the system. These two questions give way to two further questions: how many defects does a system have? what should be covered in a system? 2. 3. 4. 5.
TEST TORG-4 Test Work Distribution Developer Unit Test (White Box) Developer/Tester Team Units Procedures,Modules,Subroutines,Classes Integration Test (Grey Box) Components Tester Packages, Interfaces, Files/Tables Subsystems System System Test (Black Box) User Interfaces System Interfaces, Databases
TEST TORG-5 Test Responsibilities W h o s h o u l d b e r e s p o n s i b l e f o r t e s t i n g ? Potential Candidates The Developers themselvesThe UsersThe Analysts The Tester in the TeamAn internal Test TeamAn external Test Lab
TEST TORG-6 The Developer as a Tester Self Control Developer Controller Shiciophronia Alternative: Pair Programming = Mutual control
TEST TORG-7 The End User as Tester User Department or User Representative Development Team Test data Live DataData Samples Test Results
TEST TORG-8 The Analyst as a Tester User Department Analyst Requirement Docu Test Specification Test Data Test Documentation Test Objects Development Team
TEST TORG-9 The Tester in the Team Project Leader Integrated Tester Tester System Architect Developer Developer Developer
TEST TORG-10 The Internal Test Team Project Office Anforderungen Design Team Test Team Test Results Developer Team Developer Team Developer Team
TEST TORG-11 The external Test Lab Code Components Code Components Code Components Error Reports Developers develop and test their Components Testers integrate components and test the System
TEST TORG-12 Test Responsibility in a small Project Developer Developer Developer Module Module Module Developer as Tester System
TEST TORG-13 Test Responsibility in a middle sized Project Developer Developer Developer Developer Modules Modules Modules Modules Tester In the Team System
TEST TORG-14 Test Responsibility in a large Project Development Team Development Team Development Team Development Team Components Components Components Components Test Team System
TEST TORG-15 One Level Test Organization Developers and Testers are together in one Team The developers code and the testers test.
TEST TORG-16 Two Level Test Organization Analyst s and Users System Test Requirement Specs Components Technical Test Cases Error Reports Developers Unit Test & Integration Test
TEST TORG-17 Three Level Test Organization Analysts Requirement Specs Error Reports Logical Test Cases Test Docus Developers Unit Test & Integration Test Components Technical Test Cases Error Reports Testers Integration Test & System Test
TEST TORG-18 Four Level Test Organization Requirements 1 n Analysts n 1 System Design n 1 n 1 Designers stated implementedby implements n 1 implied Code Components Tests testedby derived n 1 Developers Tests tested_by 1 1 n n System Test Cases Testers 4-Layer GEOS Project Organization
TEST TORG-19 Test Environment Acceptance Test Test Process Test strategy System test Integration test Test methods Unit test Test Procedures TestLevels Test Tools Batch Online Distributed Internet Test Environments
TEST TORG-20 Test Activities Test planning Test execution Test evaluation Test documentation Test Evaluation Test Planning Test Execution Test Documentation Interconnection between test activities
TEST TORG-21 Testing semantic Software Levels against each other Integration Test Unit Test R: Requirements D: Design C: Code D/C R/D Soll Soll Ist Ist Ist C/C R/R D/D R/C System Test In the Unit Test the Code (C) is compared with the Design (D). In the Integration Test the Design (D) is compared with the Requirements . In the System Test the Code (C) is checked against the Requirements (R).
TEST TORG-22 Test Principles Principle of Decomposition: The whole is tested by testing all the parts and all relationships between the parts. Principle of Repetition: Every test must be repeatable. Principle of Measurability: Software behavior must be measurable on a numeric scale Principle of Infinity: An infinite test is not a valid test. Principle of Functional completeness: Every Function in a System has a purpose and must be tested against that purpose. Principle of Redundancy: A redundant test case adds no value to the test Principle of Test Environment: The environment of a system ist part of the system test.
TEST TORG-23 The Test Equation Testen = Test Strategy + Test Method + Test Tools + Test Organisation + Test Audit Without a Strategy a test is not oriented. Without a Method the test is not effective. Without a Tool the test is not efficient. Without an organization the test is not controllable. Without an audit the test is not reliable.
TEST TORG-24 The Testprojekt Requirements analysis Business Modelling Requirement Specification Test Design Test Specification Test Preparation Test Execution Test Evaluation Development Project Test Project ParallelProjects Software