Static Testing Static testing refers to testing that takes place without Execution - examining and reviewing it. Dynamic Testing Dynamic testing is what.

Slides:



Advertisements
Similar presentations
Defect testing Objectives
Advertisements

การทดสอบโปรแกรม กระบวนการในการทดสอบ
Lecture 8: Testing, Verification and Validation
1 Integration Testing CS 4311 I. Burnstein. Practical Software Testing, Springer-Verlag, 2003.
Testing and Quality Assurance
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
CMSC 345, Version 11/07 SD Vick from S. Mitchell Software Testing.
Informatics 43 – April 30, What is a test case? An input to a system, and the correct output. An “input” may be complex. Example: – What is an input.
Illinois Institute of Technology
CS 425/625 Software Engineering Software Testing
Testing an individual module
Outline Types of errors Component Testing Testing Strategy
Software Testing & Strategies
BY RAJESWARI S SOFTWARE TESTING. INTRODUCTION Software testing is the process of testing the software product. Effective software testing will contribute.
Chapter 13 & 14 Software Testing Strategies and Techniques
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
System/Software Testing
Software Testing. Recap Software testing – Why do we do testing? – When it is done? – Who does it? Software testing process / phases in software testing.
CMSC 345 Fall 2000 Unit Testing. The testing process.
1 Software testing. 2 Testing Objectives Testing is a process of executing a program with the intent of finding an error. A good test case is in that.
Software Reviews & testing Software Reviews & testing An Overview.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
Testing is a process of evaluating a system by manual or automatic means and verify that it satisfies specified requirements or identify differences.
Software Testing. 2 CMSC 345, Version 4/12 Topics The testing process  unit testing  integration and system testing  acceptance testing Test case planning.
Black Box Testing Focuses in the functional requirements of the program It is not an alternative to white-box techniques It is a complementary approach.
INTRUDUCTION TO SOFTWARE TESTING TECHNIQUES BY PRADEEP I.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Software Engineering Saeed Akhtar The University of Lahore.
Test Case Designing UNIT - 2. Topics Test Requirement Analysis (example) Test Case Designing (sample discussion) Test Data Preparation (example) Test.
Software Testing and Quality Assurance 1. What is the objectives of Software Testing?
Integration testing Integrate two or more module.i.e. communicate between the modules. Follow a white box testing (Testing the code)
Theory and Practice of Software Testing
SOFTWARE TESTING. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves any activity.
Dynamic Testing.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
SOFTWARE TESTING. SOFTWARE Software is not the collection of programs but also all associated documentation and configuration data which is need to make.
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
ANOOP GANGWAR 5 TH SEM SOFTWARE TESTING MASTER OF COMPUTER APPLICATION-V Sem.
Testing Principles And Concepts CBOK Knowledge Domain 5.
Software Engineering (CSI 321)
Software Testing Strategies for building test group
Software Testing.
Integration Testing.
Software Testing.
Rekayasa Perangkat Lunak Part-13
TESTING TOOLS MANUAL APPROACH BY J.ADI SESHU.
Software Testing Techniques
IS301 – Software Engineering V:
Lecture on Black Box Testing
Chapter 13 & 14 Software Testing Strategies and Techniques
Definition of Integration Testing
UNIT-IV ECS-602 Software engineering PART-I
Chapter 14 Software Testing Techniques
Lecture 09:Software Testing
Verification and Validation Unit Testing
Software testing.
Informatics 43 – April 28, 2016.
Chapter 10 – Software Testing
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Software Testing “If you can’t test it, you can’t design it”
TYPES OF TESTING.
Chapter 7 Software Testing.
CS410 – Software Engineering Lecture #11: Testing II
Software Testing Strategies
Chapter 13 & 14 Software Testing Strategies and Techniques 1 Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Presentation transcript:

Static Testing Static testing refers to testing that takes place without Execution - examining and reviewing it. Dynamic Testing Dynamic testing is what you would normally think of testing - executing and using the software.

Dynamic Testing Techniques used are determined by the type of testing that must be conducted Functional Structural

Functional Testing Structure of the program is not considered. Test cases are decided based on the requirements or specification of the program or module Hence it is often called as “Black Box Testing”.

Structural Testing Concerned with testing ,the implementation of the program. Focus on the internal structure of the program. The intent of structural testing is not to exercise all the different input or output condition but to exercise the different programming structures and data structures in the program.

Phases of software testing: Testing Levels Phases of software testing: Unit Testing Integration/Build Testing Validation/Functional Testing System Testing Acceptance Testing

Unit Testing Test each module individually. Follows a white box testing (Logic of the program)

Integration testing Integrate two or more module.i.e. communicate between the modules. Follow a white box testing (Testing the code)

Integration Testing - Overview

System Testing Confirms that the system as a whole delivers the functionality originally required. Follows the black box testing.

System Testing - Goals Incorrect or missing feature Performance errors Security errors User interface errors Configuration and compatibility Compliance to required standards

System Testing - Overview

System Testing - Overview System Tests: Define test procedures and instructions Review test plans Execute test plans Record results

System Testing - Strategy Developing System Tests stress tests security tests recovery tests performance tests

User Acceptance Testing (UAT) Building the confidence of the client and users is the role of the acceptance test phase. It is depend on the business scenario. Those functions required by the customer to demonstrate sufficient functionality and reliability to warrant acceptance.

V-Model Business scenario UAT SRS System HLD Integration LLD Unit

Software Testing

Testing Techniques White Box Black Box Incremental Thread

White Box Testing

White Box Testing - Internal Purpose of Unit Tests: Test all loops Test Basis paths Test conditional statements Test data structures * develop unit tests after the design portion of the Build Definition Spec. is completed.

White Box Testing - Internal

White Box Testing Techniques Statement coverage – execute all statements at least once. Decision coverage - execute each decision direction at least once. Condition coverage – execute each decision with all possible outcomes at least once

White Box Testing Techniques Loop Testing: Simple Loops Nested Loops Concatenated Loops Unstructured Loops

Black Box Testing

Black Box Testing - External Black Box Testing verifies that the requirements have been met. How is functional validity tested How is system behavior and performance tested. What classes of input will make good test cases? Is the system particularly sensitive to certain input values? How are the boundaries of a data class isolated? What data rates and data volume can the system tolerate? What effect will specific combinations of data have on system operation?

Black Box Testing - External Black Box Tests look for: incorrect or missing functions interface errors errors in external database access behavior or performance errors

Black Box Testing Techniques * Equivalence Partitioning * Boundary Analysis * Error Guessing

Equivalence Partitioning A subset of data that is representative of a larger class For example, a program which edits credit limits within a given range ($10,000 - $15,000 would have 3 equivalence classes: Less than $10,000 (invalid) Between $10,000 and $15,000 (valid) Greater than $15,000 (invalid)

Boundary Analysis A technique that consists of developing test cases and data that focus on the input and output boundaries of a given function

Boundary Analysis continued... In the same credit limit example, boundary analysis would test: Low boundary plus or minus one ($9,999 and $10,001) On the boundary ($10,000 and $15,000) Upper boundary plus or minus one ($14,999 and $15,001)

Error Guessing Based on the theory that test cases can be developed based on experience of the Test Engineer For example, in an example where one of the inputs is the date, a test engineer might try February 29,2000 or 9/9/99

Incremental Testing A disciplined method of testing the interfaces between unit-tested programs as well as between system components Incremental Testing Types - Top-down - Bottom-up

Top-Down Begins testing from the top of the module hierarchy and works down to the bottom using interim stubs to simulate lower interfacing modules or programs

Bottom-Up Begins testing from the bottom of the hierarchy and works up to the top Bottom-up testing requires the development of driver modules which provide the test input, call the module or program being testing, and display test output

Thread Testing A technique, often used during early integration testing Demonstrates key functional capabilities by testing a string of units that accomplish a specific function in the application

Illustrates various techniques used throughout the test stages