Thomas L. Gilchrist Testing Basics Set 3: Testing Strategies By Tom Gilchrist Jan 2009
Thomas L. Gilchrist Testing Strategy
Thomas L. Gilchrist Testing Strategy The basis for the entire testing effort. It should be developed for each project.
Thomas L. Gilchrist Test Strategy Questions Who will conduct testing? What type of project? What type of software? When will testing occur? What are the tradeoffs? What is the project’s scope? What are the Critical Success Factors?
Thomas L. Gilchrist 1. Types of Projects …different approaches… …combinations of approaches...
Thomas L. Gilchrist Types of Projects Traditional System Development Client / Server Interative Development / Prototyping / CASE Object Oriented System Maintenance / Legacy Systems Purchased/Contracted Software (COTS)
Thomas L. Gilchrist 2. Types of Software …characterized by use...
Thomas L. Gilchrist Types of Software Batch Process Control Graphical User Interface Object Oriented Event Control Procedure Control Expert Systems Multimedia Advanced Mathematical Models Message Processing Diagnostic Software Sensor and Signal Processing
Thomas L. Gilchrist Types of Software Simulation Data Base Management Data Acquisition Data Presentation Decision and Planning Aids Pattern and Image Processing Computer system software Software development tools
Thomas L. Gilchrist Special Considerations for Testing GUI Applications Client Server Systems Legacy Systems (Object Oriented Systems)
Thomas L. Gilchrist Client / Server Testing …Risks… …special considerations...
Thomas L. Gilchrist Personal Computing
Thomas L. Gilchrist Mainframe Computing Mainframe in a Data Center Data Entry Terminals
Thomas L. Gilchrist Client/Server…Distributed Computing Server Client Network
Thomas L. Gilchrist Client / Server Risks Organization not ready for technology Inadequate server procedures Improper application selection Inadequate client processing methods Inadequate interface procedures Lack of consistency in processing Improper data usage
Thomas L. Gilchrist Client / Server Risks Inadequate security Lack of integration Inadequate client / server administration
Thomas L. Gilchrist Client / Server Considerations Control Complexity Rapid Development Timeframes New Skills Required Higher Level of User Involvement
Thomas L. Gilchrist Legacy Systems …maintenance techniques...
Thomas L. Gilchrist Legacy System Testing Considerations Large, complex programs –Decide what to test Incomplete System Documentation –System requirements –User manuals –System design documentation –Procedure manuals Continuous maintenance –Regression testing requirement
Thomas L. Gilchrist 3. What is Project’s Scope? …delimits testing efforts...
Thomas L. Gilchrist Project Scope Which Processes? Interfaces? Other Systems? Manual Processes? System Test Boundary System Under Test
Thomas L. Gilchrist Project Scope Considerations Scope of new systems development –Automating manual business process? –Which business processes will/will not be affected? –Which business areas will/won’t be affected? –Interfaces to existing systems? –Existing systems will/won’t be affected?
Thomas L. Gilchrist Project Scope Considerations Scope of changes to existing systems- –Corrective only? –Maintenance reengineering standards? –Fix to known latent defects in addition to enhancements? –Other systems affected? –Risk of regression?
Thomas L. Gilchrist 4. When will testing occur? …life cycle phase...
Thomas L. Gilchrist Test Process “V” Diagram Business Need Define Requirements Design System Build System Acceptance Test System Test Integration Test Unit Test
Thomas L. Gilchrist Test Process “V” Diagram Business Need Define Requirements Design System Build System Verify Acceptance Test System Test Integration Test Unit Test Verify Validate Validates
Thomas L. Gilchrist Test Process “V” Diagram Business Need Define Requirements Design System Build System Verify Acceptance Test System Test Integration Test Unit Test Verify Validate Validates Test Planning Test Objectives Test Execution (Static) Test Execution (Dynamic) & Test Reporting
Thomas L. Gilchrist Test Terms Functional –what a system does –based on external test cases Black Box Testing –without the knowledge of how system is constructed –data driven
Thomas L. Gilchrist Functional or Black Box Testing ActionActual ResultExpected Result Data InData OutputExpected Data Output 2+2=
Thomas L. Gilchrist Test Terms Structural Testing –what a system is –based on internal program logic or –based on system architecture White/Glass Box Testing –testing based on knowledge of internal structure or logic. Usually logic driven.
Thomas L. Gilchrist Structural or White Box Testing Logical Test Cases Perform Test Logic Works? If X = curr-date then set next_val to 03 else set next_val to 05
Thomas L. Gilchrist Functional AND Structural testing is needed to effectively test systems.
Thomas L. Gilchrist When will testing occur? Testing should occur throughout life cycle Requirements Phase Activities –Determine test strategy –Determine adequacy of requirements –Generate functional test conditions Design Phase Activities –Determine consistency of design with requirements –Determine adequacy of design –Generate structural and functional test conditions
Thomas L. Gilchrist When will testing occur? Build Phase Activities –Determine consistency with design –Determine adequacy of implementation –Generate structural and functional test conditions for programs / units Test Phase activities –Determine adequacy of test plan –Test application system
Thomas L. Gilchrist When will testing occur? Installation Phase Activities –Place tested system into production Maintenance Phase Activities –Modify and retest
Thomas L. Gilchrist Prototyping Considerations Requirement Gathering Quick Design Build Prototype Evaluate and Refine Requirement Engineer Product
Thomas L. Gilchrist Prototype Testing / Timing Focus on the nature of changing requirements and assumptions Carefully track revisions Remember after prototyping comes construction- and traditional forms of testing still occur.
Thomas L. Gilchrist 5. Critical Success Factors …what defines success...
Thomas L. Gilchrist Critical Success Factors Correctness Authorization Data Integrity Audit Trail Continuity of Processing Service Levels Access Control Methodology
Thomas L. Gilchrist Critical Success Factors Reliability Ease of Use Maintainable Portable Coupling Performance Ease of operations