Software Testing Introduction. Agenda Software Testing Definition Software Testing Objectives Software Testing Strategies Software Test Classifications.

Slides:



Advertisements
Similar presentations
Software Testing. Quality is Hard to Pin Down Concise, clear definition is elusive Not easily quantifiable Many things to many people You'll know it when.
Advertisements

System/Software Testing Error detection and removal determine level of reliability well-planned procedure - Test Cases done by independent quality assurance.
Software Quality Assurance Plan
Software Testing 3 Damian Gordon.
OHT 9.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Definitions and objectives Software testing strategies Software test.
Integration and System Testing CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March 29, 2007.
Software Testing and Quality Assurance
OHT 9.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Definitions and objectives Software testing strategies Software test.
1 Software Testing and Quality Assurance Lecture 30 - Introduction to Software Testing.
Illinois Institute of Technology
Outline Types of errors Component Testing Testing Strategy
Software Process and Product Metrics
Introduction to Software Testing
Software Testing & Strategies
Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt.
SOFTWARE QUALITY ASSURANCE Maltepe University Faculty of Engineering SE 410.
Software System Integration
BY RAJESWARI S SOFTWARE TESTING. INTRODUCTION Software testing is the process of testing the software product. Effective software testing will contribute.
Quality of Information systems. Quality Quality is the degree on which a product satifies the requirements Quality management requires that : that requirements.
Chapter 10.
System Implementation. System Implementation and Seven major activities Coding Testing Installation Documentation Training Support Purpose To convert.
… and after unit testing …
CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System.
Managing Software Quality
Software Testing. Introduction Testing is often left to the end of the project which is generally not a good idea. Testing should be conducted throughout.
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore.
CPIS 357 Software Quality & Testing
Software Testing.
RUP Implementation and Testing
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Quality Control Project Management Unit Credit Value : 4 Essential
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
INT-Evry (Masters IT– Soft Eng)IntegrationTesting.1 (OO) Integration Testing What: Integration testing is a phase of software testing in which.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Ch6: Software Verification. 1 Decision table based testing  Applicability:  Spec. is described by a decision table.  Tables describe:  How combinations.
Software Testing Testing types Testing strategy Testing principles.
Software Development Software Testing. Testing Definitions There are many tests going under various names. The following is a general list to get a feel.
System Test Methods TESTTEME The Test Challenge Bottom Up Testing Strategy Integration Test System Test Types of Testing Unit Test = Code-based Testing.
Unit Testing 101 Black Box v. White Box. Definition of V&V Verification - is the product correct Validation - is it the correct product.
 System Development Life Cycle System Development Life Cycle  SDLC Phases SDLC Phases Phase 1: Preliminary Investigation Phase 2: Feasibility Study.
OHT 1.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The uniqueness of software quality assurance The environments for which.
Sylnovie Merchant, Ph.D. MIS 161 Spring 2005 MIS 161 Systems Development Life Cycle II Lecture 5: Testing User Documentation.
1 Chapter 3 1.Quality Management, 2.Software Cost Estimation 3.Process Improvement.
Software quality factors
Systems Development Life Cycle
Software Engineering 2004 Jyrki Nummenmaa 1 BACKGROUND There is no way to generally test programs exhaustively (that is, going through all execution.
Software Testing White Box Testing. Agenda What is White Box Testing Correctness Tests and Path Coverage Correctness Tests and Line Coverage McCabe Cyclomatic.
SEN 460 Software Quality Assurance
LECTURE 19 23/11/15 Software Quality and Testing.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Software Testing and Quality Assurance 1. What is the objectives of Software Testing?
CSC 480 Software Engineering Test Planning. Test Cases and Test Plans A test case is an explicit set of instructions designed to detect a particular class.
Integration testing Integrate two or more module.i.e. communicate between the modules. Follow a white box testing (Testing the code)
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
What is a level of test?  Defined by a given Environment  Environment is a collection of people, hard ware, software, interfaces, data etc.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Software Engineering Lecture 8: Quality Assurance.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
SOFTWARE TESTING. SOFTWARE Software is not the collection of programs but also all associated documentation and configuration data which is need to make.
Tool Support for Testing Classify different types of test tools according to their purpose Explain the benefits of using test tools.
Chapter 8 Testing the Programs 8.1 Software Faults and Failures 1. Introduction  faults: A: definition: the problem caused by error B: cause: X: the software.
CHAPTER 9 - PART 1 Software Testing Strategies. Lesson Outlines Definitions and objectives Software testing strategies Software test classifications White.
ANOOP GANGWAR 5 TH SEM SOFTWARE TESTING MASTER OF COMPUTER APPLICATION-V Sem.
CHAPTER 9 - PART 2 Software Testing Strategies. Lesson Outlines ■ White box testing – Data processing and calculation correctness tests – Correctness.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Software Quality Control and Quality Assurance: Introduction
Software Quality Assurance Software Quality Factor
Software Quality Assurance
Thursday’s Lecture Chemistry Building Musspratt Lecture Theatre,
Software life cycle models
Presentation transcript:

Software Testing Introduction

Agenda Software Testing Definition Software Testing Objectives Software Testing Strategies Software Test Classifications According to testing concept According to requirements 2

Software Testing: Definition “ Testing is the process of executing a program with intention of finding error ”. What is Testing?  It is a formal process  Performed by specialized testing teams  Either a unit / integrated units / complete software is examined  By running the programs on a computer  Performed by approved test procedures  On approved test cases 3

Formal: Part of the development & quality plan. Included within the agreement signed by the customer. Specialized Teams: Independent teams or external consultants are hired to perform the task.  They are specialists.  They are unbiased (no favorites)  Results are poor if developers perform themselves Running the program: Quality assurance without program execution is not testing (it can be inspection, walkthrough, review ….) Approved test procedures: They should be approved and in-line with the test plan. Approved test cases: Should be defined in the test plan completely. Nothing should be added or removed from the approved cases. Software Testing: Definition 4

Direct Objectives  Identify and reveal as many errors as possible  Make the software of acceptable quality by removing the errors and retesting.  Perform the test effectively and efficiently within budget and schedule constraints. Indirect Objectives  Compile a record of software errors for use in error prevention in future. Software Testing: Objectives 5

Two basic strategies – common for all test frameworks  Big-Bang Testing : To test the software the package entirely once the complete package is available  Incremental Testing: To test the software in modules ( unit tests ), then test groups of units integrated with new components ( integration tests ). Repeat until the complete software is done and test again ( system tests ). Software Testing: Strategies 6

 Top-down Testing: The first module tested is the main module. The lowest level modules are tested last Incremental Testing Strategy 7 M11 M9 M10 M8 M6M7 M1M2 M3 M4 M5 Integration A Integration B Integration C Integration D Stage 1 Stage 2 Stage 3 Stage 4 Stage 5 Stage 6

 Bottom-up Testing : The lowest level modules are tested first and main module is tested last Incremental Testing Strategy 8 M11 M9 M10 M8 M6M7M1M2 M3 M4 M5 Integration A Integration B Integration C Stage 1 Stage 2 Stage 3 Stage 4

Stubs  Dummy module – If a upper level module is not available (not yet developed) for testing. Used in botto-up testing. Software Testing: Strategies 9 M9 M8 M1M2 Stubs

Drivers  Dummy module – If a lower level module is not available (not yet developed) for testing. Used in top-down testing. Software Testing: Strategies 10 M9 M8 M1M2 Drivers

Recommendations  Maintain a library of stubs and drivers – for quick access  Bottom-up strategy  + Ease of performance  - Lateness – whole program is observed  Top-down strategy  + Complete program activated after the main module is tested  + Early identification of analysis and design errors  - Difficult to prepare the stubs  - Difficult to analyze the results of the tests Software Testing: Strategies 11 Finally, depends on the developer which strategy to choose

 Big-bang strategy  + Works well with small and simple programs  - Identification of error is very difficult task  Top-down strategy  + Easier to find high percentage of errors – unit / integration tests  + Identification and correction of errors is easier – requires less resources  - A lot of programming resources are required  - A lot of testing operations required (big-bang has only one) Software Testing: Strategies 12 Incremental is the preferred to choice

 Black-box (functionality) testing  Ignores internal mechanism of the system and is based on the outputs generated in response to the selected input and conditions.  To evaluate the compliance of a system / component to specified functional requirements  White-box testing  Internal mechanism is taken into account Test Classification: Testing Concept 13

 McCall Model for Quality Requirements Classification Test Classification: Requirements 14 1.Output correctness tests 2.Documentation tests 3.Availability (reaction time) tests 4.Reliability tests 5.Stress tests (load tests and durability tests) 6.Software system security tests 7.Training usability tests 8.Operational usability tests 9.Maintainability tests 10.Flexibility tests 11.Testability tests 12.Portability tests 13.Software interoperability tests 14.Equipment interoperability tests Correctness Efficiency Integrity Usability Interoperability