SlideShare a Scribd company logo
1 of 26
Learning Module I
Software Testing
By
Harsimrat Deo
(Assistant Professor, PG Department of Computer
Science, Mata Gujri College, Fatehgarh-Sahib)
Topics to be Covered
 Meaning of software testing
 Software testing lifecycle
 Principles of software testing
 Techniques of software testing
Learning Outcomes
 After going through this module the students will be
able to know the concept of software testing
 Understand the software testing lifecycle
 Learn principles of software testing and
 Know the techniques of software testing
Software testing refers to process of
evaluating the software with intention to find
out error in it.
Software testing is a technique aimed at
evaluating an attribute or capability of a
program or product and determining that it
meets its quality.
Software testing is also used to test the
software for other software quality factors
like reliability, usability, integrity, security,
capability, efficiency, portability,
maintainability, compatibility etc.
Software Testing
Principles of Software Testing
1. Testing shows the presence of bugs
Testing an application can only reveal that
one or more defects exist in the application,
however, testing alone cannot prove that the
application is error free. Therefore, it is
important to design test cases which find as
many defects as possible.
2. Exhaustive testing is impossible
Unless the application under test (AUT)
has a very simple logical structure and
limited input, it is not possible to test all
possible combinations of data and
scenarios. For this reason, risk and
priorities are used to concentrate on the
most important aspects to test.
3. Early testing
The sooner we start the testing activities the
better we can utilize the available time. As
soon as the initial products, such the
requirement or design documents are
available, we can start testing. It is common
for the testing phase to get squeezed at the
end of the development lifecycle, i.e. when
development has finished, so by starting
testing early, we can prepare testing for each
level of the development lifecycle.
How Much Testing Is Enough?
Another important point about early
testing is that when defects are found
earlier in the lifecycle, they are much
easier and cheaper to fix. It is much
cheaper to change an incorrect
requirement than having to change a
functionality in a large system that is
not working as requested or as
designed!
4. Defect clustering
During testing, it can be observed that most of
the reported defects are related to small number
of modules within a system. i.e. small number of
modules contain most of the defects in the
system. This is the application of the Pareto
Principle to software testing: approximately 80%
of the problems are found in 20% of the
modules.
5. The pesticide paradox
If you keep running the same set of tests over and over
again, chances are no more new defects will be discovered
by those test cases. Because as the system evolves, many
of the previously reported defects will have been fixed
and the old test cases do not apply anymore. Anytime a
fault is fixed or a new functionality added, we need to do
regression testing to make sure the new changed software
has not broken any other part of the software. However,
those regression test cases also need to change to reflect
the changes made in the software to be applicable and
hopefully fine new defects.
6. Testing is context dependent
Different methodologies, techniques and types of
testing is related to the type and nature of the
application. For example, a software application in a
medical device needs more testing than a games
software. More importantly a medical device software
requires risk based testing, be compliant with medical
industry regulators and possibly specific test design
techniques. By the same token, a very popular website,
needs to go through rigorous performance testing as
well as functionality testing to make sure the
performance is not affected by the load on the servers.
7. Absence of errors fallacy
Just because testing didn’t find any defects in
the software, it doesn’t mean that the software
is ready to be shipped. Were the executed tests
really designed to catch the most defects? or
where they designed to see if the software
matched the user’s requirements? There are
many other factors to be considered before
making a decision to ship the software
Techniques of software testing
1. Manual testing (static testing): It is a
slow process and laborious where testing is
done statically .It is done in early phase of
life cycle. It is also called static testing. It is
done by analyst, developer and testing team.
Different Manual testing Techniques are as
follows:-
A) walk through
B) Informal Review
C) Technical Review
D) Inspection
A) Walk through:
•It is not a formal process/review
•It is led by the authors
•Author guide the participants through the
document according to his or her thought
process to achieve a common understanding
and to gather feedback.
B) Informal Review:
Informal reviews are applied many times during
the early stages of the life cycle of the document.
A two person team can conduct an informal
review. In later stages these reviews often involve
more people and a meeting. The goal is to keep
the author and to improve the quality of the
document. The most important thing to keep in
mind about the informal reviews is that they are
not documented.
C) Technical Review:
A Technical review is a static white-box
testing technique which is conducted to
spot the defects early in the life cycle that
cannot be detected by black box testing
techniques.
•Technical Reviews are documented and use
a defect detection process that has peers and
technical specialist as part of the review
process.
•The Review process doesn't involve
management participation.
•It is usually led by trained moderator who is
NOT the author.
•The report is prepared with the list of issues
that needs to be addressed.
D) Inspection:
•It is the most formal review type
•It is led by the trained moderators
•During inspection the documents are prepared and
checked thoroughly by the reviewers before the
meeting
•A separate preparation is carried out during which the
product is examined and the defects are found
•The defects found are documented in a logging list or
issue log
•A formal follow-up is carried out by the moderator
applying exit criteria
•It involves peers to examine the product
2. Automated Testing (Dynamic testing):
In this tester runs the script on the testing tool
and testing is done. Automated testing is also
called dynamic testing.
Automated testing is classified into four Types:-
A) Correctness testing
B) Performance testing
C) Reliability testing
D) Security testing
A) Correctness Testing:
Correctness is the minimum requirement of
software. Correctness testing will need some
type of oracle, to tell the right behavior from the
wrong one. The tester may or may not know the
inside details of the software module under test.
Therefore either white box testing or black box
testing can be used.
B) Performance Testing :
Performance Testing involve all the phases as the
mainstream testing life cycle as an independent
discipline which involve strategy such as plan,
design, execution, analysis and reporting. Not all
software has specification on performance
explicitly. But every system will have implicit
performance requirements. Performance has
always been a great concern and driving force of
computer evolution.
C) RELIABILITY TESTING:
The purpose of reliability testing is to discover
potential problems with the design as early as
possible and, ultimately, provide confidence that
the system meets its reliability requirements.
Reliability testing is related to many aspects of
software in which testing process is included; this
testing process is an effective sampling method to
measure software reliability. In system after
software is developed reliability testing techniques
like analyze or fix techniques can be carried out to
check whether to use the software.
D) SECURITY TESTING :
Software quality, reliability and security are
tightly coupled. Flaws in software can be
exploited by intruders to opens security holes.
Security testing makes sure that only the
authorized personnel can access the program
and only the authorized personnel can access the
functions available to their security level. The
security testing is performed to check whether
there is any information leakage in the sense by
encrypting the application or using wide range of
software’s and hardware's and firewall etc.

More Related Content

What's hot

Software Quality Analyst and Software Quality Management
Software Quality Analyst and Software Quality ManagementSoftware Quality Analyst and Software Quality Management
Software Quality Analyst and Software Quality Managementنور شزننا
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assuranceRajeev Sharan
 
Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)ShudipPal
 
Ch 10 cost of software quality
Ch 10 cost of software qualityCh 10 cost of software quality
Ch 10 cost of software qualityKittitouch Suteeca
 
Software engineering quality assurance and testing
Software engineering quality assurance and testingSoftware engineering quality assurance and testing
Software engineering quality assurance and testingBipul Roy Bpl
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5Mohammad Faizan
 
Software configuration management
Software configuration managementSoftware configuration management
Software configuration managementShivani Garg
 
Software Quality Management
Software Quality ManagementSoftware Quality Management
Software Quality ManagementKrishna Sujeer
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurancelokareminakshi
 
Introduction To Software Quality Assurance
Introduction To Software Quality AssuranceIntroduction To Software Quality Assurance
Introduction To Software Quality Assuranceruth_reategui
 
Software Quality Framework Introduction
Software Quality Framework IntroductionSoftware Quality Framework Introduction
Software Quality Framework IntroductionDon Hough
 
Rhonda Software Quality Assurance Services
Rhonda Software Quality Assurance ServicesRhonda Software Quality Assurance Services
Rhonda Software Quality Assurance ServicesRhonda Software
 

What's hot (20)

Software Quality Analyst and Software Quality Management
Software Quality Analyst and Software Quality ManagementSoftware Quality Analyst and Software Quality Management
Software Quality Analyst and Software Quality Management
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Software testing
Software testingSoftware testing
Software testing
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Ch 10 cost of software quality
Ch 10 cost of software qualityCh 10 cost of software quality
Ch 10 cost of software quality
 
Software engineering quality assurance and testing
Software engineering quality assurance and testingSoftware engineering quality assurance and testing
Software engineering quality assurance and testing
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5
 
Software configuration management
Software configuration managementSoftware configuration management
Software configuration management
 
Software Quality Management
Software Quality ManagementSoftware Quality Management
Software Quality Management
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Introduction To Software Quality Assurance
Introduction To Software Quality AssuranceIntroduction To Software Quality Assurance
Introduction To Software Quality Assurance
 
Sqa
SqaSqa
Sqa
 
Software Quality Framework Introduction
Software Quality Framework IntroductionSoftware Quality Framework Introduction
Software Quality Framework Introduction
 
Sqa 2 marks
Sqa 2 marksSqa 2 marks
Sqa 2 marks
 
Software quality management standards
Software quality management standardsSoftware quality management standards
Software quality management standards
 
Rhonda Software Quality Assurance Services
Rhonda Software Quality Assurance ServicesRhonda Software Quality Assurance Services
Rhonda Software Quality Assurance Services
 

Similar to Software Testing

SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTINGacemindia
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance Webtech Learning
 
Lesson 7...Question Part 1
Lesson 7...Question Part 1Lesson 7...Question Part 1
Lesson 7...Question Part 1bhushan Nehete
 
EFFECTIVE TEST CASE DESING: A REVIEW
EFFECTIVE TEST CASE DESING: A REVIEWEFFECTIVE TEST CASE DESING: A REVIEW
EFFECTIVE TEST CASE DESING: A REVIEWJournal For Research
 
SOFTWARE TESTING UNIT-4
SOFTWARE TESTING UNIT-4  SOFTWARE TESTING UNIT-4
SOFTWARE TESTING UNIT-4 Mohammad Faizan
 
Software testing q as collection by ravi
Software testing q as   collection by raviSoftware testing q as   collection by ravi
Software testing q as collection by raviRavindranath Tagore
 
Welingkar_final project_ppt_IMPORTANCE & NEED FOR TESTING
Welingkar_final project_ppt_IMPORTANCE & NEED FOR TESTINGWelingkar_final project_ppt_IMPORTANCE & NEED FOR TESTING
Welingkar_final project_ppt_IMPORTANCE & NEED FOR TESTINGSachin Pathania
 
The Essential Guide to Software Testing.pdf
The Essential Guide to Software Testing.pdfThe Essential Guide to Software Testing.pdf
The Essential Guide to Software Testing.pdfKajal Digital
 
Aim (A).pptx
Aim (A).pptxAim (A).pptx
Aim (A).pptx14941
 
Manual Testing Interview Questions & Answers.docx
Manual Testing Interview Questions & Answers.docxManual Testing Interview Questions & Answers.docx
Manual Testing Interview Questions & Answers.docxssuser305f65
 
Principles and Goals of Software Testing
Principles and Goals of Software Testing Principles and Goals of Software Testing
Principles and Goals of Software Testing INFOGAIN PUBLICATION
 

Similar to Software Testing (20)

SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTING
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
 
Lesson 7...Question Part 1
Lesson 7...Question Part 1Lesson 7...Question Part 1
Lesson 7...Question Part 1
 
EFFECTIVE TEST CASE DESING: A REVIEW
EFFECTIVE TEST CASE DESING: A REVIEWEFFECTIVE TEST CASE DESING: A REVIEW
EFFECTIVE TEST CASE DESING: A REVIEW
 
SOFTWARE TESTING UNIT-4
SOFTWARE TESTING UNIT-4  SOFTWARE TESTING UNIT-4
SOFTWARE TESTING UNIT-4
 
Software unit4
Software unit4Software unit4
Software unit4
 
Testing Software
Testing SoftwareTesting Software
Testing Software
 
Software testing q as collection by ravi
Software testing q as   collection by raviSoftware testing q as   collection by ravi
Software testing q as collection by ravi
 
Welingkar_final project_ppt_IMPORTANCE & NEED FOR TESTING
Welingkar_final project_ppt_IMPORTANCE & NEED FOR TESTINGWelingkar_final project_ppt_IMPORTANCE & NEED FOR TESTING
Welingkar_final project_ppt_IMPORTANCE & NEED FOR TESTING
 
Qa Faqs
Qa FaqsQa Faqs
Qa Faqs
 
The Essential Guide to Software Testing.pdf
The Essential Guide to Software Testing.pdfThe Essential Guide to Software Testing.pdf
The Essential Guide to Software Testing.pdf
 
T0 numtq0nje=
T0 numtq0nje=T0 numtq0nje=
T0 numtq0nje=
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Aim (A).pptx
Aim (A).pptxAim (A).pptx
Aim (A).pptx
 
S440999102
S440999102S440999102
S440999102
 
UNIT 1.pptx
UNIT 1.pptxUNIT 1.pptx
UNIT 1.pptx
 
Manual Testing Interview Questions & Answers.docx
Manual Testing Interview Questions & Answers.docxManual Testing Interview Questions & Answers.docx
Manual Testing Interview Questions & Answers.docx
 
Principles and Goals of Software Testing
Principles and Goals of Software Testing Principles and Goals of Software Testing
Principles and Goals of Software Testing
 
Fundamentals of Testing Section 1/6
Fundamentals of Testing   Section 1/6Fundamentals of Testing   Section 1/6
Fundamentals of Testing Section 1/6
 
A COMPOSITION ON SOFTWARE TESTING
A COMPOSITION ON SOFTWARE TESTINGA COMPOSITION ON SOFTWARE TESTING
A COMPOSITION ON SOFTWARE TESTING
 

Recently uploaded

ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxRaymartEstabillo3
 
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
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
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
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitolTechU
 
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
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17Celine George
 
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
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.arsicmarija21
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...jaredbarbolino94
 
MICROBIOLOGY biochemical test detailed.pptx
MICROBIOLOGY biochemical test detailed.pptxMICROBIOLOGY biochemical test detailed.pptx
MICROBIOLOGY biochemical test detailed.pptxabhijeetpadhi001
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaVirag Sontakke
 

Recently uploaded (20)

ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
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
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.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)
 
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
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
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
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptx
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
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
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17
 
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
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...
 
MICROBIOLOGY biochemical test detailed.pptx
MICROBIOLOGY biochemical test detailed.pptxMICROBIOLOGY biochemical test detailed.pptx
MICROBIOLOGY biochemical test detailed.pptx
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of India
 

Software Testing

  • 1. Learning Module I Software Testing By Harsimrat Deo (Assistant Professor, PG Department of Computer Science, Mata Gujri College, Fatehgarh-Sahib)
  • 2. Topics to be Covered  Meaning of software testing  Software testing lifecycle  Principles of software testing  Techniques of software testing
  • 3. Learning Outcomes  After going through this module the students will be able to know the concept of software testing  Understand the software testing lifecycle  Learn principles of software testing and  Know the techniques of software testing
  • 4. Software testing refers to process of evaluating the software with intention to find out error in it. Software testing is a technique aimed at evaluating an attribute or capability of a program or product and determining that it meets its quality. Software testing is also used to test the software for other software quality factors like reliability, usability, integrity, security, capability, efficiency, portability, maintainability, compatibility etc. Software Testing
  • 5.
  • 7. 1. Testing shows the presence of bugs Testing an application can only reveal that one or more defects exist in the application, however, testing alone cannot prove that the application is error free. Therefore, it is important to design test cases which find as many defects as possible.
  • 8. 2. Exhaustive testing is impossible Unless the application under test (AUT) has a very simple logical structure and limited input, it is not possible to test all possible combinations of data and scenarios. For this reason, risk and priorities are used to concentrate on the most important aspects to test.
  • 9. 3. Early testing The sooner we start the testing activities the better we can utilize the available time. As soon as the initial products, such the requirement or design documents are available, we can start testing. It is common for the testing phase to get squeezed at the end of the development lifecycle, i.e. when development has finished, so by starting testing early, we can prepare testing for each level of the development lifecycle.
  • 10. How Much Testing Is Enough? Another important point about early testing is that when defects are found earlier in the lifecycle, they are much easier and cheaper to fix. It is much cheaper to change an incorrect requirement than having to change a functionality in a large system that is not working as requested or as designed!
  • 11. 4. Defect clustering During testing, it can be observed that most of the reported defects are related to small number of modules within a system. i.e. small number of modules contain most of the defects in the system. This is the application of the Pareto Principle to software testing: approximately 80% of the problems are found in 20% of the modules.
  • 12. 5. The pesticide paradox If you keep running the same set of tests over and over again, chances are no more new defects will be discovered by those test cases. Because as the system evolves, many of the previously reported defects will have been fixed and the old test cases do not apply anymore. Anytime a fault is fixed or a new functionality added, we need to do regression testing to make sure the new changed software has not broken any other part of the software. However, those regression test cases also need to change to reflect the changes made in the software to be applicable and hopefully fine new defects.
  • 13. 6. Testing is context dependent Different methodologies, techniques and types of testing is related to the type and nature of the application. For example, a software application in a medical device needs more testing than a games software. More importantly a medical device software requires risk based testing, be compliant with medical industry regulators and possibly specific test design techniques. By the same token, a very popular website, needs to go through rigorous performance testing as well as functionality testing to make sure the performance is not affected by the load on the servers.
  • 14. 7. Absence of errors fallacy Just because testing didn’t find any defects in the software, it doesn’t mean that the software is ready to be shipped. Were the executed tests really designed to catch the most defects? or where they designed to see if the software matched the user’s requirements? There are many other factors to be considered before making a decision to ship the software
  • 16. 1. Manual testing (static testing): It is a slow process and laborious where testing is done statically .It is done in early phase of life cycle. It is also called static testing. It is done by analyst, developer and testing team. Different Manual testing Techniques are as follows:- A) walk through B) Informal Review C) Technical Review D) Inspection
  • 17. A) Walk through: •It is not a formal process/review •It is led by the authors •Author guide the participants through the document according to his or her thought process to achieve a common understanding and to gather feedback.
  • 18. B) Informal Review: Informal reviews are applied many times during the early stages of the life cycle of the document. A two person team can conduct an informal review. In later stages these reviews often involve more people and a meeting. The goal is to keep the author and to improve the quality of the document. The most important thing to keep in mind about the informal reviews is that they are not documented.
  • 19. C) Technical Review: A Technical review is a static white-box testing technique which is conducted to spot the defects early in the life cycle that cannot be detected by black box testing techniques.
  • 20. •Technical Reviews are documented and use a defect detection process that has peers and technical specialist as part of the review process. •The Review process doesn't involve management participation. •It is usually led by trained moderator who is NOT the author. •The report is prepared with the list of issues that needs to be addressed.
  • 21. D) Inspection: •It is the most formal review type •It is led by the trained moderators •During inspection the documents are prepared and checked thoroughly by the reviewers before the meeting •A separate preparation is carried out during which the product is examined and the defects are found •The defects found are documented in a logging list or issue log •A formal follow-up is carried out by the moderator applying exit criteria •It involves peers to examine the product
  • 22. 2. Automated Testing (Dynamic testing): In this tester runs the script on the testing tool and testing is done. Automated testing is also called dynamic testing. Automated testing is classified into four Types:- A) Correctness testing B) Performance testing C) Reliability testing D) Security testing
  • 23. A) Correctness Testing: Correctness is the minimum requirement of software. Correctness testing will need some type of oracle, to tell the right behavior from the wrong one. The tester may or may not know the inside details of the software module under test. Therefore either white box testing or black box testing can be used.
  • 24. B) Performance Testing : Performance Testing involve all the phases as the mainstream testing life cycle as an independent discipline which involve strategy such as plan, design, execution, analysis and reporting. Not all software has specification on performance explicitly. But every system will have implicit performance requirements. Performance has always been a great concern and driving force of computer evolution.
  • 25. C) RELIABILITY TESTING: The purpose of reliability testing is to discover potential problems with the design as early as possible and, ultimately, provide confidence that the system meets its reliability requirements. Reliability testing is related to many aspects of software in which testing process is included; this testing process is an effective sampling method to measure software reliability. In system after software is developed reliability testing techniques like analyze or fix techniques can be carried out to check whether to use the software.
  • 26. D) SECURITY TESTING : Software quality, reliability and security are tightly coupled. Flaws in software can be exploited by intruders to opens security holes. Security testing makes sure that only the authorized personnel can access the program and only the authorized personnel can access the functions available to their security level. The security testing is performed to check whether there is any information leakage in the sense by encrypting the application or using wide range of software’s and hardware's and firewall etc.