Software engineering – 1

Slides:



Advertisements
Similar presentations
Object Oriented Analysis And Design-IT0207 iiI Semester
Advertisements

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.
Test Design and Documentation. Test Design Test design is to ensure that all requirements are met through a series of test procedures, increasing the.
(c) Dr. Wolfgang J. Schneider GENERAL TESTING PRINCIPLES Dr. Wolfgang J. Schneider 2003 – 2006.
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.
Testing: Who 3, What 4, Why 1, When 2, How 5 Lian Yu, Peking U. Michal Young, U. Oregon.
Documentation Testing
1 Software Testing and Quality Assurance Lecture 15 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
Illinois Institute of Technology
16/27/2015 3:38 AM6/27/2015 3:38 AM6/27/2015 3:38 AMTesting and Debugging Testing The process of verifying the software performs to the specifications.
 What is Software Testing  Terminologies used in Software testing  Types of Testing  What is Manual Testing  Types of Manual Testing  Process that.
Types and Techniques of Software Testing
Design, Implementation and Maintenance
What Exactly are the Techniques of Software Verification and Validation A Storehouse of Vast Knowledge on Software Testing.
Lecture 6 Software Testing and jUnit CS140 Dick Steflik.
Extreme Programming Software Development Written by Sanjay Kumar.
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.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
1. Topics to be discussed Introduction Objectives Testing Life Cycle Verification Vs Validation Testing Methodology Testing Levels 2.
Test plans CSCI102 - Systems ITCS905 - Systems MCS Systems.
Introduction Telerik Software Academy Software Quality Assurance.
CMSC 345 Fall 2000 Unit Testing. The testing process.
Software Testing Process By: M. Muzaffar Hameed.
Software Engineering Saeed Akhtar The University of Lahore.
Software Quality Assurance and Testing Fazal Rehman Shamil.
 Software Testing Software Testing  Characteristics of Testable Software Characteristics of Testable Software  A Testing Life Cycle A Testing Life.
SOFTWARE TESTING SOFTWARE TESTING Presented By, C.Jackulin Sugirtha-10mx15 R.Jeyaramar-10mx17K.Kanagalakshmi-10mx20J.A.Linda-10mx25P.B.Vahedha-10mx53.
Introduction to Software Testing Maili Markvardt.
Software engineering - 2 Section 8. QUIZ Show how it is possible to determine the height of a tall building with the aid of a barometer.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
1 March 12, Testing William Cohen NCSU CSC 591W March 12, 2008.
Software Testing Kobla Setriakor Nyomi Faculty Intern (Programming II)
Functional testing, Equivalence class testing
Software Engineering (CSI 321)
Dr. Rozmie Razif bin Othman
Software Testing.
Software Testing.
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Software engineering Section 2.
Software Engineering (CSI 321)
Software Testing.
SOFTWARE TESTING OVERVIEW
Software Testing.
TQS - Teste e Qualidade de Software (Software Testing and Quality) Introduction To Software Testing Concepts João Pascoal.
CompSci 230 Software Construction
Software Testing An Introduction.
Quality Management Perfectqaservices.
CS-4349 Software Testing & Implementation
Software Quality Assurance
Software Quality Engineering
Lecture 09:Software Testing
Introduction to Systems Analysis and Design
Fundamental Test Process
CS240: Advanced Programming Concepts
Informatics 43 – April 28, 2016.
Unit 1 :Basic Of Software Testing
Software Verification and Validation
Software Verification and Validation
Chapter 13: Construction
CS 240 – Advanced Programming Concepts
Case Study 1 By : Shweta Agarwal Nikhil Walecha Amit Goyal
Software Testing.
Software Verification and Validation
Java & Testing.
System analysis and design
Software Development Chapter 1.
Testing, Inspection, Walkthrough
Software Testing.
Software Testing.
Presentation transcript:

Software engineering – 1 Section 8

Agenda What’s testing and why testing is important Testing ways Practice

What’s software testing software testing is an activity to check whether the actual results match the expected results and to ensure that the software system is defect free.

Why software testing is important Testing is important because software bugs could be expensive or even dangerous.

How to do testing ?? Imagine that we want to test moving a file from folder A to folder B. How should we test this operation to ensure that this operations works correctly ? Trying to move the file when it is open You do not have the security rights to paste the file in Folder B Folder B is on a shared drive and storage capacity is full. Folder B already has a file with the same name

Exhaustive testing Test the entire possible combinations EXHAUSTIVE testing is not possible.

80-20 rule “80 percent from the possible defects will come from 20 percent from the overall code” Defect Clustering

Pesticide Paradox If the same tests are repeated over and over again, eventually the same test cases will no longer find new bugs To overcome this, the test cases need to be regularly reviewed & revised, adding new & different test cases to help find more defects.

Important note Software Testing reduces the probability of undiscovered defects remaining in the software but even if no defects are found, it is not a proof of correctness.

Early testing Finding and fixing defects does not help if the system build is unusable and does not fulfill the users needs & requirements. Early Testing - Testing should start as early as possible in the Software Development Life Cycle

Early testing Also, the costs of fixing a defect increases across the development life cycle. The earlier in life cycle a defect is detected, the cheaper it is to fix it

V Model

Software testing lifecycle

Manual testing In Manual Testing , Testers manually execute test cases without using any automation tools.  Any new application must be manually tested before its testing can be automated. Manual testing requires more effort, but is necessary to check  automation feasibility. Automated testing may be done using some testing tools to generate test cases

Black-box VS White-box testing

System testing System testing is actually a series of different tests whose sole purpose is to exercise the full computer based system. System testing falls under the black box testing category of software testing.

Integration testing A typical software project consists of multiple software modules, coded by different programmers.  Integration testing focuses on checking data communication amongst these modules. A Module in general is designed by an individual software developer whose understanding and programming logic may differ from other programmers. Integration testing becomes necessary to verify the software modules work in unity

Unit testing The objective of unit testing is to isolate a section of code and verify its correctness. In procedural programming a unit may be an individual function or procedure The goal of unit testing is to isolate each part of the program and show that the individual parts are correct. Unit testing is usually performed by the developer.

Practice Develop a function that takes an array of integers and return an array of integers similar to the input array but each number is divided by 2 Example input 2 5 8 6 Example output 1 2 4 3 Think about the possible test cases for this function