Presentation is loading. Please wait.

Presentation is loading. Please wait.

Levels of Software Applications Up to now we have focused on testing techniques at the unit (or program) level. In any medium to large software systems,

Similar presentations


Presentation on theme: "Levels of Software Applications Up to now we have focused on testing techniques at the unit (or program) level. In any medium to large software systems,"— Presentation transcript:

1 Levels of Software Applications Up to now we have focused on testing techniques at the unit (or program) level. In any medium to large software systems, there are many programs (sometimes thousands) that formulate various levels of functions - to components - to a complete application. For example a typical ERP (Enterprise Resource Processing) package such as SAP or PeopleSoft or CRM may be composed of multiple layers of application: – A comprehensive ERP package to satisfy a wide range of requirements contains Human Resource –Benefits management –Payroll Manufacturing –Production Planning and Scheduling –Inventory Distribution –Warehouse management –Logistics Financial.

2 Levels of Testing Testing at the program unit level is not enough to handle medium and large software systems. The different levels of software must be integrated and tested step-by-step - - - until the complete package is integrated and tested as a whole system: 1.Integration Test (Functional or higher Component level) monthly pay computation for regular employees, not including direct bank deposit or check printing - (“big” functional level) Complete Payroll - (“very big functional” or component level) Complete Human Resource - (“big component” or system level) 2.System Test (component or complete system level) Human resource - (“big component” or system level) Manufacturing - (“big component” or system level) Manufacturing and Finance - (Integrated system level) Complete ERP - (“very large” Integrated system level)

3 The Effects of Software Process to Testing Software process which develops a software by increments (e.g. any “Agile” or incremental development process) will naturally need to consider integration and system testing techniques: 1.Incremental development, where the design of the whole software is developed by parts (possibly in parallel), must be coded and tested separately and then integrated together and retested. 2.Evolutionary development, where a) small, but well understood, part of the software is first designed, coded and tested & b) with additional parts developed later; must perform “continuous integration” and testing of the software 3.Spiral development, where pieces of software evolve through planning, risk assessment, design, coding, and testing, must integrate and retest as the pieces are accumulated. 4.Prototype specification based and Agile process based, where the software or parts of the software are specified, prototyped and developed separately, must integrate and test these separately “specified” and separately developed software. Agile (any incremental) development methodology also requires a good code Configuration Management system.

4 Integration and System tests 1.Integration test can be helped with insights to the “structural” design of the software. –Which are the pieces ? - would help us decide what pieces need to be tested –How are the pieces put together? - would help us decide where the “linkages” or couplings are and where the test focus points are. 2.System test can be helped with insights to the “behavior” or “functional behavior” of the software as specified in the requirements –Given (a) some pre-conditional state and (b) some input or stimuli what should the i) output be and ii) the post-conditional state be.

5 Different Levels of Testing Program unit A Program unit B Program unit T...... Function 1 Function 2 Function 8.... Component 1 Whole System Component 3. Unit Testing Functional TestingComponent Testing System Testing Can we really keep the levels this simple? Integration Testing

6 Using Configuration Management tool Naming Convention and Promotion Policies are needed along with Configuration Management tool –There must be a clear rule about promoting the artifact from one stage of development / test to another. –Once the artifact is promoted to a certain stage, it is locked at that stage. –It is also important to promote related artifacts such as code, help text and test cases.... Unit-tested Private Copies Formally Inspected Functionally Tested Integration & System Tested Golden Copy promote


Download ppt "Levels of Software Applications Up to now we have focused on testing techniques at the unit (or program) level. In any medium to large software systems,"

Similar presentations


Ads by Google