SlideShare a Scribd company logo
SOFTWARETESTING ANDSOFTWARETESTING AND
SOFTWARE DEVELOPMENTSOFTWARE DEVELOPMENT
PROCESS (SDP)PROCESS (SDP)
Aloysius Ochola
2010/HD18/431U
MAKERERE UNIVERSITY
School of Computing and InformaticsTechnology
MCN 8108MCN 8108 Software Quality Assurance & TestingSoftware Quality Assurance & Testing
MscCS Class Presentations. Nov. 2011
SoftwareTestingSoftwareTesting
Programs are implemented to provide a concrete
representation of an algorithm
◦ major concern is with the correctness and performance of the
implementation.
Engineers must then ensure that their software
systems achieve an appropriate level of quality
Software verification (through correctness proof)
◦ Technique to assist during the specification, design, and
implementation of a software system
Software testing (alternative for verification)
◦ Process of assessing the functionality and correctness of a
program through execution or analysis
◦ Basically a methodology to find bugs in a software with an
intent to fix them
2 Software Testing and the SDP
SoftwareTesting (cont)SoftwareTesting (cont)
Software testing is more than just error detection.
Looked at as operating the software under
controlled conditions to verify that it behaves as
specified to detect errors and validate that what has
been specified is what the user actually wanted.
◦ Verification - check or test items, including software,
for conformance and consistency by evaluating the
results against pre-specified requirements. 
 Check if we are building what the customer wants
 Qn. Are we building the system right?
◦ Error Detection - Testing should intentionally attempt
to make things go wrong.
 Determine if things happen when they shouldn’t or things don’t
happen when they should.
3 Software Testing and the SDP
SoftwareTesting (cont)SoftwareTesting (cont)
◦ Validation (system correctness) - process of
checking that what has been specified is what
the user actually wanted. 
 Check if we are building that system correctly
 Qn. Are we building the right system?
Both verification and validation are
necessary, but different components of any
testing activity.
4 Software Testing and the SDP
Limits of SoftwareTestingLimits of SoftwareTesting
Can not test a program completely
◦ Completeness means that at the end of testing,
there are no undiscovered software errors.
Whether they've been fixed is a different issue,
but all problems must be known and
understood
◦ Why complete testing is impossible
 The domain of possible inputs is too large to test
 There are too many possible paths through the
program to test
 The user interface issues (and thus the design issues)
are too complex to completely test
5 Software Testing and the SDP
Limits of S.T(cont…)Limits of S.T(cont…)
Testing can only prove the presence of bugs
but never their absence
You can not test the program’s response to
every possible input
◦ The number of test inputs, even for this simple a
program, is huge.
You can not test every path the program can
take
◦ As with testing input data, it is important to realize
that you have not completely tested the program
unless you have exercised every path.
◦ No such paths as safe to skip
Software Testing and the SDP6
Limits of S.T(cont…)Limits of S.T(cont…)
You can not find every design error
◦ A program meets the specification by doing
exactly what a specification says it should
◦ If specification goes wrong? Ex.Asks for 1x1=11
◦ Being in the specification doesn't make them right
◦ You can't completely test a program if you can't
find all of its design errors
You can not prove programs correct using
logic
◦ can only validate the internal consistency of the
program
◦ What if the specifications were wrong?
Software Testing and the SDP7
Limits of S.T(cont…)Limits of S.T(cont…)
You can not verify that the program works
correctly
◦ A tester is interested in verifying the program
◦ How? If the program can not be tested
completely
Software Testing and the SDP8
Objectives of Testing SoftwareObjectives of Testing Software
The purpose of testing is verification,
validation and error detection in order to
find problems. And the purpose of finding
those problems is to get them fixed.
Testing Software to Find Problems
◦ Executing a program with the intent of finding an
error
◦ Check if the system meets the requirements and
be executed successfully in the Intended
environment
◦ Check if the system is “ Fit for purpose”
◦ Check if system does what it is expected to do
9 Software Testing and the SDP
Objectives of Testing SoftwareObjectives of Testing Software
Finding Problems to Fix them
◦ One benefit of testing is that it results in
improved quality
◦ uncovering yet undiscovered errors
◦ Fixing bugs
◦ You take a destructive attitude toward the
program when you test
Software Testing and the SDP10
Testing Life-Cycle PhasesTesting Life-Cycle Phases
Basically 5 stages involved include
Requirements Study
◦ Understanding of the requirements is very essential for
testing a product
◦ So we set a starting point to the study of the client’s
requirements
◦ Involves the analysis and planning phase, encapsulates
 Test objective and coverage
 Overall schedule
 Standards and Methodologies
 Resources required, including necessary training
 Roles and responsibilities of the team members
 Tools used
Software Testing and the SDP11
Testing Life-cycle phasesTesting Life-cycle phases
Test Case Design and Development
◦ Identify Components
◦ Test Specification Design
◦ Test Specification Reviews
Test Execution
◦ Code Review
◦ Test execution and evaluation
◦ Performance and simulation
Test Closure
◦ Test summary report
◦ Project Documentation
Test Process Analysis
◦ Done on the reports and improving the performance of
application by implementing new technology.
Software Testing and the SDP12
SoftwareTesting TechniquesSoftwareTesting Techniques
 Different techniques are used for software techniques.
The commonly used are the following
 Black BoxTesting (functional/behavioural)
◦ No knowledge of internal design or code required.
13 Software Testing and the SDP
◦ focus on outputs in
response to
selected inputs and
execution
conditions
◦ Tests are based on
requirements and
functionality.
White box testingWhite box testing (Glass box)
◦ Takes into account the internal mechanism of the
system
◦ White Box is most appropriate when we must
assure that the calculations are correct.
◦ Covering every possible path through a module is
usually not practical
 Goal is to ensure that all conditional statements have
been executed at least once
◦ Requirements fulfilments and interface availability
and working assurance
 Grey BoxTestingGrey BoxTesting
◦ The combination of White and Black box testing
Software Testing and the SDP14
Stages of SoftwareTestingStages of SoftwareTesting
UnitTesting
 Micro scale of testing done on particular functions or code
modules
 Internal program design and code knowledge is required
 Thus, done by Programmers after modules have been coded.
 Objectives
◦ To test the function of a program or unit of code such as a module
◦ To test internal logic
◦ To verify internal design
◦ To test path and conditions coverage
◦ To test exception conditions & error handling
 White box testing and test coverage techniques deployed
 Tools guiding unit testing include; Debug, Re-structure, code
analyzers and path coverage tools
Software Testing and the SDP15
IntegratedTesting
 Testing of combined parts of an application to determine
their functional correctness
 Done to technically verify proper interfacing between modules
and within sub-systems.
 Always carried out by developers after modules are unit
tested
 White Box, Black box and configuration management,
techniques used.
 Types of Integrated Testing
◦ Bottom - up testing (test harness)
◦ Top - down testing (stubs).
◦ Modified top - down testing - test levels independently.
◦ Big Bang
◦ Sandwich testing
Software Testing and the SDP16
SystemTesting
Major objectives include
◦ Verify that system components perform control
functions
◦ To perform inter-system test
◦ To perform appropriate types of tests relating to
transaction flows, installation, reliability, regression, etc
It is done by both users and the development
team after integration testing
System integrated testing is often carried out
after system testing but outside the project life
cycle
◦ Tests the co-existence of products and applications
that are required to perform together in a production-
like operational environment
Software Testing and the SDP17
AcceptanceTesting
This is performed by the end users
To verify that the system meets their
requirements.
Black box technique is applied
Tools used may include:
◦ Comparison
◦ Keystroke capture
◦ Playback
◦ Regression testing
Software Testing and the SDP18
Types of SoftwareTestingTypes of SoftwareTesting
We have come across so many types of
software testing
Two major approaches of software testing
◦ Manual testing – done by man. Tester runs the
software for errors. Consumes a lot of time
because testing has to be repeated after every
change (regression testing)
◦ Automated testing – Testing employing software
tools which execute tests without manual
intervention
 performed by writing test drivers that can run
automatically and produce test results
19 Software Testing and the SDP
Major Types of TestingMajor Types of Testing
 LoadTesting
◦ Testing an application under heavy loads
◦ Ex,Testing of a web site under a range of loads to determine,
when the system response time degraded or fails.
 StressTesting
◦ Program is checked to see how well it deals with abnormal
resource demands
◦ Testing under heavy loads, heavy repetition of certain actions
or inputs
◦ Ex. input of large numerical values, large complex queries to a
database
Software Testing and the SDP20
 PerformanceTesting
◦ Tests the run-time performance of software
◦ How well does the application comply to performance
requirements?
 RecoveryTesting
◦ Checks system’s ability to recover from failures
◦ How well can it recovers from crashes, hardware failures or
other problems?
 ConversionTesting
◦ Testing of programs or procedures used to convert data from
existing systems for use in replacement system
◦ Ensures that the existing data should not change,
while converting it into the new updated version of the
application
Software Testing and the SDP21
 UsabilityTesting
◦ A method by which users of a product are asked to
perform certain tasks in an effort to measure the
product's ease-of-use, task time, and the user's
perception of the experience
◦ Testing the ease with which users can learn and use a
product
 ConfigurationTesting
◦ Focuses on measuring a human-made product's capacity
to meet its intended purpose
◦ Causes the application to fail to meet its configurability
requirements so that the underlying defects can be
identified, analyzed, fixed, and prevented in the future
Software Testing and the SDP22
Software Development ProcessSoftware Development Process
 A structure imposed on the development of a software
product
 There are several models for such processes, each describing
approaches to a variety of tasks or activities that take place
during the process.
 Activities involved
◦ Planning
◦ Design
◦ Coding and Documentation
◦ Testing and Fixing
◦ Post-Release Maintenance and Enhancement
Testing is involved mainly in the functional phases of the
software development process.
It is necessary that it is encapsulated in the whole process
23 Software Testing and the SDP
SummarySummary
Testing in itself cannot ensure the quality
of software
Only gives us a certain level of confidence
in the software
Testing though, proves that under specific
controlled conditions, the software
functioned as expected by the test cases
executed
Testing never ends as long as a software is
still in use
24 Software Testing and the SDP
ReferencesReferences
 Manish Parashar: Software Testing, Introduction to Software
Engineering; Lecture Notes
 C. Kaner , J. Falk and H.Q Nguyen:Testing Computer Software.
 Different types of software retrieved Nov 2011 from
http://www.wisegeek.com/what-are-the-different-types-of-system-
software.htm
 Roger S. Pressman: Software Engineering; 5th
Edition.
 Ram Chillarege (1999): Software Testing Best Practices, IBM Research
Technical Report
 What is Software Testing … ? Retrieved Nov. 2011 from:
http://bazman.tripod.com/what_testing.html
 Antonia Bertolino (2001): SoftwareTesting
25 Software Testing and the SDP

More Related Content

PPTX
Tk2323 lecture 1 introduction to mobile application
PDF
Human Computer Interaction Notes 176.pdf
PDF
Getting Started with Infrastructure as Code
PPSX
Dynamic Systems Development Method (DSDM) - Agile
PPT
Software Quality Metrics
PPT
extreme Programming
PPT
Spice
PDF
Software Engineering - Basics
Tk2323 lecture 1 introduction to mobile application
Human Computer Interaction Notes 176.pdf
Getting Started with Infrastructure as Code
Dynamic Systems Development Method (DSDM) - Agile
Software Quality Metrics
extreme Programming
Spice
Software Engineering - Basics

What's hot (20)

PDF
Spm software effort estimation
PPT
Quality Management in Software Engineering SE24
PPTX
Affordance,mapping,constraints and convention in hci
PPTX
Bug tracking system ppt
PPTX
PDF
+Software development methodologies
PDF
The Paved Road at Netflix
PPT
Software Engineering (Software Quality Assurance)
PDF
Professional Software Development, Practices and Ethics
PDF
Hci md exam
PDF
ccs356-software-engineering-notes.pdf
PPTX
Ferramentas case
PPTX
HUMAN COMPUTER INTERACTION
PDF
DRDO Previous Year Computer Question (1000 MCQ)
PPT
User Interface Design in Software Engineering SE15
PPTX
What is Human Computer Interraction
PPTX
Human Computer Interaction (HCI)
PDF
Software testing axioms
PPTX
Software testing ppt
PDF
An introduction to software engineering
Spm software effort estimation
Quality Management in Software Engineering SE24
Affordance,mapping,constraints and convention in hci
Bug tracking system ppt
+Software development methodologies
The Paved Road at Netflix
Software Engineering (Software Quality Assurance)
Professional Software Development, Practices and Ethics
Hci md exam
ccs356-software-engineering-notes.pdf
Ferramentas case
HUMAN COMPUTER INTERACTION
DRDO Previous Year Computer Question (1000 MCQ)
User Interface Design in Software Engineering SE15
What is Human Computer Interraction
Human Computer Interaction (HCI)
Software testing axioms
Software testing ppt
An introduction to software engineering
Ad

Similar to Software testing and software development process (20)

PPTX
Software testing
PPTX
Types of testing
PPTX
Structured system analysis and design
PPTX
SOFTWARE TESTING
PPTX
Object Oriented Testing(OOT) presentation slides
PPTX
An introduction to Software Testing and Test Management
PPTX
Software testing strategies
PDF
L software testing
PPTX
Abc of testing
PPTX
Software Testing (1).pptx
PDF
Fundamentals of software testing
PPTX
Software Testing - A sneak preview By Srikanth
PPS
Solution Evaluation (BA Role)
PPTX
SDLCTesting
PPSX
Role of BA in Testing
PPSX
Role of BA in Testing
PPSX
Role of BA in Testing
PPSX
Role of BA in Testing
PPTX
Software Testing
PPTX
Coding, Testing, Black-box and White-box Testing.pptx
Software testing
Types of testing
Structured system analysis and design
SOFTWARE TESTING
Object Oriented Testing(OOT) presentation slides
An introduction to Software Testing and Test Management
Software testing strategies
L software testing
Abc of testing
Software Testing (1).pptx
Fundamentals of software testing
Software Testing - A sneak preview By Srikanth
Solution Evaluation (BA Role)
SDLCTesting
Role of BA in Testing
Role of BA in Testing
Role of BA in Testing
Role of BA in Testing
Software Testing
Coding, Testing, Black-box and White-box Testing.pptx
Ad

Recently uploaded (20)

PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
01-Introduction-to-Information-Management.pdf
PDF
TR - Agricultural Crops Production NC III.pdf
PPTX
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PPTX
Cell Structure & Organelles in detailed.
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
Abdominal Access Techniques with Prof. Dr. R K Mishra
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
Anesthesia in Laparoscopic Surgery in India
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
01-Introduction-to-Information-Management.pdf
TR - Agricultural Crops Production NC III.pdf
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
Renaissance Architecture: A Journey from Faith to Humanism
PPH.pptx obstetrics and gynecology in nursing
FourierSeries-QuestionsWithAnswers(Part-A).pdf
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
Cell Structure & Organelles in detailed.
2.FourierTransform-ShortQuestionswithAnswers.pdf
Origin of periodic table-Mendeleev’s Periodic-Modern Periodic table
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
Supply Chain Operations Speaking Notes -ICLT Program
Pharmacology of Heart Failure /Pharmacotherapy of CHF

Software testing and software development process

  • 1. SOFTWARETESTING ANDSOFTWARETESTING AND SOFTWARE DEVELOPMENTSOFTWARE DEVELOPMENT PROCESS (SDP)PROCESS (SDP) Aloysius Ochola 2010/HD18/431U MAKERERE UNIVERSITY School of Computing and InformaticsTechnology MCN 8108MCN 8108 Software Quality Assurance & TestingSoftware Quality Assurance & Testing MscCS Class Presentations. Nov. 2011
  • 2. SoftwareTestingSoftwareTesting Programs are implemented to provide a concrete representation of an algorithm ◦ major concern is with the correctness and performance of the implementation. Engineers must then ensure that their software systems achieve an appropriate level of quality Software verification (through correctness proof) ◦ Technique to assist during the specification, design, and implementation of a software system Software testing (alternative for verification) ◦ Process of assessing the functionality and correctness of a program through execution or analysis ◦ Basically a methodology to find bugs in a software with an intent to fix them 2 Software Testing and the SDP
  • 3. SoftwareTesting (cont)SoftwareTesting (cont) Software testing is more than just error detection. Looked at as operating the software under controlled conditions to verify that it behaves as specified to detect errors and validate that what has been specified is what the user actually wanted. ◦ Verification - check or test items, including software, for conformance and consistency by evaluating the results against pre-specified requirements.   Check if we are building what the customer wants  Qn. Are we building the system right? ◦ Error Detection - Testing should intentionally attempt to make things go wrong.  Determine if things happen when they shouldn’t or things don’t happen when they should. 3 Software Testing and the SDP
  • 4. SoftwareTesting (cont)SoftwareTesting (cont) ◦ Validation (system correctness) - process of checking that what has been specified is what the user actually wanted.   Check if we are building that system correctly  Qn. Are we building the right system? Both verification and validation are necessary, but different components of any testing activity. 4 Software Testing and the SDP
  • 5. Limits of SoftwareTestingLimits of SoftwareTesting Can not test a program completely ◦ Completeness means that at the end of testing, there are no undiscovered software errors. Whether they've been fixed is a different issue, but all problems must be known and understood ◦ Why complete testing is impossible  The domain of possible inputs is too large to test  There are too many possible paths through the program to test  The user interface issues (and thus the design issues) are too complex to completely test 5 Software Testing and the SDP
  • 6. Limits of S.T(cont…)Limits of S.T(cont…) Testing can only prove the presence of bugs but never their absence You can not test the program’s response to every possible input ◦ The number of test inputs, even for this simple a program, is huge. You can not test every path the program can take ◦ As with testing input data, it is important to realize that you have not completely tested the program unless you have exercised every path. ◦ No such paths as safe to skip Software Testing and the SDP6
  • 7. Limits of S.T(cont…)Limits of S.T(cont…) You can not find every design error ◦ A program meets the specification by doing exactly what a specification says it should ◦ If specification goes wrong? Ex.Asks for 1x1=11 ◦ Being in the specification doesn't make them right ◦ You can't completely test a program if you can't find all of its design errors You can not prove programs correct using logic ◦ can only validate the internal consistency of the program ◦ What if the specifications were wrong? Software Testing and the SDP7
  • 8. Limits of S.T(cont…)Limits of S.T(cont…) You can not verify that the program works correctly ◦ A tester is interested in verifying the program ◦ How? If the program can not be tested completely Software Testing and the SDP8
  • 9. Objectives of Testing SoftwareObjectives of Testing Software The purpose of testing is verification, validation and error detection in order to find problems. And the purpose of finding those problems is to get them fixed. Testing Software to Find Problems ◦ Executing a program with the intent of finding an error ◦ Check if the system meets the requirements and be executed successfully in the Intended environment ◦ Check if the system is “ Fit for purpose” ◦ Check if system does what it is expected to do 9 Software Testing and the SDP
  • 10. Objectives of Testing SoftwareObjectives of Testing Software Finding Problems to Fix them ◦ One benefit of testing is that it results in improved quality ◦ uncovering yet undiscovered errors ◦ Fixing bugs ◦ You take a destructive attitude toward the program when you test Software Testing and the SDP10
  • 11. Testing Life-Cycle PhasesTesting Life-Cycle Phases Basically 5 stages involved include Requirements Study ◦ Understanding of the requirements is very essential for testing a product ◦ So we set a starting point to the study of the client’s requirements ◦ Involves the analysis and planning phase, encapsulates  Test objective and coverage  Overall schedule  Standards and Methodologies  Resources required, including necessary training  Roles and responsibilities of the team members  Tools used Software Testing and the SDP11
  • 12. Testing Life-cycle phasesTesting Life-cycle phases Test Case Design and Development ◦ Identify Components ◦ Test Specification Design ◦ Test Specification Reviews Test Execution ◦ Code Review ◦ Test execution and evaluation ◦ Performance and simulation Test Closure ◦ Test summary report ◦ Project Documentation Test Process Analysis ◦ Done on the reports and improving the performance of application by implementing new technology. Software Testing and the SDP12
  • 13. SoftwareTesting TechniquesSoftwareTesting Techniques  Different techniques are used for software techniques. The commonly used are the following  Black BoxTesting (functional/behavioural) ◦ No knowledge of internal design or code required. 13 Software Testing and the SDP ◦ focus on outputs in response to selected inputs and execution conditions ◦ Tests are based on requirements and functionality.
  • 14. White box testingWhite box testing (Glass box) ◦ Takes into account the internal mechanism of the system ◦ White Box is most appropriate when we must assure that the calculations are correct. ◦ Covering every possible path through a module is usually not practical  Goal is to ensure that all conditional statements have been executed at least once ◦ Requirements fulfilments and interface availability and working assurance  Grey BoxTestingGrey BoxTesting ◦ The combination of White and Black box testing Software Testing and the SDP14
  • 15. Stages of SoftwareTestingStages of SoftwareTesting UnitTesting  Micro scale of testing done on particular functions or code modules  Internal program design and code knowledge is required  Thus, done by Programmers after modules have been coded.  Objectives ◦ To test the function of a program or unit of code such as a module ◦ To test internal logic ◦ To verify internal design ◦ To test path and conditions coverage ◦ To test exception conditions & error handling  White box testing and test coverage techniques deployed  Tools guiding unit testing include; Debug, Re-structure, code analyzers and path coverage tools Software Testing and the SDP15
  • 16. IntegratedTesting  Testing of combined parts of an application to determine their functional correctness  Done to technically verify proper interfacing between modules and within sub-systems.  Always carried out by developers after modules are unit tested  White Box, Black box and configuration management, techniques used.  Types of Integrated Testing ◦ Bottom - up testing (test harness) ◦ Top - down testing (stubs). ◦ Modified top - down testing - test levels independently. ◦ Big Bang ◦ Sandwich testing Software Testing and the SDP16
  • 17. SystemTesting Major objectives include ◦ Verify that system components perform control functions ◦ To perform inter-system test ◦ To perform appropriate types of tests relating to transaction flows, installation, reliability, regression, etc It is done by both users and the development team after integration testing System integrated testing is often carried out after system testing but outside the project life cycle ◦ Tests the co-existence of products and applications that are required to perform together in a production- like operational environment Software Testing and the SDP17
  • 18. AcceptanceTesting This is performed by the end users To verify that the system meets their requirements. Black box technique is applied Tools used may include: ◦ Comparison ◦ Keystroke capture ◦ Playback ◦ Regression testing Software Testing and the SDP18
  • 19. Types of SoftwareTestingTypes of SoftwareTesting We have come across so many types of software testing Two major approaches of software testing ◦ Manual testing – done by man. Tester runs the software for errors. Consumes a lot of time because testing has to be repeated after every change (regression testing) ◦ Automated testing – Testing employing software tools which execute tests without manual intervention  performed by writing test drivers that can run automatically and produce test results 19 Software Testing and the SDP
  • 20. Major Types of TestingMajor Types of Testing  LoadTesting ◦ Testing an application under heavy loads ◦ Ex,Testing of a web site under a range of loads to determine, when the system response time degraded or fails.  StressTesting ◦ Program is checked to see how well it deals with abnormal resource demands ◦ Testing under heavy loads, heavy repetition of certain actions or inputs ◦ Ex. input of large numerical values, large complex queries to a database Software Testing and the SDP20
  • 21.  PerformanceTesting ◦ Tests the run-time performance of software ◦ How well does the application comply to performance requirements?  RecoveryTesting ◦ Checks system’s ability to recover from failures ◦ How well can it recovers from crashes, hardware failures or other problems?  ConversionTesting ◦ Testing of programs or procedures used to convert data from existing systems for use in replacement system ◦ Ensures that the existing data should not change, while converting it into the new updated version of the application Software Testing and the SDP21
  • 22.  UsabilityTesting ◦ A method by which users of a product are asked to perform certain tasks in an effort to measure the product's ease-of-use, task time, and the user's perception of the experience ◦ Testing the ease with which users can learn and use a product  ConfigurationTesting ◦ Focuses on measuring a human-made product's capacity to meet its intended purpose ◦ Causes the application to fail to meet its configurability requirements so that the underlying defects can be identified, analyzed, fixed, and prevented in the future Software Testing and the SDP22
  • 23. Software Development ProcessSoftware Development Process  A structure imposed on the development of a software product  There are several models for such processes, each describing approaches to a variety of tasks or activities that take place during the process.  Activities involved ◦ Planning ◦ Design ◦ Coding and Documentation ◦ Testing and Fixing ◦ Post-Release Maintenance and Enhancement Testing is involved mainly in the functional phases of the software development process. It is necessary that it is encapsulated in the whole process 23 Software Testing and the SDP
  • 24. SummarySummary Testing in itself cannot ensure the quality of software Only gives us a certain level of confidence in the software Testing though, proves that under specific controlled conditions, the software functioned as expected by the test cases executed Testing never ends as long as a software is still in use 24 Software Testing and the SDP
  • 25. ReferencesReferences  Manish Parashar: Software Testing, Introduction to Software Engineering; Lecture Notes  C. Kaner , J. Falk and H.Q Nguyen:Testing Computer Software.  Different types of software retrieved Nov 2011 from http://www.wisegeek.com/what-are-the-different-types-of-system- software.htm  Roger S. Pressman: Software Engineering; 5th Edition.  Ram Chillarege (1999): Software Testing Best Practices, IBM Research Technical Report  What is Software Testing … ? Retrieved Nov. 2011 from: http://bazman.tripod.com/what_testing.html  Antonia Bertolino (2001): SoftwareTesting 25 Software Testing and the SDP