Download Types of Software Testing and more Slides Software Engineering in PDF only on Docsity! Levels of Testing •Component Testing (White Box) •Integration Testing •System Testing •Acceptance Testing Component Testing •Unit, module and program testing. •Searches for defect and verifies function of software items. • It includes database component, database tables, joins, views,procedure etc. Component Testing •Uses stubs and drivers. •A stub is called from the software component to be tested. •Driver call component to be tested. •Defect are fixed as soon as they found without formally recording incident. Integration Testing •It interfaces between component •Interaction to different parts to system such as OS, file system and hardware. •All program are integrated one by one and test is carried out after each step. •In this incremental approach, defect are found at early stage. Integration Testing
* Top-down Integration Test
* Bottom-up Integration Test
Top-Down Integration (cont’d) 3. Tests are run as each individual module is integrated. 4. On the successful completion of a set of tests, another stub is replaced with a real module 5. Regression testing is performed to ensure that errors have not developed as result of integrating new modules Problems with Top-Down Integration • Many times, calculations are performed in the modules at the bottom of the hierarchy • Stubs typically do not pass data up to the higher modules • Delaying testing until lower-level modules are ready usually results in integrating many modules at the same time rather than one at a time • Developing stubs that can pass data up is almost as much work as developing the actual module A B T1 T2 T3 A B C T4 T3 T2 T1 Top-down Testing Problems with Bottom-Up Integration • The whole program does not exist until the last module is integrated • Timing and resource contention problems are not found until late in the process Test Drivers Level N Level N-1 Level N-1 Level NLevel N Test Drivers Test Drivers Test Drivers Test Drivers Bottom-up testing System Testing •Concerned with behavior of whole product. •It includes risk analysis reports, system, functional, and SRS. •It check system to be delivered meets the specification and its purpose may be to find as many as defects. 17 Acceptance Testing ◼ When development organization completes development and bugs are removed then they moved to acceptance testing. ◼ It is based on ◼ User requirement ◼ System requirement ◼ Use cases ◼ Business process ◼ Risk analysis report Acceptance Testing ◼ It can following question ◼ Can the system be released? ◼ Has development meet requirement? Acceptance Testing ◼ It is validation type of testing ◼ Focuses on functionality and validating fitness for use. ◼ Performed by user and application manager. ◼ Operational acceptance test involves ◼ Backup/restore ◼ Data load ◼ Migration task ◼ Disaster recovery ◼ User management ◼ Maintenance task ◼ Periodic check of security vulnerability Acceptance Testing •Acceptance testing is a formal testing conducted to determine whether a system satisfies its acceptance criteria •There are two categories of acceptance testing: •User Acceptance Testing (UAT) •Business Acceptance Testing (BAT) 25 Acceptance Testing •Alpha Testing •Beta Testing or Field Testing 26 Acceptance Testing •Alpha Testing • Perform at development site. • A cross section of potential user and members of developer organization are involved. • Developer observe user and note problem. • It is also carried out by independent test team. 27