SlideShare une entreprise Scribd logo
1  sur  55
SOFTWARE TESTING
UNIT I
By
Gnana Jeslin
AP/CSE
RMKCET
UNIT I INTRODUCTION
Testing as an Engineering Activity – Testing as a Process – Testing
Maturity Model- Testing axioms – Basic definitions – Software Testing
Principles – The Tester’s Role in a Software Development Organization –
Origins of Defects – Cost of defects – Defect Classes – The Defect
Repository and Test Design –Defect Examples- Developer/Tester upport
of Developing a Defect Repository
COURSE OUTCOME
Understand the impact of defects in software
development process
SOFTWARE TESTING
• Testing is generally described as a group of procedures carried out to
evaluate some aspect of a piece of software.
• Testing can be described as a process used for revealing defects in
software, and for establishing that the software has attained a
specified degree of quality with respect to selected attributes.
Testing as an Engineering Activity
• Software systems are becoming more challenging to build.
• New methods, techniques, and tools are becoming available to support
development and maintenance tasks.
• Poor quality software that can cause loss of life or property is no longer
acceptable to society.
• Highly qualified staff ensures that software products are built on time, within
budget, and are of the highest quality with respect to attributes such as reliability,
correctness, usability, and the ability to meet all user requirements.
Using an engineering approach to software
development implies that:
• The development process is well understood
• Projects are planned
• Life cycle models are defined
• Standards are in place for product and process
• Measurements are employed to evaluate product and process quality
• Components are reused
• Validation and verification processes play a key role in quality determination
• Engineers have proper education, training, and certification.
Testing as a Process
Testing as a Process
Process in Engineering Domain
• Process, in the software engineering domain, is the set of methods,
practices, standards, documents, activities, policies, and procedures
that software engineers use to develop and maintain a software
system and its associated artifacts, such as project and test plans,
design documents, code, and manuals.
Testing as a Process
The Role of Process in Software Quality
• The need for software products of high quality has pressured those in
the profession to identify and quantify quality factors such as
usability, testability, maintainability, and reliability, and to identify
engineering practices that support the production of quality
products having these favorable attributes.
Testing as a Process
• The software development process has been described as a series of
phases, procedures, and steps that result in the production of a
software product.
• Embedded within the software development process are several
other processes including testing.
Testing as a Process
Testing as a Process
Testing is related to two other processes.
• Validation is the process of evaluating a software system or component
during, or at the end of, the development cycle in order to determine
whether it satisfies specified requirements.
• Verification is the process of evaluating a software system or component
to determine whether the products of a given development phase satisfy
the conditions imposed at the start of that phase.
Testing Maturity Model
Testing Maturity Model is a means for developing quality software
The focus of the TMM is on testing as a process in itself that can be evaluated and
improved.
In the testing domain possible benefits of test process improvement are the
following:
• smarter testers
• higher quality software
• the ability to meet budget and scheduling goals
• improved planning
• the ability to meet quantifiable testing goals
Testing Maturity Model
• TMM follows a staged architecture for process improvement models.
• It contains stages or levels through which an organization passes as its
testing
• process evolves from one that is ad hoc and unmanaged to one that is
managed, defined, measured, and optimizable.
Testing Maturity Model
Testing Maturity Model
Testing Axioms
An axiom is a sentence or proposition that is not proved or
demonstrated and is considered as obvious or as an initial
necessary consensus for a theory building or acceptation.
Testing Axioms
1. It is impossible to test a program completely.
2. Software testing is a risk-based exercise.
3. Testing cannot show the absence of bugs.
4. The more bugs you find, the more bugs there are.
5. Not all bugs found will be fixed.
Testing Axioms
6. It is difficult to say when a bug is indeed a bug.
7. Specifications are never final.
8. Software testers are not the most popular members of a project.
9. Software testing is a disciplined and technical profession.
Basic Definitions
Error
• An error is a mistake, misconception, or misunderstanding on the part of
a software developer.
• For example, a developer may misunderstand a design notation, or a
programmer might type a variable name incorrectly.
Basic Definitions
Faults (Defects)
• A fault (defect) is introduced into the software as the result of an error.
• It is an anomaly in the software that may cause it to behave incorrectly,
and not according to its specification.
• Faults or defects are sometimes called ―bugs.
Basic Definitions
Failures
A failure is the inability of a software system or component
to perform its required functions within specified
performance requirements
Basic Definitions
Test Cases
A test case in a practical sense is a test-related item which contains the following
information:
1. A set of test inputs.
2. Execution conditions.
3. Expected outputs.
Basic Definitions
Test
A test is a group of related test cases, or a group of related test cases and test
procedures.
• A group of related tests – Test Set
• A group of related tests that are associated with a DB and are usually run
together - Test Suite
Basic Definitions
Test Oracle
A test oracle is a document, or piece of software that allows testers to
determine whether a test has been passed or failed.
Test Bed
A test bed is an environment that contains all the hardware and software
needed to test a software component or a software system.
Eg‘s Simulators, emulators, Memory Checkers, software tools.
Software Testing Principles
Principle 1
Testing is the process of exercising a software component using a selected set of test
cases, with the intent of
(i) revealing defects, and
(ii) evaluating quality.
Software Testing Principles
Principle 2
When the test objective is to detect defects, then a good test case is one that has a high
probability of revealing a yet undetected defect(s).
Principle 3
Test results should be inspected meticulously.
Software Testing Principles
Principle 4
A test case must contain the expected output or result.
Principle 5
Test cases should be developed for both valid and invalid input conditions.
Principle 6
The probability of the existence of additional defects in a software component is
proportional to the number of defects already detected in that component.
Software Testing Principles
Principle 7
Testing should be carried out by a group that is independent of the
development group.
Principle 8
Tests must be repeatable and reusable.
Principle 9
Testing should be planned.
Software Testing Principles
Principle 10
Testing activities should be integrated into the software life cycle.
Principle 11
Testing is a creative and challenging task
Difficulties And Challenges For The
Tester
• A tester needs to have comprehensive knowledge of the software
engineering discipline.
• A tester needs to have knowledge from both experience and education as
to how software is specified, designed, and developed.
• A tester needs to be able to manage many details.
Difficulties And Challenges For The
Tester
• A tester needs to have knowledge of fault types and where faults of a
certain type might occur in code constructs.
• A tester needs to reason like a scientist and propose hypotheses that
relate to presence of specific types of defects.
• A tester needs to have a good grasp of the problem domain of the
software that he/she is testing. Familiarly with a domain may come from
educational, training, and work-related experiences.
The Tester’s Role In A Software
Development Organization
•The tester’s job is to
•Reveal defects,
•Find weak points,
•Inconsistent behaviour,
The Tester’s Role In A Software
Development Organization
• The tester’s job is to identify:
• Circumstances where the software does not work as expected.
• It is difficult for developers to effectively test their own code. A tester needs very
good programming experience in order to understand how code is constructed, and
to know where and what types of, defects could occur.
• A tester should work with the developers to produce high-quality software that
meets the customers’ requirements.
ORIGINS OF DEFECTS
• Defects have detrimental affects on software users, and software engineers work very
hard to produce high-quality software with a low number of defects.
1. Education
2. Communication
3. Oversight
4. Transcription
5. Process
ORIGINS OF DEFECTS
FAULT MODEL
• A fault (defect) model can be described as a link between the error made (e.g., a
missing requirement, a misunderstood design element, a typographical error), and the
fault/defect in the software.
• In the past, fault models and fault lists have often been used by developers/ testers in
an informal manner, since many organizations did not save or catalog defect-related
information in an easily accessible form.
• To increase the effectiveness of their testing and debugging processes, software
organizations need to initiate the creation of a defect database, or defect repository.
COST OF DEFECTS
• The cost of defects can be measured by the impact of the defects and when we find
them.
• Earlier the defect is found lesser is the cost of defect.
• For example if error is found in the requirement specifications during requirements
gathering and analysis, then it is somewhat cheap to fix it.
• The correction to the requirement specification can be done and then it can be re-
issued.
DEFECT CLASSES
• Defects can be classified in many ways.
• The four classes of defects are as follows,
• Requirements and specifications defects,
• Design defects,
• Code defects,
• Testing defects
1. Requirements and Specifications Defects
• Defects injected in early phases can be very difficult to remove in
later phases.
• Since many requirements documents are written using a natural
language representation, they may become
• Ambiguous,
• Contradictory,
• Unclear,
• Redundant,
• Imprecise.
1. Requirements and Specifications Defects
• 1.1 Functional Description Defects
• 1.2 Feature Defects
• 1.3 Feature Interaction Defects
• 1.4 Interface Description Defects
2. Design Defects
•Design defects occur when the following are
incorrectly designed,
• System components,
• Interactions between system components,
• Interactions between the components and outside
software/hardware, or users
2. Design Defects
• 2.1 Algorithmic and Processing Defects
• 2.2 Control, Logic, and Sequence Defects
• 2.3 Data Defects
• 2.4 Module Interface Description Defects
• 2.5 Functional Description Defects
• 2.6 External Interface Description Defects
3. Coding Defects
• Coding defects are derived from errors in implementing the code.
• Coding defects classes are similar to design defect classes.
• Some coding defects come from a failure to understand
programming language constructs, and miscommunication with
the designers.
3. Coding Defects
• 3.1 Algorithmic and Processing Defects
• 3.2 Control, Logic and Sequence Defects
• 3.3 Typographical Defects
• 3.4 Initialization Defects
3. Coding Defects
• 3.5 Data-Flow Defects
• 3.6 Data Defects
• 3.7 Module Interface Defects
• 3.8 Code Documentation Defects
• 3.9 External Hardware, Software Interfaces Defects
4. Testing Defects
• Test plans, test cases, test harnesses, and test procedures can also
contain defects. These defects are called testing defects.
• Defects in test plans are best detected using review techniques.
• 4.1 Test Harness Defects
4.2 Test Case Design and Test Procedure Defects
DEFECT CLASSES & DEFECT REPOSITORY
DEFECT REPOSITORY
• The defect repository concept supports storage and retrieval of defect data
from all projects in a centrally accessible location.
• Defect classification scheme is a necessary first step for developing the
repository.
• Defects found both during reviews and execution-based testing should be
cataloged.
• Supplementary information can be added to the defect repository, Staff
members can use this data for test planning, test design, and fault/defect
diagnosis
Developer/Tester Support for Developing a
Defect Repository
• Software engineers and test specialists should follow the examples of
engineers in other disciplines who make use of defect data.
• A requirement for repository development should be a part of testing and/or
debugging policy statements.
• Forms and templates should be designed to collect the data. Each defect and
frequency of occurrence must be recorded after testing.
• Defect monitoring should be done for each on-going project. The distribution
of defects will change when changes are made to the process.
Developer/Tester Support for Developing a
Defect Repository
Developer/Tester Support for Developing a
Defect Repository
• The defect data is useful for test planning.
• It is a TMM level 2 maturity goal.
• It helps a tester to select applicable testing techniques, design the test cases,
and allocate the amount of resources needed to detect and remove defects.
• This allows tester to estimate testing schedules and costs.
Developer/Tester Support for Developing a
Defect Repository
• The defect data can support debugging activities also.
• A defect repository can help in implementing several TMM maturity goals
including
• Controlling and monitoring of test,
• Software quality evaluation and control,
• Test measurement,
• Test process improvement.
Defect Examples: Coin Problem
• This program calculates the total rupees value for a set of coins. The
user inputs the amount of 25p, 50p and 1rs coins. There are size
different denominations of coins. The program outputs the total
rupees and paise value of the coins to the user
• Input : number_of_coins is an integer
• Output : number_of_rupees is an integer
• number_of_paise is an integer
Thank You….

Contenu connexe

Tendances

Performance testing
Performance testing Performance testing
Performance testing BugRaptors
 
Software Testing Tools | Edureka
Software Testing Tools | EdurekaSoftware Testing Tools | Edureka
Software Testing Tools | EdurekaEdureka!
 
Win runner testing tool
Win runner testing toolWin runner testing tool
Win runner testing toolmansirajpara
 
Basic Dynamic Analysis of Malware
Basic Dynamic Analysis of MalwareBasic Dynamic Analysis of Malware
Basic Dynamic Analysis of MalwareNatraj G
 
Software Testing Strategies
Software Testing StrategiesSoftware Testing Strategies
Software Testing StrategiesAdeel Rasheed
 
Unit 2 - Test Case Design
Unit 2 - Test Case DesignUnit 2 - Test Case Design
Unit 2 - Test Case DesignSelvi Vts
 
What is Performance Testing?
What is Performance Testing?What is Performance Testing?
What is Performance Testing?QA InfoTech
 
Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2Gurpreet singh
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testingHadi Fadlallah
 
Data recovery power point
Data recovery power pointData recovery power point
Data recovery power pointtutannandi
 
Software maintenance and configuration management, software engineering
Software maintenance and  configuration management, software engineeringSoftware maintenance and  configuration management, software engineering
Software maintenance and configuration management, software engineeringRupesh Vaishnav
 
Types of Software Testing | Edureka
Types of Software Testing | EdurekaTypes of Software Testing | Edureka
Types of Software Testing | EdurekaEdureka!
 
Performance testing
Performance testingPerformance testing
Performance testingJyoti Babbar
 
Software Testing Technique in Software Engineering
Software Testing Technique in Software EngineeringSoftware Testing Technique in Software Engineering
Software Testing Technique in Software EngineeringIsmail Hussain
 
computer forensic tools-Hardware & Software tools
computer forensic tools-Hardware & Software toolscomputer forensic tools-Hardware & Software tools
computer forensic tools-Hardware & Software toolsN.Jagadish Kumar
 

Tendances (20)

Performance testing
Performance testing Performance testing
Performance testing
 
Software Testing Tools | Edureka
Software Testing Tools | EdurekaSoftware Testing Tools | Edureka
Software Testing Tools | Edureka
 
Win runner testing tool
Win runner testing toolWin runner testing tool
Win runner testing tool
 
Basic Dynamic Analysis of Malware
Basic Dynamic Analysis of MalwareBasic Dynamic Analysis of Malware
Basic Dynamic Analysis of Malware
 
Software Testing Strategies
Software Testing StrategiesSoftware Testing Strategies
Software Testing Strategies
 
Software metrics
Software metricsSoftware metrics
Software metrics
 
Software testing
Software testingSoftware testing
Software testing
 
Cs8493 unit 3
Cs8493 unit 3Cs8493 unit 3
Cs8493 unit 3
 
Unit 2 - Test Case Design
Unit 2 - Test Case DesignUnit 2 - Test Case Design
Unit 2 - Test Case Design
 
What is Performance Testing?
What is Performance Testing?What is Performance Testing?
What is Performance Testing?
 
Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2Software Testing and Quality Assurance Assignment 2
Software Testing and Quality Assurance Assignment 2
 
3.software testing
3.software testing3.software testing
3.software testing
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testing
 
Data recovery power point
Data recovery power pointData recovery power point
Data recovery power point
 
Software maintenance and configuration management, software engineering
Software maintenance and  configuration management, software engineeringSoftware maintenance and  configuration management, software engineering
Software maintenance and configuration management, software engineering
 
Types of Software Testing | Edureka
Types of Software Testing | EdurekaTypes of Software Testing | Edureka
Types of Software Testing | Edureka
 
Performance testing
Performance testingPerformance testing
Performance testing
 
Defect prevention
Defect preventionDefect prevention
Defect prevention
 
Software Testing Technique in Software Engineering
Software Testing Technique in Software EngineeringSoftware Testing Technique in Software Engineering
Software Testing Technique in Software Engineering
 
computer forensic tools-Hardware & Software tools
computer forensic tools-Hardware & Software toolscomputer forensic tools-Hardware & Software tools
computer forensic tools-Hardware & Software tools
 

Similaire à UNIT 1.pptx

unit-2_20-july-2018 (1).pptx
unit-2_20-july-2018 (1).pptxunit-2_20-july-2018 (1).pptx
unit-2_20-july-2018 (1).pptxPriyaFulpagare1
 
Software testing-and-analysis
Software testing-and-analysisSoftware testing-and-analysis
Software testing-and-analysisWBUTTUTORIALS
 
IT8076 – Software Testing Intro
IT8076 – Software Testing IntroIT8076 – Software Testing Intro
IT8076 – Software Testing IntroJohnSamuel280314
 
Software Testing PPT | Software All Testing
Software Testing PPT | Software All TestingSoftware Testing PPT | Software All Testing
Software Testing PPT | Software All Testingsankalpkumarsahoo174
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality AssuranceSaqib Raza
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance Webtech Learning
 
What_is_Software_Testing.pdf
What_is_Software_Testing.pdfWhat_is_Software_Testing.pdf
What_is_Software_Testing.pdfVuongPhm
 
SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTINGacemindia
 
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...ShudipPal
 
SENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptxSENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptxMinsasWorld
 
Fundamentals of Testing (2013)
Fundamentals of Testing (2013)Fundamentals of Testing (2013)
Fundamentals of Testing (2013)Jana Gierloff
 
Building a software testing environment
Building a software testing environmentBuilding a software testing environment
Building a software testing environmentHimanshu
 

Similaire à UNIT 1.pptx (20)

Software testing introduction
Software testing  introductionSoftware testing  introduction
Software testing introduction
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
L software testing
L   software testingL   software testing
L software testing
 
unit-2_20-july-2018 (1).pptx
unit-2_20-july-2018 (1).pptxunit-2_20-july-2018 (1).pptx
unit-2_20-july-2018 (1).pptx
 
Software testing-and-analysis
Software testing-and-analysisSoftware testing-and-analysis
Software testing-and-analysis
 
IT8076 – Software Testing Intro
IT8076 – Software Testing IntroIT8076 – Software Testing Intro
IT8076 – Software Testing Intro
 
Software Testing PPT | Software All Testing
Software Testing PPT | Software All TestingSoftware Testing PPT | Software All Testing
Software Testing PPT | Software All Testing
 
SQA_Class
SQA_ClassSQA_Class
SQA_Class
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
 
QA Basics and PM Overview
QA Basics and PM OverviewQA Basics and PM Overview
QA Basics and PM Overview
 
What_is_Software_Testing.pdf
What_is_Software_Testing.pdfWhat_is_Software_Testing.pdf
What_is_Software_Testing.pdf
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
testing.pptx
testing.pptxtesting.pptx
testing.pptx
 
Software_Testing_ppt.pptx
Software_Testing_ppt.pptxSoftware_Testing_ppt.pptx
Software_Testing_ppt.pptx
 
SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTING
 
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
 
SENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptxSENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptx
 
Fundamentals of Testing (2013)
Fundamentals of Testing (2013)Fundamentals of Testing (2013)
Fundamentals of Testing (2013)
 
Building a software testing environment
Building a software testing environmentBuilding a software testing environment
Building a software testing environment
 

Dernier

Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college projectTonystark477637
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...Call Girls in Nagpur High Profile
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlysanyuktamishra911
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...ranjana rawat
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingrakeshbaidya232001
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGMANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGSIVASHANKAR N
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINESIVASHANKAR N
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfKamal Acharya
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...ranjana rawat
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...roncy bisnoi
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Bookingdharasingh5698
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingrknatarajan
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations120cr0395
 

Dernier (20)

Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Koregaon Park  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Koregaon Park 6297143586 Call Hot Ind...
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
Porous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writingPorous Ceramics seminar and technical writing
Porous Ceramics seminar and technical writing
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGMANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 

UNIT 1.pptx

  • 1. SOFTWARE TESTING UNIT I By Gnana Jeslin AP/CSE RMKCET
  • 2. UNIT I INTRODUCTION Testing as an Engineering Activity – Testing as a Process – Testing Maturity Model- Testing axioms – Basic definitions – Software Testing Principles – The Tester’s Role in a Software Development Organization – Origins of Defects – Cost of defects – Defect Classes – The Defect Repository and Test Design –Defect Examples- Developer/Tester upport of Developing a Defect Repository
  • 3. COURSE OUTCOME Understand the impact of defects in software development process
  • 4. SOFTWARE TESTING • Testing is generally described as a group of procedures carried out to evaluate some aspect of a piece of software. • Testing can be described as a process used for revealing defects in software, and for establishing that the software has attained a specified degree of quality with respect to selected attributes.
  • 5. Testing as an Engineering Activity • Software systems are becoming more challenging to build. • New methods, techniques, and tools are becoming available to support development and maintenance tasks. • Poor quality software that can cause loss of life or property is no longer acceptable to society. • Highly qualified staff ensures that software products are built on time, within budget, and are of the highest quality with respect to attributes such as reliability, correctness, usability, and the ability to meet all user requirements.
  • 6. Using an engineering approach to software development implies that: • The development process is well understood • Projects are planned • Life cycle models are defined • Standards are in place for product and process • Measurements are employed to evaluate product and process quality • Components are reused • Validation and verification processes play a key role in quality determination • Engineers have proper education, training, and certification.
  • 7. Testing as a Process
  • 8. Testing as a Process Process in Engineering Domain • Process, in the software engineering domain, is the set of methods, practices, standards, documents, activities, policies, and procedures that software engineers use to develop and maintain a software system and its associated artifacts, such as project and test plans, design documents, code, and manuals.
  • 9. Testing as a Process The Role of Process in Software Quality • The need for software products of high quality has pressured those in the profession to identify and quantify quality factors such as usability, testability, maintainability, and reliability, and to identify engineering practices that support the production of quality products having these favorable attributes.
  • 10. Testing as a Process • The software development process has been described as a series of phases, procedures, and steps that result in the production of a software product. • Embedded within the software development process are several other processes including testing.
  • 11. Testing as a Process
  • 12. Testing as a Process Testing is related to two other processes. • Validation is the process of evaluating a software system or component during, or at the end of, the development cycle in order to determine whether it satisfies specified requirements. • Verification is the process of evaluating a software system or component to determine whether the products of a given development phase satisfy the conditions imposed at the start of that phase.
  • 13. Testing Maturity Model Testing Maturity Model is a means for developing quality software The focus of the TMM is on testing as a process in itself that can be evaluated and improved. In the testing domain possible benefits of test process improvement are the following: • smarter testers • higher quality software • the ability to meet budget and scheduling goals • improved planning • the ability to meet quantifiable testing goals
  • 14. Testing Maturity Model • TMM follows a staged architecture for process improvement models. • It contains stages or levels through which an organization passes as its testing • process evolves from one that is ad hoc and unmanaged to one that is managed, defined, measured, and optimizable.
  • 17. Testing Axioms An axiom is a sentence or proposition that is not proved or demonstrated and is considered as obvious or as an initial necessary consensus for a theory building or acceptation.
  • 18. Testing Axioms 1. It is impossible to test a program completely. 2. Software testing is a risk-based exercise. 3. Testing cannot show the absence of bugs. 4. The more bugs you find, the more bugs there are. 5. Not all bugs found will be fixed.
  • 19. Testing Axioms 6. It is difficult to say when a bug is indeed a bug. 7. Specifications are never final. 8. Software testers are not the most popular members of a project. 9. Software testing is a disciplined and technical profession.
  • 20. Basic Definitions Error • An error is a mistake, misconception, or misunderstanding on the part of a software developer. • For example, a developer may misunderstand a design notation, or a programmer might type a variable name incorrectly.
  • 21. Basic Definitions Faults (Defects) • A fault (defect) is introduced into the software as the result of an error. • It is an anomaly in the software that may cause it to behave incorrectly, and not according to its specification. • Faults or defects are sometimes called ―bugs.
  • 22. Basic Definitions Failures A failure is the inability of a software system or component to perform its required functions within specified performance requirements
  • 23. Basic Definitions Test Cases A test case in a practical sense is a test-related item which contains the following information: 1. A set of test inputs. 2. Execution conditions. 3. Expected outputs.
  • 24. Basic Definitions Test A test is a group of related test cases, or a group of related test cases and test procedures. • A group of related tests – Test Set • A group of related tests that are associated with a DB and are usually run together - Test Suite
  • 25. Basic Definitions Test Oracle A test oracle is a document, or piece of software that allows testers to determine whether a test has been passed or failed. Test Bed A test bed is an environment that contains all the hardware and software needed to test a software component or a software system. Eg‘s Simulators, emulators, Memory Checkers, software tools.
  • 26. Software Testing Principles Principle 1 Testing is the process of exercising a software component using a selected set of test cases, with the intent of (i) revealing defects, and (ii) evaluating quality.
  • 27. Software Testing Principles Principle 2 When the test objective is to detect defects, then a good test case is one that has a high probability of revealing a yet undetected defect(s). Principle 3 Test results should be inspected meticulously.
  • 28. Software Testing Principles Principle 4 A test case must contain the expected output or result. Principle 5 Test cases should be developed for both valid and invalid input conditions. Principle 6 The probability of the existence of additional defects in a software component is proportional to the number of defects already detected in that component.
  • 29. Software Testing Principles Principle 7 Testing should be carried out by a group that is independent of the development group. Principle 8 Tests must be repeatable and reusable. Principle 9 Testing should be planned.
  • 30. Software Testing Principles Principle 10 Testing activities should be integrated into the software life cycle. Principle 11 Testing is a creative and challenging task
  • 31. Difficulties And Challenges For The Tester • A tester needs to have comprehensive knowledge of the software engineering discipline. • A tester needs to have knowledge from both experience and education as to how software is specified, designed, and developed. • A tester needs to be able to manage many details.
  • 32. Difficulties And Challenges For The Tester • A tester needs to have knowledge of fault types and where faults of a certain type might occur in code constructs. • A tester needs to reason like a scientist and propose hypotheses that relate to presence of specific types of defects. • A tester needs to have a good grasp of the problem domain of the software that he/she is testing. Familiarly with a domain may come from educational, training, and work-related experiences.
  • 33. The Tester’s Role In A Software Development Organization •The tester’s job is to •Reveal defects, •Find weak points, •Inconsistent behaviour,
  • 34. The Tester’s Role In A Software Development Organization • The tester’s job is to identify: • Circumstances where the software does not work as expected. • It is difficult for developers to effectively test their own code. A tester needs very good programming experience in order to understand how code is constructed, and to know where and what types of, defects could occur. • A tester should work with the developers to produce high-quality software that meets the customers’ requirements.
  • 35. ORIGINS OF DEFECTS • Defects have detrimental affects on software users, and software engineers work very hard to produce high-quality software with a low number of defects. 1. Education 2. Communication 3. Oversight 4. Transcription 5. Process
  • 37. FAULT MODEL • A fault (defect) model can be described as a link between the error made (e.g., a missing requirement, a misunderstood design element, a typographical error), and the fault/defect in the software. • In the past, fault models and fault lists have often been used by developers/ testers in an informal manner, since many organizations did not save or catalog defect-related information in an easily accessible form. • To increase the effectiveness of their testing and debugging processes, software organizations need to initiate the creation of a defect database, or defect repository.
  • 38. COST OF DEFECTS • The cost of defects can be measured by the impact of the defects and when we find them. • Earlier the defect is found lesser is the cost of defect. • For example if error is found in the requirement specifications during requirements gathering and analysis, then it is somewhat cheap to fix it. • The correction to the requirement specification can be done and then it can be re- issued.
  • 39. DEFECT CLASSES • Defects can be classified in many ways. • The four classes of defects are as follows, • Requirements and specifications defects, • Design defects, • Code defects, • Testing defects
  • 40. 1. Requirements and Specifications Defects • Defects injected in early phases can be very difficult to remove in later phases. • Since many requirements documents are written using a natural language representation, they may become • Ambiguous, • Contradictory, • Unclear, • Redundant, • Imprecise.
  • 41. 1. Requirements and Specifications Defects • 1.1 Functional Description Defects • 1.2 Feature Defects • 1.3 Feature Interaction Defects • 1.4 Interface Description Defects
  • 42. 2. Design Defects •Design defects occur when the following are incorrectly designed, • System components, • Interactions between system components, • Interactions between the components and outside software/hardware, or users
  • 43. 2. Design Defects • 2.1 Algorithmic and Processing Defects • 2.2 Control, Logic, and Sequence Defects • 2.3 Data Defects • 2.4 Module Interface Description Defects • 2.5 Functional Description Defects • 2.6 External Interface Description Defects
  • 44. 3. Coding Defects • Coding defects are derived from errors in implementing the code. • Coding defects classes are similar to design defect classes. • Some coding defects come from a failure to understand programming language constructs, and miscommunication with the designers.
  • 45. 3. Coding Defects • 3.1 Algorithmic and Processing Defects • 3.2 Control, Logic and Sequence Defects • 3.3 Typographical Defects • 3.4 Initialization Defects
  • 46. 3. Coding Defects • 3.5 Data-Flow Defects • 3.6 Data Defects • 3.7 Module Interface Defects • 3.8 Code Documentation Defects • 3.9 External Hardware, Software Interfaces Defects
  • 47. 4. Testing Defects • Test plans, test cases, test harnesses, and test procedures can also contain defects. These defects are called testing defects. • Defects in test plans are best detected using review techniques. • 4.1 Test Harness Defects 4.2 Test Case Design and Test Procedure Defects
  • 48. DEFECT CLASSES & DEFECT REPOSITORY
  • 49. DEFECT REPOSITORY • The defect repository concept supports storage and retrieval of defect data from all projects in a centrally accessible location. • Defect classification scheme is a necessary first step for developing the repository. • Defects found both during reviews and execution-based testing should be cataloged. • Supplementary information can be added to the defect repository, Staff members can use this data for test planning, test design, and fault/defect diagnosis
  • 50. Developer/Tester Support for Developing a Defect Repository • Software engineers and test specialists should follow the examples of engineers in other disciplines who make use of defect data. • A requirement for repository development should be a part of testing and/or debugging policy statements. • Forms and templates should be designed to collect the data. Each defect and frequency of occurrence must be recorded after testing. • Defect monitoring should be done for each on-going project. The distribution of defects will change when changes are made to the process.
  • 51. Developer/Tester Support for Developing a Defect Repository
  • 52. Developer/Tester Support for Developing a Defect Repository • The defect data is useful for test planning. • It is a TMM level 2 maturity goal. • It helps a tester to select applicable testing techniques, design the test cases, and allocate the amount of resources needed to detect and remove defects. • This allows tester to estimate testing schedules and costs.
  • 53. Developer/Tester Support for Developing a Defect Repository • The defect data can support debugging activities also. • A defect repository can help in implementing several TMM maturity goals including • Controlling and monitoring of test, • Software quality evaluation and control, • Test measurement, • Test process improvement.
  • 54. Defect Examples: Coin Problem • This program calculates the total rupees value for a set of coins. The user inputs the amount of 25p, 50p and 1rs coins. There are size different denominations of coins. The program outputs the total rupees and paise value of the coins to the user • Input : number_of_coins is an integer • Output : number_of_rupees is an integer • number_of_paise is an integer