SlideShare a Scribd company logo
1 of 19
Testing and EvaluatingTesting and Evaluating
Software Design and DevelopmentSoftware Design and Development
Chapter 6 summaryChapter 6 summary
ContentsContents
Testing the SoftwareTesting the Software
 Comparison of the Solution with the original DesignComparison of the Solution with the original Design
SpecificationSpecification
 Generating relevant Test Data for Complex SolutionsGenerating relevant Test Data for Complex Solutions
 Levels of TestingLevels of Testing
 Live Test DataLive Test Data
 BenchmarkingBenchmarking
 Quality AssuranceQuality Assurance
Reporting on the Testing ProcessReporting on the Testing Process
 DocumentationDocumentation
 CommunicationCommunication
Testing the Software SolutionTesting the Software Solution
Testing is carried out to find errorsTesting is carried out to find errors
Software developers must continually ensure that the original specificationsSoftware developers must continually ensure that the original specifications
are being met in the software product being developedare being met in the software product being developed
Construction of appropriate test data and adequate testing prevents theConstruction of appropriate test data and adequate testing prevents the
occurrence of major problems in the finished program that are expensive tooccurrence of major problems in the finished program that are expensive to
fix.fix.
Test data must be sufficient to ensure the program is completely operationalTest data must be sufficient to ensure the program is completely operational
and free of logic errors.and free of logic errors.
Test data must be constructed to test every part of a program, including theTest data must be constructed to test every part of a program, including the
mainline of the program and any modules used by the program.mainline of the program and any modules used by the program.
What should be tested?What should be tested?
Test data should testTest data should test
 All parts of the programAll parts of the program
 Each path of execution - test data should be sufficient to test theEach path of execution - test data should be sufficient to test the
termination and correct exit of each loop. To test each path in nested Iftermination and correct exit of each loop. To test each path in nested If
statement / CASE structure.statement / CASE structure.
 Boundary conditions - the values of variables or expressions thatBoundary conditions - the values of variables or expressions that
determine the choice of available options to be taken. exampledetermine the choice of available options to be taken. example
At the very minimum to execution paths should always be tested rather thanAt the very minimum to execution paths should always be tested rather than
boundary conditions. Large programs should be tested using other testingboundary conditions. Large programs should be tested using other testing
mechanisms.mechanisms.
Testing should include :Unit testing, program testing and system testingTesting should include :Unit testing, program testing and system testing
Unit or Module TestingUnit or Module Testing
Structured programming results in modules, each of which can be tested individuallyStructured programming results in modules, each of which can be tested individually
Subprograms can be tested as a black box where data is entered and results are shown.Subprograms can be tested as a black box where data is entered and results are shown.
InIn black box testingblack box testing, only the inputs and outputs are checked. The processes that achieve, only the inputs and outputs are checked. The processes that achieve
these results are ignored.these results are ignored.
Subprograms can also be tested as a white box where the algorithm of the subprogram isSubprograms can also be tested as a white box where the algorithm of the subprogram is
understood and each path of execution can be tested appropriately.understood and each path of execution can be tested appropriately.
White box testingWhite box testing examines all the data paths in a module.examines all the data paths in a module.
A driver program may be developed to test modules in a program. The driver substitutes forA driver program may be developed to test modules in a program. The driver substitutes for
the main program, calling the subprogram and supplying the necessary values for anythe main program, calling the subprogram and supplying the necessary values for any
variables.variables.
A driver is a temporary section of code that is created to test an individual procedure orA driver is a temporary section of code that is created to test an individual procedure or
module by calling it up and executing it.module by calling it up and executing it.
Program TestingProgram Testing
It is a minimum requirement that the test data tests each logical pathway and programIt is a minimum requirement that the test data tests each logical pathway and program
branch that can be entered.branch that can be entered.
All modules are called and executed at least once or when expectedAll modules are called and executed at least once or when expected
This way, the entire program can be completely tested.This way, the entire program can be completely tested.
Screen elements such as menus and buttons must be tested to ensure they areScreen elements such as menus and buttons must be tested to ensure they are
functioning correctly.functioning correctly.
System TestingSystem Testing
During system testing, the program is tested in a variety of operating environments.During system testing, the program is tested in a variety of operating environments.
The software may function in the development system or a controlled environmentThe software may function in the development system or a controlled environment
however, when implemented on the users computer, problems may arise.however, when implemented on the users computer, problems may arise.
The effect of hardware, operating systems and other software may create errors thatThe effect of hardware, operating systems and other software may create errors that
have not been previously detected.have not been previously detected.
System testing is carried out to detect errors at the software / hardware interface,System testing is carried out to detect errors at the software / hardware interface,
Carried out by users rather than developers. System tests treat the program as a blackCarried out by users rather than developers. System tests treat the program as a black
box.box.
Live Test DataLive Test Data
Live data is real data, used to ensure that a program works under real-lifeLive data is real data, used to ensure that a program works under real-life
conditions.conditions.
Real data is supplied by the client or can be generated by CASE tools.Real data is supplied by the client or can be generated by CASE tools.
Stress testing involves increasing the load on a program in an attempt to make it fail.Stress testing involves increasing the load on a program in an attempt to make it fail.
Live Test Data should include:Live Test Data should include:
 Larger File SizesLarger File Sizes
 Mix of Transaction TypesMix of Transaction Types
 Response TimesResponse Times
 Volume dataVolume data
 Interfaces between ModulesInterfaces between Modules
 Comparison with Program Test DataComparison with Program Test Data
Live dataLive data is used to ensure that the system response times are appropriate. Response times
are dependent on all the system components, together with their interactions with each other
and other processes that may be occurring concurrently. Response times should be tested
on minimum hardware using typical data of different types.
Interface testsInterface tests will ensure that the correct numbers of parameters are sent to and from the
module and that the format is correct. Interface tests will also detect conflicts between local
and global variables.
A variety of different transaction types and sequences of data entry should be tested with live
data. Module and program testing usually involve testing specific transactions or processes
one at a time. During system testing, transactions occur in random order and checked to see
if any errors arise
Software developers generate test data to test the limits of the system that may not be tested
under normal use. (to ensure the system has scalability)
A program developed to access files should be tested with a range of file types and sizes.
The use of large files will highlight problems associated with data access.
BenchmarkingBenchmarking
A benchmark is a standard against which performance of a computer program can be
assessed against expected outcomes and other similar products on the market.
Established programs are often used as a benchmark to indicate the quality and
performance expectations of a new product.
Benchmarks allow users of software products to make informed purchasing decisions
Quality AssuranceQuality Assurance
Quality Assurance is a set of procedures used to certify that a generated product meets specifiedQuality Assurance is a set of procedures used to certify that a generated product meets specified
criteria with respect to quality and reliability.criteria with respect to quality and reliability.
 CCorrectness - Does it do what it is supposed to do?orrectness - Does it do what it is supposed to do?
 RReliability - Does it do it all of the time?eliability - Does it do it all of the time?
 EEfficiency - Does it do it the best way possible?fficiency - Does it do it the best way possible?
 IIntegrity - Is it secure?ntegrity - Is it secure?
 MMaintainability - Can it be understood?aintainability - Can it be understood?
 (Can Roger Eat Icy Mushrooms?)(Can Roger Eat Icy Mushrooms?)
Quality Assurance is not just about testing a product once it has been completed. Its aboutQuality Assurance is not just about testing a product once it has been completed. Its about
periodically performing inspections, reviews and tests on the system being developed.periodically performing inspections, reviews and tests on the system being developed.
Quality assurance techniques should be implemented throughout the software developmentQuality assurance techniques should be implemented throughout the software development
process.process.
Alpha & Beta TestingAlpha & Beta Testing
Alpha TestingAlpha Testing
 Testing of the final solution by personnelTesting of the final solution by personnel within the softwarewithin the software
development companydevelopment company prior to the product’s release.prior to the product’s release.
 The client uses the system in a controlled environment and checks to seeThe client uses the system in a controlled environment and checks to see
if it meets their requirements.if it meets their requirements.
Beta Testing(Acceptance Testing)Beta Testing(Acceptance Testing)
 Testing of the final solution by a limited number ofTesting of the final solution by a limited number of users outside theusers outside the
software development companysoftware development company using real world data and conditions.using real world data and conditions.
 The program is given to a number of potential clients who will also reportThe program is given to a number of potential clients who will also report
to the developers any problems they encounter in the program.to the developers any problems they encounter in the program.
Reporting on the Testing ProcessReporting on the Testing Process
Required DocumentationRequired Documentation
 A test data table should be created to show the test data to be usedA test data table should be created to show the test data to be used
and the reason why this item of test data was selected.and the reason why this item of test data was selected.
 Test requirements - What needs to be tested?Test requirements - What needs to be tested?
 Test plan - How do we implement these tests?Test plan - How do we implement these tests?
 Test data and expected results - What are the necessary inputs andTest data and expected results - What are the necessary inputs and
the expected outputs?the expected outputs?
 Test results - Do the actual results match the expected results?Test results - Do the actual results match the expected results?
 Recommendations - What needs to be done nowRecommendations - What needs to be done now
A desk-check table is used to document the test dataA desk-check table is used to document the test data
used and compare the expected output with the actualused and compare the expected output with the actual
output of the algorithm or program.output of the algorithm or program.
CASE Tools that aid in the testing process:CASE Tools that aid in the testing process:
 Tools to generate or acquire data to be used duringTools to generate or acquire data to be used during
testingtesting
 Tools that analyse the source codeTools that analyse the source code
 Simulation tools to mimic the roles of hardware orSimulation tools to mimic the roles of hardware or
other software that interacts with the programother software that interacts with the program
CommunicationCommunication
Independent testers are less likely to approach the program withIndependent testers are less likely to approach the program with
preconceptions.preconceptions.
It is essential that the user is provided with the opportunity to evaluate theIt is essential that the user is provided with the opportunity to evaluate the
solution that has been developed.solution that has been developed.
Results of the testing provides an opportunity for the users to evaluate andResults of the testing provides an opportunity for the users to evaluate and
discuss the functionality of the new system.discuss the functionality of the new system.
Alpha and Beta testing help to provide users with the opportunity to use theAlpha and Beta testing help to provide users with the opportunity to use the
program.program.
After the customer has approved a program, it can be released to the generalAfter the customer has approved a program, it can be released to the general
market.market.
The EndThe End
Boundary ConditionsBoundary Conditions
CASEWHERE age isCASEWHERE age is
<=3: output “Too young for school”<=3: output “Too young for school”
<=18: output “Could be at school”<=18: output “Could be at school”
OTHERWISE: output “Too old for school”OTHERWISE: output “Too old for school”
ENDCASEENDCASE
An appropriate set of data could therefore beAn appropriate set of data could therefore be
22 33 1818 20.20.
BackBack
Black box TestingBlack box Testing
BackBack
White box TestingWhite box Testing
BackBack

More Related Content

What's hot

Software Testing Fundamentals | Basics Of Software Testing
Software Testing Fundamentals | Basics Of Software TestingSoftware Testing Fundamentals | Basics Of Software Testing
Software Testing Fundamentals | Basics Of Software TestingKostCare
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testingVenkat Alagarsamy
 
Software Reliability Testing Training Crash Course - Tonex Training
Software Reliability Testing Training Crash Course - Tonex TrainingSoftware Reliability Testing Training Crash Course - Tonex Training
Software Reliability Testing Training Crash Course - Tonex TrainingBryan Len
 
Introduction to Software Testing
Introduction to Software TestingIntroduction to Software Testing
Introduction to Software TestingHenry Muccini
 
TEST EXECUTION AND REPORTING
TEST EXECUTION AND REPORTINGTEST EXECUTION AND REPORTING
TEST EXECUTION AND REPORTINGsuhasreddy1
 
&lt;p>Software Testing&lt;/p>
&lt;p>Software Testing&lt;/p>&lt;p>Software Testing&lt;/p>
&lt;p>Software Testing&lt;/p>Atul Mishra
 
Software Testing Techniques
Software Testing TechniquesSoftware Testing Techniques
Software Testing TechniquesPramod Parajuli
 
Object Oriented Analysis
Object Oriented AnalysisObject Oriented Analysis
Object Oriented AnalysisAMITJain879
 
Software testing and process
Software testing and processSoftware testing and process
Software testing and processgouravkalbalia
 
Testing artifacts test cases
Testing artifacts   test casesTesting artifacts   test cases
Testing artifacts test casesPetro Chernii
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)IJERD Editor
 
Software Testing and Quality Assurance Assignment 3
Software Testing and Quality Assurance Assignment 3Software Testing and Quality Assurance Assignment 3
Software Testing and Quality Assurance Assignment 3Gurpreet singh
 

What's hot (20)

Software Testing
Software TestingSoftware Testing
Software Testing
 
Testing
TestingTesting
Testing
 
Software Testing Fundamentals | Basics Of Software Testing
Software Testing Fundamentals | Basics Of Software TestingSoftware Testing Fundamentals | Basics Of Software Testing
Software Testing Fundamentals | Basics Of Software Testing
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testing
 
Software Reliability Testing Training Crash Course - Tonex Training
Software Reliability Testing Training Crash Course - Tonex TrainingSoftware Reliability Testing Training Crash Course - Tonex Training
Software Reliability Testing Training Crash Course - Tonex Training
 
Testing ppt
Testing pptTesting ppt
Testing ppt
 
Test execution may_04_2006
Test execution may_04_2006Test execution may_04_2006
Test execution may_04_2006
 
Introduction to Software Testing
Introduction to Software TestingIntroduction to Software Testing
Introduction to Software Testing
 
TEST EXECUTION AND REPORTING
TEST EXECUTION AND REPORTINGTEST EXECUTION AND REPORTING
TEST EXECUTION AND REPORTING
 
&lt;p>Software Testing&lt;/p>
&lt;p>Software Testing&lt;/p>&lt;p>Software Testing&lt;/p>
&lt;p>Software Testing&lt;/p>
 
Software Testing Techniques
Software Testing TechniquesSoftware Testing Techniques
Software Testing Techniques
 
Object Oriented Analysis
Object Oriented AnalysisObject Oriented Analysis
Object Oriented Analysis
 
Software testing and process
Software testing and processSoftware testing and process
Software testing and process
 
Testing Plan
Testing PlanTesting Plan
Testing Plan
 
Software reliability
Software reliabilitySoftware reliability
Software reliability
 
Testing artifacts test cases
Testing artifacts   test casesTesting artifacts   test cases
Testing artifacts test cases
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 
Software testing methods
Software testing methodsSoftware testing methods
Software testing methods
 
Software Testing and Quality Assurance Assignment 3
Software Testing and Quality Assurance Assignment 3Software Testing and Quality Assurance Assignment 3
Software Testing and Quality Assurance Assignment 3
 
Software Testing
Software TestingSoftware Testing
Software Testing
 

Similar to 12 sdd lesson testing and evaluating

softwaretestingppt-FINAL-PPT-1
softwaretestingppt-FINAL-PPT-1softwaretestingppt-FINAL-PPT-1
softwaretestingppt-FINAL-PPT-1FAIZALSAIYED
 
Interview questions for manual testing technology.
Interview questions for manual testing technology.Interview questions for manual testing technology.
Interview questions for manual testing technology.Vinay Agnihotri
 
Software testing basic
Software testing basicSoftware testing basic
Software testing basicRohit Singh
 
Testing in Software Engineering.docx
Testing in Software Engineering.docxTesting in Software Engineering.docx
Testing in Software Engineering.docx8759000398
 
Testing Types And Models
Testing Types And ModelsTesting Types And Models
Testing Types And Modelsnazeer pasha
 
SWE-401 - 10. Software Testing Overview
SWE-401 - 10. Software Testing OverviewSWE-401 - 10. Software Testing Overview
SWE-401 - 10. Software Testing Overviewghayour abbas
 
10. Software testing overview
10. Software testing overview10. Software testing overview
10. Software testing overviewghayour abbas
 
Software testing
Software testingSoftware testing
Software testingEng Ibrahem
 
4. The Software Development Process - Testing
4. The Software Development Process - Testing4. The Software Development Process - Testing
4. The Software Development Process - TestingForrester High School
 
Types of software testing
Types of software testingTypes of software testing
Types of software testingTestbytes
 
Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented TestingAMITJain879
 
Testing strategies in Software Engineering
Testing strategies in Software EngineeringTesting strategies in Software Engineering
Testing strategies in Software EngineeringMuhammadTalha436
 
softwaretestingppt-120810095500-phpapp02 (1).pdf
softwaretestingppt-120810095500-phpapp02 (1).pdfsoftwaretestingppt-120810095500-phpapp02 (1).pdf
softwaretestingppt-120810095500-phpapp02 (1).pdfBabaShaikh3
 

Similar to 12 sdd lesson testing and evaluating (20)

softwaretestingppt-FINAL-PPT-1
softwaretestingppt-FINAL-PPT-1softwaretestingppt-FINAL-PPT-1
softwaretestingppt-FINAL-PPT-1
 
Testing strategies
Testing strategiesTesting strategies
Testing strategies
 
Interview questions for manual testing technology.
Interview questions for manual testing technology.Interview questions for manual testing technology.
Interview questions for manual testing technology.
 
Software testing basic
Software testing basicSoftware testing basic
Software testing basic
 
Testing in Software Engineering.docx
Testing in Software Engineering.docxTesting in Software Engineering.docx
Testing in Software Engineering.docx
 
Testing Types And Models
Testing Types And ModelsTesting Types And Models
Testing Types And Models
 
Software testing
Software testingSoftware testing
Software testing
 
SWE-401 - 10. Software Testing Overview
SWE-401 - 10. Software Testing OverviewSWE-401 - 10. Software Testing Overview
SWE-401 - 10. Software Testing Overview
 
10. Software testing overview
10. Software testing overview10. Software testing overview
10. Software testing overview
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing
Software testingSoftware testing
Software testing
 
4. The Software Development Process - Testing
4. The Software Development Process - Testing4. The Software Development Process - Testing
4. The Software Development Process - Testing
 
Software Testing Concepts
Software Testing  ConceptsSoftware Testing  Concepts
Software Testing Concepts
 
Types of software testing
Types of software testingTypes of software testing
Types of software testing
 
Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented Testing
 
Testing strategies in Software Engineering
Testing strategies in Software EngineeringTesting strategies in Software Engineering
Testing strategies in Software Engineering
 
Software Testing
Software Testing Software Testing
Software Testing
 
Manual testing
Manual testingManual testing
Manual testing
 
Software Testing - SDLC Model
Software Testing - SDLC ModelSoftware Testing - SDLC Model
Software Testing - SDLC Model
 
softwaretestingppt-120810095500-phpapp02 (1).pdf
softwaretestingppt-120810095500-phpapp02 (1).pdfsoftwaretestingppt-120810095500-phpapp02 (1).pdf
softwaretestingppt-120810095500-phpapp02 (1).pdf
 

Recently uploaded

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
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupJonathanParaisoCruz
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
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
 
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
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
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
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxDr.Ibrahim Hassaan
 
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
 
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
 
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
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
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
 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfMahmoud M. Sallam
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 

Recently uploaded (20)

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
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized Group
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
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
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
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
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
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...
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.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
 
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
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
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
 
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...
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
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
 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdf
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 

12 sdd lesson testing and evaluating

  • 1. Testing and EvaluatingTesting and Evaluating Software Design and DevelopmentSoftware Design and Development Chapter 6 summaryChapter 6 summary
  • 2. ContentsContents Testing the SoftwareTesting the Software  Comparison of the Solution with the original DesignComparison of the Solution with the original Design SpecificationSpecification  Generating relevant Test Data for Complex SolutionsGenerating relevant Test Data for Complex Solutions  Levels of TestingLevels of Testing  Live Test DataLive Test Data  BenchmarkingBenchmarking  Quality AssuranceQuality Assurance Reporting on the Testing ProcessReporting on the Testing Process  DocumentationDocumentation  CommunicationCommunication
  • 3. Testing the Software SolutionTesting the Software Solution Testing is carried out to find errorsTesting is carried out to find errors Software developers must continually ensure that the original specificationsSoftware developers must continually ensure that the original specifications are being met in the software product being developedare being met in the software product being developed Construction of appropriate test data and adequate testing prevents theConstruction of appropriate test data and adequate testing prevents the occurrence of major problems in the finished program that are expensive tooccurrence of major problems in the finished program that are expensive to fix.fix. Test data must be sufficient to ensure the program is completely operationalTest data must be sufficient to ensure the program is completely operational and free of logic errors.and free of logic errors. Test data must be constructed to test every part of a program, including theTest data must be constructed to test every part of a program, including the mainline of the program and any modules used by the program.mainline of the program and any modules used by the program.
  • 4. What should be tested?What should be tested? Test data should testTest data should test  All parts of the programAll parts of the program  Each path of execution - test data should be sufficient to test theEach path of execution - test data should be sufficient to test the termination and correct exit of each loop. To test each path in nested Iftermination and correct exit of each loop. To test each path in nested If statement / CASE structure.statement / CASE structure.  Boundary conditions - the values of variables or expressions thatBoundary conditions - the values of variables or expressions that determine the choice of available options to be taken. exampledetermine the choice of available options to be taken. example At the very minimum to execution paths should always be tested rather thanAt the very minimum to execution paths should always be tested rather than boundary conditions. Large programs should be tested using other testingboundary conditions. Large programs should be tested using other testing mechanisms.mechanisms. Testing should include :Unit testing, program testing and system testingTesting should include :Unit testing, program testing and system testing
  • 5. Unit or Module TestingUnit or Module Testing Structured programming results in modules, each of which can be tested individuallyStructured programming results in modules, each of which can be tested individually Subprograms can be tested as a black box where data is entered and results are shown.Subprograms can be tested as a black box where data is entered and results are shown. InIn black box testingblack box testing, only the inputs and outputs are checked. The processes that achieve, only the inputs and outputs are checked. The processes that achieve these results are ignored.these results are ignored. Subprograms can also be tested as a white box where the algorithm of the subprogram isSubprograms can also be tested as a white box where the algorithm of the subprogram is understood and each path of execution can be tested appropriately.understood and each path of execution can be tested appropriately. White box testingWhite box testing examines all the data paths in a module.examines all the data paths in a module. A driver program may be developed to test modules in a program. The driver substitutes forA driver program may be developed to test modules in a program. The driver substitutes for the main program, calling the subprogram and supplying the necessary values for anythe main program, calling the subprogram and supplying the necessary values for any variables.variables. A driver is a temporary section of code that is created to test an individual procedure orA driver is a temporary section of code that is created to test an individual procedure or module by calling it up and executing it.module by calling it up and executing it.
  • 6. Program TestingProgram Testing It is a minimum requirement that the test data tests each logical pathway and programIt is a minimum requirement that the test data tests each logical pathway and program branch that can be entered.branch that can be entered. All modules are called and executed at least once or when expectedAll modules are called and executed at least once or when expected This way, the entire program can be completely tested.This way, the entire program can be completely tested. Screen elements such as menus and buttons must be tested to ensure they areScreen elements such as menus and buttons must be tested to ensure they are functioning correctly.functioning correctly.
  • 7. System TestingSystem Testing During system testing, the program is tested in a variety of operating environments.During system testing, the program is tested in a variety of operating environments. The software may function in the development system or a controlled environmentThe software may function in the development system or a controlled environment however, when implemented on the users computer, problems may arise.however, when implemented on the users computer, problems may arise. The effect of hardware, operating systems and other software may create errors thatThe effect of hardware, operating systems and other software may create errors that have not been previously detected.have not been previously detected. System testing is carried out to detect errors at the software / hardware interface,System testing is carried out to detect errors at the software / hardware interface, Carried out by users rather than developers. System tests treat the program as a blackCarried out by users rather than developers. System tests treat the program as a black box.box.
  • 8. Live Test DataLive Test Data Live data is real data, used to ensure that a program works under real-lifeLive data is real data, used to ensure that a program works under real-life conditions.conditions. Real data is supplied by the client or can be generated by CASE tools.Real data is supplied by the client or can be generated by CASE tools. Stress testing involves increasing the load on a program in an attempt to make it fail.Stress testing involves increasing the load on a program in an attempt to make it fail. Live Test Data should include:Live Test Data should include:  Larger File SizesLarger File Sizes  Mix of Transaction TypesMix of Transaction Types  Response TimesResponse Times  Volume dataVolume data  Interfaces between ModulesInterfaces between Modules  Comparison with Program Test DataComparison with Program Test Data
  • 9. Live dataLive data is used to ensure that the system response times are appropriate. Response times are dependent on all the system components, together with their interactions with each other and other processes that may be occurring concurrently. Response times should be tested on minimum hardware using typical data of different types. Interface testsInterface tests will ensure that the correct numbers of parameters are sent to and from the module and that the format is correct. Interface tests will also detect conflicts between local and global variables. A variety of different transaction types and sequences of data entry should be tested with live data. Module and program testing usually involve testing specific transactions or processes one at a time. During system testing, transactions occur in random order and checked to see if any errors arise Software developers generate test data to test the limits of the system that may not be tested under normal use. (to ensure the system has scalability) A program developed to access files should be tested with a range of file types and sizes. The use of large files will highlight problems associated with data access.
  • 10. BenchmarkingBenchmarking A benchmark is a standard against which performance of a computer program can be assessed against expected outcomes and other similar products on the market. Established programs are often used as a benchmark to indicate the quality and performance expectations of a new product. Benchmarks allow users of software products to make informed purchasing decisions
  • 11. Quality AssuranceQuality Assurance Quality Assurance is a set of procedures used to certify that a generated product meets specifiedQuality Assurance is a set of procedures used to certify that a generated product meets specified criteria with respect to quality and reliability.criteria with respect to quality and reliability.  CCorrectness - Does it do what it is supposed to do?orrectness - Does it do what it is supposed to do?  RReliability - Does it do it all of the time?eliability - Does it do it all of the time?  EEfficiency - Does it do it the best way possible?fficiency - Does it do it the best way possible?  IIntegrity - Is it secure?ntegrity - Is it secure?  MMaintainability - Can it be understood?aintainability - Can it be understood?  (Can Roger Eat Icy Mushrooms?)(Can Roger Eat Icy Mushrooms?) Quality Assurance is not just about testing a product once it has been completed. Its aboutQuality Assurance is not just about testing a product once it has been completed. Its about periodically performing inspections, reviews and tests on the system being developed.periodically performing inspections, reviews and tests on the system being developed. Quality assurance techniques should be implemented throughout the software developmentQuality assurance techniques should be implemented throughout the software development process.process.
  • 12. Alpha & Beta TestingAlpha & Beta Testing Alpha TestingAlpha Testing  Testing of the final solution by personnelTesting of the final solution by personnel within the softwarewithin the software development companydevelopment company prior to the product’s release.prior to the product’s release.  The client uses the system in a controlled environment and checks to seeThe client uses the system in a controlled environment and checks to see if it meets their requirements.if it meets their requirements. Beta Testing(Acceptance Testing)Beta Testing(Acceptance Testing)  Testing of the final solution by a limited number ofTesting of the final solution by a limited number of users outside theusers outside the software development companysoftware development company using real world data and conditions.using real world data and conditions.  The program is given to a number of potential clients who will also reportThe program is given to a number of potential clients who will also report to the developers any problems they encounter in the program.to the developers any problems they encounter in the program.
  • 13. Reporting on the Testing ProcessReporting on the Testing Process Required DocumentationRequired Documentation  A test data table should be created to show the test data to be usedA test data table should be created to show the test data to be used and the reason why this item of test data was selected.and the reason why this item of test data was selected.  Test requirements - What needs to be tested?Test requirements - What needs to be tested?  Test plan - How do we implement these tests?Test plan - How do we implement these tests?  Test data and expected results - What are the necessary inputs andTest data and expected results - What are the necessary inputs and the expected outputs?the expected outputs?  Test results - Do the actual results match the expected results?Test results - Do the actual results match the expected results?  Recommendations - What needs to be done nowRecommendations - What needs to be done now
  • 14. A desk-check table is used to document the test dataA desk-check table is used to document the test data used and compare the expected output with the actualused and compare the expected output with the actual output of the algorithm or program.output of the algorithm or program. CASE Tools that aid in the testing process:CASE Tools that aid in the testing process:  Tools to generate or acquire data to be used duringTools to generate or acquire data to be used during testingtesting  Tools that analyse the source codeTools that analyse the source code  Simulation tools to mimic the roles of hardware orSimulation tools to mimic the roles of hardware or other software that interacts with the programother software that interacts with the program
  • 15. CommunicationCommunication Independent testers are less likely to approach the program withIndependent testers are less likely to approach the program with preconceptions.preconceptions. It is essential that the user is provided with the opportunity to evaluate theIt is essential that the user is provided with the opportunity to evaluate the solution that has been developed.solution that has been developed. Results of the testing provides an opportunity for the users to evaluate andResults of the testing provides an opportunity for the users to evaluate and discuss the functionality of the new system.discuss the functionality of the new system. Alpha and Beta testing help to provide users with the opportunity to use theAlpha and Beta testing help to provide users with the opportunity to use the program.program. After the customer has approved a program, it can be released to the generalAfter the customer has approved a program, it can be released to the general market.market.
  • 17. Boundary ConditionsBoundary Conditions CASEWHERE age isCASEWHERE age is <=3: output “Too young for school”<=3: output “Too young for school” <=18: output “Could be at school”<=18: output “Could be at school” OTHERWISE: output “Too old for school”OTHERWISE: output “Too old for school” ENDCASEENDCASE An appropriate set of data could therefore beAn appropriate set of data could therefore be 22 33 1818 20.20. BackBack
  • 18. Black box TestingBlack box Testing BackBack
  • 19. White box TestingWhite box Testing BackBack