SlideShare a Scribd company logo
1 of 49
Download to read offline
Software Testing
Chapter 4.1
Aim
To equip the students with fundamentals of software
testing and its various types
Instructional Objectives
After completing this chapter, you should be able to:
• Describe the fundamental concepts of software testing
• Outline the taxonomy of software testing
• Explain the types of software testing
• Describe black box testing, white box testing and grey box testing
Learning Outcomes
At the end of this chapter, you are expected to:
• Explain taxonomy and concepts used for software testing
• Elaborate the principles of software testing
• Describe the different types of software testing
• Mention the advantages and disadvantages of white box testing and black
box testing
• Differentiate between black box, white box and grey box testing
Objective 1
Describe the Fundamental Concepts of Software Testing
Introduction
Testing
Fundamentals
Introduction
.
“Software Testing is all about evaluating a software product or a system along with
its components, to check if it meets the specified requirements or not.”
“Software testing is an iterative process.”
“Different testing methodologies are used at different stages of the software
development.”
Testing Fundamentals
• Software quality: Degree of conformity of the software to a variety of
expectations and requirements.
• Dimensions of Quality: Some of the key dimensions of software quality are
compatibility, accessibility, robustness efficiency, flexibility, concurrency and
conformity.
• Software Quality Assurance: It is a set of activities that ensures the quality in
each and every step of software engineering process.
Testing Fundamentals
• Software Quality Control: Set of activities that ensure that the software that is
being built is of highest quality across all dimensions mentioned above.
• Software Development Life Cycle: It is a sequence of steps followed in
software development process to develop the required software as per
specifications.
• Software Testing Methodologies: Various methods used for testing the
software at different stages of software development.
Testing Fundamentals
• Black Box Testing: Where the internal structure or design of the component or
module that is being tested is unknown to the person who performs the tests.
• White Box Testing: Where the internal structure or design of the component
or module that is being tested is known to the person who performs the tests
• Grey Box Testing: When both black box testing and white box testing are
combined and performed on a specific module or component.
Testing Fundamentals
Other testing fundamentals are:
• Agile Testing
• Ad Hoc Testing
• Phases
• Defects
• Defect Detection Efficiency
Quiz / Assessment
1) White Box Testing is a software testing method in which the
internal structure or design or implementation of the item being
tested is known to the tester
a) True
b) False
2) Black Box Testing is a software testing method in which the
internal structure or design or implementation of the item being
tested is not known to the tester
a) True
b) False
Quiz / Assessment
3) ______________is the degree of conformance to explicit or implicit
requirements and expectations.
a) Software quality
b) Software metric
c) Software test
d) Both a and b
Objective 2
Outline the Taxonomy of Software Testing
Taxonomy of Software
Testing
Taxonomy of Software Testing
” There are various testing methods and testing techniques used for a wide variety
of purposes throughout the software development life cycle.”
“To ensure efficiency of software testing, a taxonomy was developed which
organizes 200 types of testing types into a structure.”
“The execution of an object under test (OUT) under specific preconditions with
specific stimuli so that its actual behaviour can be compared with its expected or
required behaviour.”
Taxonomy of Software Testing
“Testing and evaluation are part of Verification and Validation (V&V) methods and
Quality Control (QC).”
Taxonomy of Software Testing
“These questions were the foundations of organising the taxonomy of testing
types.” What are we testing?
When are we testing?
Why are we testing?
Who is performing the testing?
Where is the testing taking place?
How are we testing?
How well are the objects-under-test functioning?
.
Quiz / Assessment
1) Different types of testing rectifies different kinds of defects
a) True
b) False
2) Defect Detection Efficiency (DDE) is the number of defects
detected during a phase/stage that are injected during that same
phase divided by the total number of defects injected during that
phase.
a) True
b) False
Quiz / Assessment
3) Testing practitioners can also be challenged to examine and
determine the degree of completeness of Personal testing
expertise, experience and training and
a) Test programs and associated test planning
b) Only test programs
c) Only planning
d) None of the above
Objective 3
Explain the Types of Software Testing
Types of Software
Testing
Types of Software Testing
“Based on the preconditions, internal and external stimuli, there are a variety of
testing types.”
Black box testing White box testing Unit testing Incremental integration testing
Integration testing Functional testing System testing End to end testing
Sanity testing Regression testing Acceptance testing Install/uninstall testing
Load testing Stress testing Comparison testing Compatibility testing
Usability testing Recovery testing Security testing Performance testing
Alpha testing Beta testing
Types of Software Testing
• “Black Box testing : Internal system design or code structure is not known to
the tester.”
• “White Box Testing : Internal structure or design of the component or module
that is being tested is completely known to the person who performs the tests.”
• “Unit Testing : Testing of individual units otherwise referred to as software
components or modules”
• “Incremental Integration Testing : This is bottom approach for testing.”
Types of Software Testing
• “Integration Testing : All the units or individual modules are integrated and
testing is done to verify if the integrated system works as expected.”
• “System Testing : The complete system with all modules & sub-components
are tested.”
• “End-to-end Testing : Tries to simulate the whole application environment as
like how it needs to operate in the real world and then test the whole system.”
Types of Software Testing
• “Sanity Testing : Sanity testing is performed in order to determine if a new
version of a software application is working as per requirements.”
• “Regression Testing : Testing the entire application and its functionality.”
• “Acceptance Testing : Testing for customer specified requirements.”
• “Load Testing : An automated testing tool which can simulate the number of
requests sent is used to check the performance of the system.”
Types of Software Testing
• “Performance Testing : Tested to check whether the system meets
performance requirements.”
• “Usability Testing : Testing of application flow and to check whether the new
user can understand the application easily.”
• “Recovery Testing : When there is an operating system or hardware crash, how
well the software tackles it and recovers as a whole along with stored data, is
tested in recovery testing.”
• “Security Testing : This testing checks for the security of the software.”
Types of Software Testing
• “Compatibility Testing : Compatibility and performance of the software on a
variety of hardware devices is tested here.”
• “Comparison testing : The present version is compared against the previous
versions and checked for its robustness, and efficiency of upgrades.”
• “Alpha Testing : This test is done in house where virtual user environment is
created for this type of testing.”
• “Beta Testing : This testing is typically done by specific set of end users, testing
happens in real time.”
Quiz / Assessment
1) Performance testing is similar to load test
a) True
b) False
2) Usability testing is user friendly check
a) True
b) False
3) It’s a performance testing to check the system behaviour under
load
a) Load test
b) Performance test
c) Stress test
d) None of the above
Objective 4
Describe Black Box Testing, White Box Testing and Grey Box Testing
Black Box
Testing
White Box
Testing
Grey Box
Testing
Black Box Testing
“Where the internal structure or design of the component or module that is being
tested, is unknown to the person who performs the test.”
“Black box testing looks at the functionality as a whole.”
Black Box Testing
Advantages
• Tester need not have the knowledge of code and hence internal working of
the software
• Clearly indicates any discrepancies in the software functionality
Disadvantages
• All the test inputs should be derived from a large set of requirements
• Possibility of many false alarms as the tester is completely unaware of
internal working of the code
Black Box Testing
Methods of Black Box Testing
• Graph Based Testing Method
• Error Guessing
• Boundary Value Analysis
• BVA Techniques
• Equivalence Partitioning
• Comparison Testing
Black Box Testing
• Graph Based Testing Method : All objects are identified and graph is prepared
based on cause and effect (or) inputs and respective outputs. From this graph
each object is identified and test cases are written to discover the errors.
• Error Guessing : If the tester had already tested the application or any
previous versions, then he might have an understanding about where potential
errors can pop up.
Black Box Testing
• Boundary Value Analysis : Boundary Value Analysis (BVA) is one of the
Functional Testing techniques wherein the extreme boundaries are chosen.
• Equivalence Partitioning : This method divides the test inputs into different
classes of data.
• Comparison Testing : Different versions of same software are used to compare
with each other for testing in this method.
White Box Testing
“Structural testing is also known as glass box testing or white box testing. It is
approach where the tests are derived from the knowledge of the software’s
structure or internal implementation.”
Why do we do White Box Testing?
• To ensure all independent paths within a module have been functioning well
• To ensure all logical decisions are verified on their true and false values
• To ensure all loops executed inside and outside their boundaries are valid
White Box Testing
“There are few methods under structural testing based on the areas covered.”
• Statement Coverage : Aimed at exercising all programming statements with
minimal tests.
• Branch Coverage : Running a series of tests to ensure that all branches are
tested at least once.
• Path Coverage : Corresponds to testing all possible paths which means that
each statements and branches are covered.
White Box Testing
Advantages
• Forces test developer to reason carefully about implementation
• It reveals error in hidden code
• It spots the dead code and other issues
Disadvantages
• Expensive as both time and money is required
• There are a lot of possibility that few lines of code is missed accidentally
• In depth knowledge is required for performing this testing
Grey Box Testing
“Grey Box testing technique where the tester performs relevant tests on a system
having a partial understanding of the design and internal structure.”
Different testing techniques under grey box testing are:
Regression testing Pattern testing Matrix testing Orthogonal array testing
Grey Box Testing
Advantages
• Gives a blend of benefits of both black and white box testing
• Grey-box tester handles design complex test scenario more intelligently
• Maintains the boundary between independent testers and developers
Disadvantages
• Complete white box testing cannot be done
• It is difficult to associate defects for a distributed systems
Comparison among White Box, Black Box and Grey Box Testing
Black Box Testing Grey Box Testing White Box Testing
Internal programming not known
Internal programming partially
known
Internal programming fully known
Known as closed box, data driven and
functional testing
Known as translucent testing
Known as glass, open box, clear box,
structural testing or code based
testing
Done by end users and also by testers
and developers
Done by end users and also by testers
and developers
Done by testers and developers
Least time consuming and exhaustive Partly time consuming and exhaustive Most exhaustive and time consuming
Not suited to algorithm testing Not suited to algorithm testing Suited to algorithm testing
Quiz / Assessment
1) Error guessing is not black box test
a) True
b) False
2) Tester can be non-technical in black box testing.
a) True
b) False
3) Comparison testing compares the present version of the software
with
a) Another software
b) Requirements specification
c) Future versions
d) Previous versions
Quiz / Assessment
4) Structural testing is also known as glass box testing
a) True
b) False
5) This technique is aimed at exercising all programming statements
with minimal tests
a) Statement coverage
b) Branch coverage
c) Both a and b
d) None
Quiz / Assessment
6) This technique corresponds to testing all possible paths which
means that each statements and branches are covered.
a) Statement coverage
b) Branch coverage
c) Both a and b
d) None
“Software Testing is all about evaluating a software product or a
system along with its components, to check if it meets the specified
requirements or not.”
Video Lecture Explanation
Summary
 Software testing helps in finalizing the software application or product against
business and user requirement
 Test techniques include a process of executing a program or application with
the intent of finding software bugs which are errors or defect
 Testing is the process of evaluating a system
 Software testing is an investigation conducted to provide stakeholders with
information about the quality of the product or service under test
 Software quality: Software quality is the degree of conformance to explicit or
implicit requirements and expectations.
Summary
 White Box Testing: It is a software testing method where the internal
structure or design or implementation of the item being tested is known to the
tester
 Black Box Testing: It is a software testing method in which the internal
structure or design or implementation of the item being tested is not known to
the tester
 Agile Testing: It is a software testing method which follows the principles of
agile software development
 Different types of testing rectifies different kinds of defects and gives different
defect removal rates (DRR).
Summary
 Structural Testing is also known as glass box testing or white box testing
 Grey Box Testing: It is a software testing method which is a combination of
Black and White Box testing methods
 Grey Box Testing: It provides combined benefits of both black and white box
testing
e-References
• Guru99 (2016). “Regression Testing”. Retrieved on 20 April 2016 from
http://www.guru99.com/regression-testing.htm
• TechTarget (2016). “Grey Box Testing”. Retrieved on 20 April 2016 from
http://searchsoftwarequality.techtarget.com/definition/gray-box
• Tutorials point (2016). “Software Implementation”. Retrieved on 20 April 2016 from
http://www.tutorialspoint.com//software_engineering/software_implementation.htm
e-References
• Tutorials point (2016). “Structural Testing”. Retrieved on 20 April 2016 from
http://www.tutorialspoint.com/software_testing_dictionary/structural_testing.htm
• Tutorials point (2016). “Black Box Testing”. Retrieved on 20 April 2016 from
http://www.tutorialspoint.com/software_testing_dictionary/black_box_testing.htm
External Resources
1) Roger S Pressman, Seventh Edition, Software Engineering – a practitioners
approach
2) Pratap K.J. Mohapatra , Software Engineering, A Lifecycle Approach
3) Ian Sommerville, Software engineering, sixth edition

More Related Content

Similar to Software testing software engineering.pdf

Manual Testing software testing all slide
Manual Testing software testing all slideManual Testing software testing all slide
Manual Testing software testing all slideSmileySmiley39
 
manualtesting-170218090020 (1).pdf
manualtesting-170218090020 (1).pdfmanualtesting-170218090020 (1).pdf
manualtesting-170218090020 (1).pdfperamdevi06
 
ITFT--Software testing
ITFT--Software testingITFT--Software testing
ITFT--Software testingShifali Sharma
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tacticsPreeti Mishra
 
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
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and typesConfiz
 
Software testing
Software testingSoftware testing
Software testingmkn3009
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testingAbhishek Saxena
 
<p>Software Testing</p>
<p>Software Testing</p><p>Software Testing</p>
<p>Software Testing</p>Atul Mishra
 
An overview to Software Testing
An overview to Software TestingAn overview to Software Testing
An overview to Software TestingAtul Mishra
 
Software testing-and-analysis
Software testing-and-analysisSoftware testing-and-analysis
Software testing-and-analysisWBUTTUTORIALS
 
Software testing part
Software testing partSoftware testing part
Software testing partPreeti Mishra
 
An Insight into the Black Box and White Box Software Testing
An Insight into the Black Box and White Box Software Testing An Insight into the Black Box and White Box Software Testing
An Insight into the Black Box and White Box Software Testing BugRaptors
 
Software Testing Training in Chandigarh
Software Testing Training in ChandigarhSoftware Testing Training in Chandigarh
Software Testing Training in ChandigarhKreativan Technologies
 
Software Engineering (Testing Overview)
Software Engineering (Testing Overview)Software Engineering (Testing Overview)
Software Engineering (Testing Overview)ShudipPal
 

Similar to Software testing software engineering.pdf (20)

Manual Testing software testing all slide
Manual Testing software testing all slideManual Testing software testing all slide
Manual Testing software testing all slide
 
manualtesting-170218090020 (1).pdf
manualtesting-170218090020 (1).pdfmanualtesting-170218090020 (1).pdf
manualtesting-170218090020 (1).pdf
 
ITFT--Software testing
ITFT--Software testingITFT--Software testing
ITFT--Software testing
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tactics
 
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...
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and types
 
Software testing
Software testingSoftware testing
Software testing
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testing
 
<p>Software Testing</p>
<p>Software Testing</p><p>Software Testing</p>
<p>Software Testing</p>
 
An overview to Software Testing
An overview to Software TestingAn overview to Software Testing
An overview to Software Testing
 
Software testing-and-analysis
Software testing-and-analysisSoftware testing-and-analysis
Software testing-and-analysis
 
Software testing part
Software testing partSoftware testing part
Software testing part
 
Testing
TestingTesting
Testing
 
An Insight into the Black Box and White Box Software Testing
An Insight into the Black Box and White Box Software Testing An Insight into the Black Box and White Box Software Testing
An Insight into the Black Box and White Box Software Testing
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Software testing
Software testingSoftware testing
Software testing
 
Software Testing Training in Chandigarh
Software Testing Training in ChandigarhSoftware Testing Training in Chandigarh
Software Testing Training in Chandigarh
 
Software testing
Software testingSoftware testing
Software testing
 
Software Engineering (Testing Overview)
Software Engineering (Testing Overview)Software Engineering (Testing Overview)
Software Engineering (Testing Overview)
 
Different Types Of Testing
Different Types Of TestingDifferent Types Of Testing
Different Types Of Testing
 

Recently uploaded

Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementmkooblal
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfadityarao40181
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerunnathinaik
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxEyham Joco
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
CELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxCELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxJiesonDelaCerna
 
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxHistory Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxsocialsciencegdgrohi
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfUjwalaBharambe
 

Recently uploaded (20)

Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Hierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of managementHierarchy of management that covers different levels of management
Hierarchy of management that covers different levels of management
 
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdf
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developer
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptx
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
ESSENTIAL of (CS/IT/IS) class 06 (database)
ESSENTIAL of (CS/IT/IS) class 06 (database)ESSENTIAL of (CS/IT/IS) class 06 (database)
ESSENTIAL of (CS/IT/IS) class 06 (database)
 
CELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxCELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptx
 
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptxHistory Class XII Ch. 3 Kinship, Caste and Class (1).pptx
History Class XII Ch. 3 Kinship, Caste and Class (1).pptx
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
 

Software testing software engineering.pdf

  • 2. Aim To equip the students with fundamentals of software testing and its various types
  • 3. Instructional Objectives After completing this chapter, you should be able to: • Describe the fundamental concepts of software testing • Outline the taxonomy of software testing • Explain the types of software testing • Describe black box testing, white box testing and grey box testing
  • 4. Learning Outcomes At the end of this chapter, you are expected to: • Explain taxonomy and concepts used for software testing • Elaborate the principles of software testing • Describe the different types of software testing • Mention the advantages and disadvantages of white box testing and black box testing • Differentiate between black box, white box and grey box testing
  • 5. Objective 1 Describe the Fundamental Concepts of Software Testing Introduction Testing Fundamentals
  • 6. Introduction . “Software Testing is all about evaluating a software product or a system along with its components, to check if it meets the specified requirements or not.” “Software testing is an iterative process.” “Different testing methodologies are used at different stages of the software development.”
  • 7. Testing Fundamentals • Software quality: Degree of conformity of the software to a variety of expectations and requirements. • Dimensions of Quality: Some of the key dimensions of software quality are compatibility, accessibility, robustness efficiency, flexibility, concurrency and conformity. • Software Quality Assurance: It is a set of activities that ensures the quality in each and every step of software engineering process.
  • 8. Testing Fundamentals • Software Quality Control: Set of activities that ensure that the software that is being built is of highest quality across all dimensions mentioned above. • Software Development Life Cycle: It is a sequence of steps followed in software development process to develop the required software as per specifications. • Software Testing Methodologies: Various methods used for testing the software at different stages of software development.
  • 9. Testing Fundamentals • Black Box Testing: Where the internal structure or design of the component or module that is being tested is unknown to the person who performs the tests. • White Box Testing: Where the internal structure or design of the component or module that is being tested is known to the person who performs the tests • Grey Box Testing: When both black box testing and white box testing are combined and performed on a specific module or component.
  • 10. Testing Fundamentals Other testing fundamentals are: • Agile Testing • Ad Hoc Testing • Phases • Defects • Defect Detection Efficiency
  • 11. Quiz / Assessment 1) White Box Testing is a software testing method in which the internal structure or design or implementation of the item being tested is known to the tester a) True b) False 2) Black Box Testing is a software testing method in which the internal structure or design or implementation of the item being tested is not known to the tester a) True b) False
  • 12. Quiz / Assessment 3) ______________is the degree of conformance to explicit or implicit requirements and expectations. a) Software quality b) Software metric c) Software test d) Both a and b
  • 13. Objective 2 Outline the Taxonomy of Software Testing Taxonomy of Software Testing
  • 14. Taxonomy of Software Testing ” There are various testing methods and testing techniques used for a wide variety of purposes throughout the software development life cycle.” “To ensure efficiency of software testing, a taxonomy was developed which organizes 200 types of testing types into a structure.” “The execution of an object under test (OUT) under specific preconditions with specific stimuli so that its actual behaviour can be compared with its expected or required behaviour.”
  • 15. Taxonomy of Software Testing “Testing and evaluation are part of Verification and Validation (V&V) methods and Quality Control (QC).”
  • 16. Taxonomy of Software Testing “These questions were the foundations of organising the taxonomy of testing types.” What are we testing? When are we testing? Why are we testing? Who is performing the testing? Where is the testing taking place? How are we testing? How well are the objects-under-test functioning?
  • 17. .
  • 18. Quiz / Assessment 1) Different types of testing rectifies different kinds of defects a) True b) False 2) Defect Detection Efficiency (DDE) is the number of defects detected during a phase/stage that are injected during that same phase divided by the total number of defects injected during that phase. a) True b) False
  • 19. Quiz / Assessment 3) Testing practitioners can also be challenged to examine and determine the degree of completeness of Personal testing expertise, experience and training and a) Test programs and associated test planning b) Only test programs c) Only planning d) None of the above
  • 20. Objective 3 Explain the Types of Software Testing Types of Software Testing
  • 21. Types of Software Testing “Based on the preconditions, internal and external stimuli, there are a variety of testing types.” Black box testing White box testing Unit testing Incremental integration testing Integration testing Functional testing System testing End to end testing Sanity testing Regression testing Acceptance testing Install/uninstall testing Load testing Stress testing Comparison testing Compatibility testing Usability testing Recovery testing Security testing Performance testing Alpha testing Beta testing
  • 22. Types of Software Testing • “Black Box testing : Internal system design or code structure is not known to the tester.” • “White Box Testing : Internal structure or design of the component or module that is being tested is completely known to the person who performs the tests.” • “Unit Testing : Testing of individual units otherwise referred to as software components or modules” • “Incremental Integration Testing : This is bottom approach for testing.”
  • 23. Types of Software Testing • “Integration Testing : All the units or individual modules are integrated and testing is done to verify if the integrated system works as expected.” • “System Testing : The complete system with all modules & sub-components are tested.” • “End-to-end Testing : Tries to simulate the whole application environment as like how it needs to operate in the real world and then test the whole system.”
  • 24. Types of Software Testing • “Sanity Testing : Sanity testing is performed in order to determine if a new version of a software application is working as per requirements.” • “Regression Testing : Testing the entire application and its functionality.” • “Acceptance Testing : Testing for customer specified requirements.” • “Load Testing : An automated testing tool which can simulate the number of requests sent is used to check the performance of the system.”
  • 25. Types of Software Testing • “Performance Testing : Tested to check whether the system meets performance requirements.” • “Usability Testing : Testing of application flow and to check whether the new user can understand the application easily.” • “Recovery Testing : When there is an operating system or hardware crash, how well the software tackles it and recovers as a whole along with stored data, is tested in recovery testing.” • “Security Testing : This testing checks for the security of the software.”
  • 26. Types of Software Testing • “Compatibility Testing : Compatibility and performance of the software on a variety of hardware devices is tested here.” • “Comparison testing : The present version is compared against the previous versions and checked for its robustness, and efficiency of upgrades.” • “Alpha Testing : This test is done in house where virtual user environment is created for this type of testing.” • “Beta Testing : This testing is typically done by specific set of end users, testing happens in real time.”
  • 27. Quiz / Assessment 1) Performance testing is similar to load test a) True b) False 2) Usability testing is user friendly check a) True b) False 3) It’s a performance testing to check the system behaviour under load a) Load test b) Performance test c) Stress test d) None of the above
  • 28. Objective 4 Describe Black Box Testing, White Box Testing and Grey Box Testing Black Box Testing White Box Testing Grey Box Testing
  • 29. Black Box Testing “Where the internal structure or design of the component or module that is being tested, is unknown to the person who performs the test.” “Black box testing looks at the functionality as a whole.”
  • 30. Black Box Testing Advantages • Tester need not have the knowledge of code and hence internal working of the software • Clearly indicates any discrepancies in the software functionality Disadvantages • All the test inputs should be derived from a large set of requirements • Possibility of many false alarms as the tester is completely unaware of internal working of the code
  • 31. Black Box Testing Methods of Black Box Testing • Graph Based Testing Method • Error Guessing • Boundary Value Analysis • BVA Techniques • Equivalence Partitioning • Comparison Testing
  • 32. Black Box Testing • Graph Based Testing Method : All objects are identified and graph is prepared based on cause and effect (or) inputs and respective outputs. From this graph each object is identified and test cases are written to discover the errors. • Error Guessing : If the tester had already tested the application or any previous versions, then he might have an understanding about where potential errors can pop up.
  • 33. Black Box Testing • Boundary Value Analysis : Boundary Value Analysis (BVA) is one of the Functional Testing techniques wherein the extreme boundaries are chosen. • Equivalence Partitioning : This method divides the test inputs into different classes of data. • Comparison Testing : Different versions of same software are used to compare with each other for testing in this method.
  • 34. White Box Testing “Structural testing is also known as glass box testing or white box testing. It is approach where the tests are derived from the knowledge of the software’s structure or internal implementation.” Why do we do White Box Testing? • To ensure all independent paths within a module have been functioning well • To ensure all logical decisions are verified on their true and false values • To ensure all loops executed inside and outside their boundaries are valid
  • 35. White Box Testing “There are few methods under structural testing based on the areas covered.” • Statement Coverage : Aimed at exercising all programming statements with minimal tests. • Branch Coverage : Running a series of tests to ensure that all branches are tested at least once. • Path Coverage : Corresponds to testing all possible paths which means that each statements and branches are covered.
  • 36. White Box Testing Advantages • Forces test developer to reason carefully about implementation • It reveals error in hidden code • It spots the dead code and other issues Disadvantages • Expensive as both time and money is required • There are a lot of possibility that few lines of code is missed accidentally • In depth knowledge is required for performing this testing
  • 37. Grey Box Testing “Grey Box testing technique where the tester performs relevant tests on a system having a partial understanding of the design and internal structure.” Different testing techniques under grey box testing are: Regression testing Pattern testing Matrix testing Orthogonal array testing
  • 38. Grey Box Testing Advantages • Gives a blend of benefits of both black and white box testing • Grey-box tester handles design complex test scenario more intelligently • Maintains the boundary between independent testers and developers Disadvantages • Complete white box testing cannot be done • It is difficult to associate defects for a distributed systems
  • 39. Comparison among White Box, Black Box and Grey Box Testing Black Box Testing Grey Box Testing White Box Testing Internal programming not known Internal programming partially known Internal programming fully known Known as closed box, data driven and functional testing Known as translucent testing Known as glass, open box, clear box, structural testing or code based testing Done by end users and also by testers and developers Done by end users and also by testers and developers Done by testers and developers Least time consuming and exhaustive Partly time consuming and exhaustive Most exhaustive and time consuming Not suited to algorithm testing Not suited to algorithm testing Suited to algorithm testing
  • 40. Quiz / Assessment 1) Error guessing is not black box test a) True b) False 2) Tester can be non-technical in black box testing. a) True b) False 3) Comparison testing compares the present version of the software with a) Another software b) Requirements specification c) Future versions d) Previous versions
  • 41. Quiz / Assessment 4) Structural testing is also known as glass box testing a) True b) False 5) This technique is aimed at exercising all programming statements with minimal tests a) Statement coverage b) Branch coverage c) Both a and b d) None
  • 42. Quiz / Assessment 6) This technique corresponds to testing all possible paths which means that each statements and branches are covered. a) Statement coverage b) Branch coverage c) Both a and b d) None
  • 43. “Software Testing is all about evaluating a software product or a system along with its components, to check if it meets the specified requirements or not.” Video Lecture Explanation
  • 44. Summary  Software testing helps in finalizing the software application or product against business and user requirement  Test techniques include a process of executing a program or application with the intent of finding software bugs which are errors or defect  Testing is the process of evaluating a system  Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test  Software quality: Software quality is the degree of conformance to explicit or implicit requirements and expectations.
  • 45. Summary  White Box Testing: It is a software testing method where the internal structure or design or implementation of the item being tested is known to the tester  Black Box Testing: It is a software testing method in which the internal structure or design or implementation of the item being tested is not known to the tester  Agile Testing: It is a software testing method which follows the principles of agile software development  Different types of testing rectifies different kinds of defects and gives different defect removal rates (DRR).
  • 46. Summary  Structural Testing is also known as glass box testing or white box testing  Grey Box Testing: It is a software testing method which is a combination of Black and White Box testing methods  Grey Box Testing: It provides combined benefits of both black and white box testing
  • 47. e-References • Guru99 (2016). “Regression Testing”. Retrieved on 20 April 2016 from http://www.guru99.com/regression-testing.htm • TechTarget (2016). “Grey Box Testing”. Retrieved on 20 April 2016 from http://searchsoftwarequality.techtarget.com/definition/gray-box • Tutorials point (2016). “Software Implementation”. Retrieved on 20 April 2016 from http://www.tutorialspoint.com//software_engineering/software_implementation.htm
  • 48. e-References • Tutorials point (2016). “Structural Testing”. Retrieved on 20 April 2016 from http://www.tutorialspoint.com/software_testing_dictionary/structural_testing.htm • Tutorials point (2016). “Black Box Testing”. Retrieved on 20 April 2016 from http://www.tutorialspoint.com/software_testing_dictionary/black_box_testing.htm
  • 49. External Resources 1) Roger S Pressman, Seventh Edition, Software Engineering – a practitioners approach 2) Pratap K.J. Mohapatra , Software Engineering, A Lifecycle Approach 3) Ian Sommerville, Software engineering, sixth edition