Software Testing and Quality Assurance 1. What is the objectives of Software Testing?

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

Software Testing Technique. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves.
Software Testing Strategies
SOFTWARE TESTING. Software Testing Principles Types of software tests Test planning Test Development Test Execution and Reporting Test tools and Methods.
DETAILED DESIGN, IMPLEMENTATIONA AND TESTING Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
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.
OHT 9.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Definitions and objectives Software testing strategies Software test.
November 2005J. B. Wordsworth: J5DAMQVT1 Design and Method Quality, Verification, and Testing.
OHT 9.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Definitions and objectives Software testing strategies Software test.
Illinois Institute of Technology
Testing an individual module
OHT 3.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The need for comprehensive software quality requirements Classification.
Outline Types of errors Component Testing Testing Strategy
OHT 9.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Chapter 9.3 Software Testing Strategies.
Introduction to Software Testing
Types and Techniques of Software Testing
Software Testing Introduction. Agenda Software Testing Definition Software Testing Objectives Software Testing Strategies Software Test Classifications.
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.
BY RAJESWARI S SOFTWARE TESTING. INTRODUCTION Software testing is the process of testing the software product. Effective software testing will contribute.
1 Software Testing Techniques CIS 375 Bruce R. Maxim UM-Dearborn.
Chapter 13 & 14 Software Testing Strategies and Techniques
System/Software Testing
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Managing Software Quality
Categories of Testing.
1 Software Testing (Part-II) Lecture Software Testing Software Testing is the process of finding the bugs in a software. It helps in Verifying and.
CS4311 Spring 2011 Verification & Validation Dr. Guoqiang Hu Department of Computer Science UTEP.
CMSC 345 Fall 2000 Unit Testing. The testing process.
Based on D. Galin, and R. Patton.  According to D. Galin  Software quality assurance is:  A systematic, planned set of actions necessary to provide.
Topic (1)Software Engineering (601321)1 Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution.
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 Testing Testing types Testing strategy Testing principles.
1 Chapter 7 Software Testing Strategies. 2 Software Testing Testing is the process of exercising a program with the specific intent of finding errors.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
Unit Testing 101 Black Box v. White Box. Definition of V&V Verification - is the product correct Validation - is it the correct product.
OHT 1.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 The uniqueness of software quality assurance The environments for which.
Software quality factors
Software Testing White Box Testing. Agenda What is White Box Testing Correctness Tests and Path Coverage Correctness Tests and Line Coverage McCabe Cyclomatic.
SOFTWARE TESTING. INTRODUCTION Testing forms the first step in determining the errors in a program. It is the major quality control measure used during.
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.
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
Software Testing Mehwish Shafiq. Testing Testing is carried out to validate and verify the piece developed in order to give user a confidence to use reliable.
1. Black Box Testing  Black box testing is also called functional testing  Black box testing ignores the internal mechanism of a system or component.
 Software Testing Software Testing  Characteristics of Testable Software Characteristics of Testable Software  A Testing Life Cycle A Testing Life.
Dynamic Testing.
Software Engineering By Germaine Cheung Hong Kong Computer Institute Lecture 7.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
SOFTWARE TESTING SOFTWARE TESTING Presented By, C.Jackulin Sugirtha-10mx15 R.Jeyaramar-10mx17K.Kanagalakshmi-10mx20J.A.Linda-10mx25P.B.Vahedha-10mx53.
CHAPTER 9 - PART 1 Software Testing Strategies. Lesson Outlines Definitions and objectives Software testing strategies Software test classifications White.
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.
CHAPTER 9 - PART 2 Software Testing Strategies. Lesson Outlines ■ White box testing – Data processing and calculation correctness tests – Correctness.
1 Software Testing. 2 What is Software Testing ? Testing is a verification and validation activity that is performed by executing program code.
Software Testing Strategies for building test group
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Rekayasa Perangkat Lunak Part-13
SEVERITY & PRIORITY RELATIONSHIP
Quality Management Perfectqaservices.
Chapter 13 & 14 Software Testing Strategies and Techniques
Introduction to Software Testing
Verification and Validation Unit Testing
Static Testing Static testing refers to testing that takes place without Execution - examining and reviewing it. Dynamic Testing Dynamic testing is what.
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 Strategies
Chapter 13 & 14 Software Testing Strategies and Techniques 1 Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Presentation transcript:

Software Testing and Quality Assurance 1

What is the objectives of Software Testing?

Direct Objectives To identify and reveal as many errors as possible in the tested software To bring the tested software, after correction of the identified errors and retesting to an acceptable level of quality To perform the required tests efficiency and effectively, within budgetary and scheduling limitation

Indirect Objective To compile a record of software errors for use in error prevention (by corrective and preventive actions)

Stages of Testing Module or unit testing. Integration testing, Function testing. Performance testing. Acceptance testing. Installation testing.

Testing Strategies We began by 'testing-in-the-small' and move toward 'testing -in-the-large' For conventional software – The module (component) is our initial focus – Integration of module follows For OO software – OO class that include attributes and operations and implies communication and collaboration

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.

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

Software Test Classification Software test may be classified – according to the testing concept or – to the requirement classification

According to Testing Concept What concept to test? – Output Output is used to archive an acceptable level of quality – Structural of the software Internal structural and calculations involved is included for satisfactory testing Two Classes have been developed – Black box testing Identify bug according to software malfunctioning Functionality testing – White box testing Examine internal calculation paths in order to identify bug Structural testing

According to Requirement The test id carried out to ensure full coverage of the respective requirement – Operation Correctness, Reliability, Efficiency, Integrity, Usability – Revision Maintainability, flexibility, testability – Transition Portability, reusabilily, interoperability From the requirement we can define the test classification White box and black box can be used implemented respectively

Test Classification according to Requirement Correctness 1.1 Output correctness tests 1.2 Documentation tests 1.3 Availability tests 1.4 Data processing & calculations correctness tests 1.5 Software qualification tests Reliability2. Reliability tests Efficiency3. Stress test (load tests and durability tests) Integrity4. Software system security tests Usability 5.1 Training usability tests 5.2 Operational usability tests Maintainability6. Maintainability tests Flexibility7. Flexibility tests Testability8. Testability tests Portability9. Portability tests Re usability10. Re usability tests Interoperability 11.1 Software interoperability tests 11.2 Equipment interoperability test

Test Classification according to Requirement Correctness 1.1 Output correctness tests 1.2 Documentation tests 1.3 Availability tests 1.4 Data processing & calculations correctness tests 1.5 Software qualification tests Reliability2. Reliability tests Efficiency3. Stress test (load tests and durability tests) Integrity4. Software system security tests Usability 5.1 Training usability tests 5.2 Operational usability tests Maintainability6. Maintainability tests Flexibility7. Flexibility tests Testability8. Testability tests Portability9. Portability tests Re usability10. Re usability tests Interoperability 11.1 Software interoperability tests 11.2 Equipment interoperability test

IEEE definitions Black box testing Testing that ignores the internal mechanism of the system or component and focuses solely on the outputs in response to selected inputs and execution conditions Testing conducted to evaluate the compliance of a system or component with specified functional requirements White box testing Testing that takes into account the internal mechanism of a system or component

Unit Testing Program reviews. Formal verification. Test each module individually. Testing the program itself. – black box and white box testing.

Black Box or White Box? Maximum # of logic paths - determine if white box testing is possible. Nature of input data. Amount of computation involved. Complexity of algorithms.

Unit Testing 20 module to be tested test cases results softwareengineer

Unit Testing Details Interfaces tested for proper information flow. Local data are examined to ensure that integrity is maintained. Boundary conditions are tested. Basis path testing should be used. All error handling paths should be tested. Drivers and/or stubs need to be developed to test incomplete software.

Generating Test Data Ideally want to test every permutation of valid and invalid inputs Equivalence partitioning it often required to reduce to infinite test case sets – Every possible input belongs to one of the equivalence classes. – No input belongs to more than one class. – Each point is representative of class.