Testing is not a stand-alone activity. It has its place within a software development life cycle model and therefore the life cycle applied will largely determine how testing is organized.
There are many different forms of testing. Because several disciplines, often with different interests, are involved in the development life cycle, it is important to clearly understand and define the various test levels and types. This chapter discusses the most commonly applied software development models, test levels and test types. Maintenance can be seen as a specific instance of a development process. The way maintenance influences the test process, levels and types and how testing can be organized is described in the last section of this chapter.
2. TESTING THROUGHOUT SOFTWARE
LIFECYCLE
• TESTING IN SOFTWARE DEVELOPMENT
• TESTING AND DEVELOPMENT
• THE WATERFALL MODEL
• THE V-MODEL
• THE W-MODEL
• THE V&V IN THE W-MODEL
• TEST LEVELS
• TEST TYPES
3. TESTING IN SOFTWARE DEVELOPMNET
• DURING DEVELOPMENT
- RIGOROUS TESTING OF SYSTEM AND DOCUMENTATION CAN HELP TO INCREASE QUALITY AND REDUCE RISK
- RISK CAN BE REDUCED IF DEFECTS ARE FOUND AND CORRECTED BEFORE SYSTEM IS RELEASED
• DURING SYSTEM OPERATION
- TESTING IS NECESSARY DURING SYSTEM OPERATION TO DETECT NEW DEFECTS
• IN GENERAL
- TESTING MAY ALSO BE REQUIRED TO MEET LEGAL REQUIREMENTS AND INDUSTRY-STANDARDS
- TESTING IS MANDATED BY ALL QUALITY STANDARDS (ISO 9000) AND SW DEVELOPMENT STANDARDS (CMMI)
5. TESTING AND DEVELOPMENT
• TESTING IS NOT ISOLATED, TEST ACTIVITIES ARE RELATED TO SOFTWARE DEVELOPMENT ACTIVITIES.
• SOFTWARE DEVELOPMENT LIFE CYCLE MODELS DESCRIBE:
- PHASES OF SOFTWARE DEVELOPMENT LIFE CYCLE.
- THE ORDER IN WHICH THOSE PHASES ARE EXECUTED
• DIFFERENT LIFECYCLE MODELS NEEDDIFFERENT APPROACHES OF TESTING
7. THE WATERFALL MODEL
• THE WATERFALL MODEL IS THE CLASSIC AND MOST COMMON SOFTWARE DEVELOPMENT LIFE CYCLE
MODEL
• EACH PHASE MUST BE COMPLETED IN ITS ENTIRETY BEFORE THE NEXT PHASE CAN BEGIN
• ONE OF THE INHERENT DANGERS OF THE WATERFALL MODEL IS THAT IT CLEARLY SHOWS THAT TESTING
ONLY HAPPENS AFTER CODING IS COMPLETED
12. THE V-MODEL
• THE V-MODEL INCLUDES FOUR TESTING LEVELS CORRESPONDING GO FOUR DEVELOPMENT LEVELS
• DEVELOPMENT WORK PRODUCTS (UCS, SRS, SDD,….ETC) ARE THE BASIS FOR TESTING
• TEST PREPARATION IS NOT ON THE CRITICAL PATH OF THE PROJECT
• V-MODEL IS A WATERFALL MODEL . HOWVER, ORGANIZATIONS ADAPT IT TO ITERATIVE AND AGILE TESTING
16. TESTING THROUGHOUT SOFTWARE
LIFECYCLE
• TESTING IN SOFTWARE DEVELOPMENT
• TESTINF AND DEVELOPMENT
• THE WATERFALL MODEL
• THE V-MODEL
• THE W-MODEL
• THE (V&V) IN THE W-MODEL
17. THE V&V IN THE W-MODEL
• VERIFICATION
- “ARE WE BUILDING THE SYSTEM RIGHT”?
- THE PROCESS OF EVALUATING A SYSTEM OR COMPONENT
• VALIDATION
- “ARE WE BUILDING THE RIGHT SYSTEM”?
- DETERMINATION OF THE CORRECTNESS OF THE PRODUCTS OF SOFTWARE DEVELOPMENT WITH RESPECT TO THE USER NEEDS AND
REQUIRMENTS
• EARLY TESTING
- DISCOVERING DEFECT IN SYSTEM SPECIFICATION AND SESIGN
- EARLY TESTING IMPROVES SYSTEM ANALYSIS AND DESIGN AND DEFECTS FOUND THERE IS MUCH MORE CHEAPER AND EASIER TO FIX
18. TESTING THROUGHOUT SOFTWARE
LIFECYCLE
• TESTING IN SOFTWARE DEVELOPMENT
• TESTINF AND DEVELOPMENT
• THE WATERFALL MODEL
• THE V-MODEL
• THE W-MODEL
• THE (V&V) IN THE W-MODEL
• TEST LEVELS
20. TEST LEVELS
• COMPONENT TESTING
- TESTING OF INDIVIDUAL ITEMS (E.G. MODULES, PROGRAMS, OBJECTS, CLASSES, ETC)
- SEARCHES FOR DEFECTS IN, AND VERIFIES THE FUNCTIONING OF SOFTWARE THAT ARE SEPARATELY TESTABLE
- USUALLY AS PART OF THE CODING PHASE, IN ISOLATION FROM OTHER DEVELOPMENT ITEMS AND THE SYSTEM
AS A WHOLE
21. TEST LEVELS
• INTEGRATION TESTING
- TESTING THE INTERFACES BETWEEN MAJOR AND MINOR ITEMS WITHIN AN APPLICATION WHICH MUST
INTERACT WITH EACH OTHER
- MAY INCLUDE NON-FUNCTIONAL ELEMENTS (PERFORMANCE)
- FOCUSES ON THE INTEGRATION ITSELF NOT THE FUNCTIONALITY
- INTEGRATION LEVELS
~ COMPONENT INTEGRATION
~ SYSTEM INTEGRATION
22. TEST LEVELS
• INTEGRATION TESTING
- INTEGRATION TESTING FOLLOWS THE FOLLOWING APPROACHES
SYSTEM ARCHITECTURE ( SUCH AS TOP-DOWN AND BOTTOM-UP)
FUNCTIONAL TASKS, TRANSACTION PROCESSING SEQUENCES, IN ORDER TO REDUCE THE RISK OF LATE DEFECT
DISCOVERY, INTEGRATION SHOULD NORMALLY BE INCREMENTAL RATHER THAN “BIG BANG”
23. TEST LEVELS
• SYSTEM TESTING
- ALL TYPES OF TESTING TO BE CARRIED OUT ONCE A WHOLE SYSTEM HAS FINISHED DEVELOPMENT AND CAN BE
TESTED AS A COMPLETE ENTITY
- CARRIED BY INDEPENDENT TEST TEAM
24. TEST LEVELS
• ACCEPTANCE TESTING
- ALL TYPES OF TESTING TO BE CARRIED OUT TO ENSURE A DEVELOPMENT IS READY TO BE DEPLOYED INTO THE
BUSINESS, OPERATIONAL OR PRODUCTION ENVIRONMENT
- TYPES OF ACCEPTANCE TESTING
USER ACCEPTANCE TESTING (UAT). (FITNESS FOR USE)
OPERATIONAL (ACCEPTANCE) TESTING. (BACKUP/RESTORE)
CONTRACT & REGULATION ACCEPTANCE TESTING. (DEAL , LEGAL)
ALPHA AND BETA (OR FIELD) TESTING
25. TESTING THROUGHOUT SOFTWARE
LIFECYCLE
• TESTING IN SOFTWARE DEVELOPMENT
• TESTINF AND DEVELOPMENT
• THE WATERFALL MODEL
• THE V-MODEL
• THE W-MODEL
• THE (V&V) IN THE W-MODEL
• TEST LEVELS
• TEST TYPES
26. TEST TYPES
Functional
• “What” the system does
• Drawn from requirements & specifications
Non-
Functional
• Performance, Load, Stress, Usability
• Maintainability, Portability
Structural
• White Box Testing
• Performed at all levels
Related to
Changes
• Re-Testing
• Regression Testing
27. REFERENCE
GRAHAM, D., ET AL. 2006. FOUNDATIONS OF SOFTWARE TESTING: ISTQB CERTIFICATION LONDON, UK:
INTERNATIONAL THOMSON BUSINESS PRESS.
http://www.uin-suska.ac.id/ http://sif.uin-suska.ac.id/ http://fst.uin-suska.ac.id/