SlideShare a Scribd company logo
Testing and Evaluating
     Software Design and Development
            Chapter 6 summary
Contents
Testing the Software
 Comparison of the Solution with the original Design
  Specification
 Generating relevant Test Data for Complex Solutions
 Levels of Testing
 Live Test Data
 Benchmarking
 Quality Assurance

Reporting on the Testing Process
 Documentation
 Communication
Testing the Software Solution
Testing is carried out to find errors

Software developers must continually ensure that the original specifications
are being met in the software product being developed

Construction of appropriate test data and adequate testing prevents the
occurrence of major problems in the finished program that are expensive to
fix.

Test data must be sufficient to ensure the program is completely operational
and free of logic errors.

Test data must be constructed to test every part of a program, including the
mainline of the program and any modules used by the program.
What should be tested?
Test data should test

   All parts of the program

   Each path of execution - test data should be sufficient to test the
    termination and correct exit of each loop. To test each path in nested If
    statement / CASE structure.

   Boundary conditions - the values of variables or expressions that
    determine the choice of available options to be taken. example


At the very minimum to execution paths should always be tested rather than
boundary conditions. Large programs should be tested using other testing
mechanisms.

Testing should include :Unit testing, program testing and system testing
Unit or Module Testing
Structured 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.

In black box testing, only the inputs and outputs are checked. The processes that achieve
these results are ignored.

Subprograms 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.

White box testing examines all the data paths in a module.

A 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 any
variables.

A driver is a temporary section of code that is created to test an individual procedure or
module by calling it up and executing it.
Program Testing
It is a minimum requirement that the test data tests each logical pathway and program
branch that can be entered.

All modules are called and executed at least once or when expected

This way, the entire program can be completely tested.

Screen elements such as menus and buttons must be tested to ensure they are
functioning correctly.
System Testing
During system testing, the program is tested in a variety of operating environments.


The software may function in the development system or a controlled environment
however, when implemented on the users computer, problems may arise.


The effect of hardware, operating systems and other software may create errors that
have not been previously detected.


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 black
box.
Live Test Data
Live data is real data, used to ensure that a program works under real-life
conditions.


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.


Live Test Data should include:

    Larger File Sizes

    Mix of Transaction Types

    Response Times

    Volume data

    Interfaces between Modules

    Comparison with Program Test Data
Live 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 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.
Benchmarking
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 Assurance
Quality Assurance is a set of procedures used to certify that a generated product meets specified
criteria with respect to quality and reliability.

     Correctness - Does it do what it is supposed to do?

     Reliability - Does it do it all of the time?

     Efficiency - Does it do it the best way possible?

     Integrity - Is it secure?

     Maintainability - Can it be understood?

     (CREIM)


Quality 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.


Quality assurance techniques should be implemented throughout the software development
process.
Alpha & Beta Testing
Alpha Testing
   Testing of the final solution by personnel within the software
    development company prior to the product’s release.
   The client uses the system in a controlled environment and checks to see
    if it meets their requirements.


Beta Testing(Acceptance Testing)
   Testing of the final solution by a limited number of users outside the
    software development company using real world data and conditions.
   The program is given to a number of potential clients who will also report
    to the developers any problems they encounter in the program.
Reporting on the Testing Process
Required Documentation
 A 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.
 Test requirements - What needs to be tested?
 Test plan - How do we implement these tests?
 Test data and expected results - What are the necessary inputs and
   the expected outputs?
 Test results - Do the actual results match the expected results?
 Recommendations - What needs to be done now
A desk-check table is used to document the test data
used and compare the expected output with the actual
output of the algorithm or program.

CASE Tools that aid in the testing process:
 Tools to generate or acquire data to be used during
  testing
 Tools that analyse the source code
 Simulation tools to mimic the roles of hardware or
  other software that interacts with the program
Communication
Independent testers are less likely to approach the program with
preconceptions.

It is essential that the user is provided with the opportunity to evaluate the
solution that has been developed.

Results of the testing provides an opportunity for the users to evaluate and
discuss the functionality of the new system.

Alpha and Beta testing help to provide users with the opportunity to use the
program.

After the customer has approved a program, it can be released to the general
market.
The End
Boundary Conditions
CASEWHERE age is

   <=3: output “Too young for school”
   <=18: output “Could be at school”
   OTHERWISE: output “Too old for school”

ENDCASE

An appropriate set of data could therefore be

                2      3       18     20.
                                                Back
Black box Testing




                    Back
White box Testing




                    Back

More Related Content

What's hot

GPU Virtualization in SUSE
GPU Virtualization in SUSEGPU Virtualization in SUSE
GPU Virtualization in SUSE
Liang Yan
 
froglogic Squish (Qt edition)
froglogic Squish (Qt edition)froglogic Squish (Qt edition)
froglogic Squish (Qt edition)
Amanda Burma
 
КАТЕРИНА АБЗЯТОВА - Getting ready for ISTQB Foundation 4.0: Overview and Q&A ...
КАТЕРИНА АБЗЯТОВА - Getting ready for ISTQB Foundation 4.0: Overview and Q&A ...КАТЕРИНА АБЗЯТОВА - Getting ready for ISTQB Foundation 4.0: Overview and Q&A ...
КАТЕРИНА АБЗЯТОВА - Getting ready for ISTQB Foundation 4.0: Overview and Q&A ...
QADay
 
Workshop: Unit Testing in Python
Workshop: Unit Testing in PythonWorkshop: Unit Testing in Python
Workshop: Unit Testing in Python
David Tan
 
Appium vs Espresso and XCUI Test
Appium vs Espresso and XCUI TestAppium vs Espresso and XCUI Test
Appium vs Espresso and XCUI Test
Perfecto by Perforce
 
Mutation Testing and MuJava
Mutation Testing and MuJavaMutation Testing and MuJava
Mutation Testing and MuJava
Krunal Parmar
 
Testing Tools
Testing ToolsTesting Tools
Testing Tools
Ted Husted
 
RISC-V Boot Process: One Step at a Time
RISC-V Boot Process: One Step at a TimeRISC-V Boot Process: One Step at a Time
RISC-V Boot Process: One Step at a Time
Atish Patra
 
Practical Software Testing Tools
Practical Software Testing ToolsPractical Software Testing Tools
Practical Software Testing Tools
Dr Ganesh Iyer
 
Eviews 9 kurulumu
Eviews 9 kurulumuEviews 9 kurulumu
Eviews 9 kurulumu
Saü Ses
 
Boss-Bharat Operating System Solution Presentation
Boss-Bharat Operating System Solution PresentationBoss-Bharat Operating System Solution Presentation
Boss-Bharat Operating System Solution Presentation
Shubham Rokade
 
windows system tool (1).pdf
windows system tool (1).pdfwindows system tool (1).pdf
windows system tool (1).pdf
CrisAngeleCeballos
 
Angelo Compagnucci - Upgrading buildroot based devices with swupdate
Angelo Compagnucci - Upgrading buildroot based devices with swupdateAngelo Compagnucci - Upgrading buildroot based devices with swupdate
Angelo Compagnucci - Upgrading buildroot based devices with swupdate
linuxlab_conf
 
Java Test Automation for REST, Web and Mobile
Java Test Automation for REST, Web and MobileJava Test Automation for REST, Web and Mobile
Java Test Automation for REST, Web and Mobile
Elias Nogueira
 
Vim+cscope+ctags+taglist
Vim+cscope+ctags+taglistVim+cscope+ctags+taglist
Vim+cscope+ctags+taglistPicker Weng
 
Automation Testing with Test Complete
Automation Testing with Test CompleteAutomation Testing with Test Complete
Automation Testing with Test CompleteVartika Saxena
 
Parallelizing Conqueror's Blade
Parallelizing Conqueror's BladeParallelizing Conqueror's Blade
Parallelizing Conqueror's Blade
Intel® Software
 
An introduction to unit testing
An introduction to unit testingAn introduction to unit testing
An introduction to unit testing
Adam Stephensen
 
Cypress test techniques cucumber bdd framework,tdd,api tests course
Cypress test techniques cucumber bdd framework,tdd,api tests courseCypress test techniques cucumber bdd framework,tdd,api tests course
Cypress test techniques cucumber bdd framework,tdd,api tests course
Narayanan Palani
 

What's hot (20)

GPU Virtualization in SUSE
GPU Virtualization in SUSEGPU Virtualization in SUSE
GPU Virtualization in SUSE
 
froglogic Squish (Qt edition)
froglogic Squish (Qt edition)froglogic Squish (Qt edition)
froglogic Squish (Qt edition)
 
КАТЕРИНА АБЗЯТОВА - Getting ready for ISTQB Foundation 4.0: Overview and Q&A ...
КАТЕРИНА АБЗЯТОВА - Getting ready for ISTQB Foundation 4.0: Overview and Q&A ...КАТЕРИНА АБЗЯТОВА - Getting ready for ISTQB Foundation 4.0: Overview and Q&A ...
КАТЕРИНА АБЗЯТОВА - Getting ready for ISTQB Foundation 4.0: Overview and Q&A ...
 
Workshop: Unit Testing in Python
Workshop: Unit Testing in PythonWorkshop: Unit Testing in Python
Workshop: Unit Testing in Python
 
Appium vs Espresso and XCUI Test
Appium vs Espresso and XCUI TestAppium vs Espresso and XCUI Test
Appium vs Espresso and XCUI Test
 
Nunit
NunitNunit
Nunit
 
Mutation Testing and MuJava
Mutation Testing and MuJavaMutation Testing and MuJava
Mutation Testing and MuJava
 
Testing Tools
Testing ToolsTesting Tools
Testing Tools
 
RISC-V Boot Process: One Step at a Time
RISC-V Boot Process: One Step at a TimeRISC-V Boot Process: One Step at a Time
RISC-V Boot Process: One Step at a Time
 
Practical Software Testing Tools
Practical Software Testing ToolsPractical Software Testing Tools
Practical Software Testing Tools
 
Eviews 9 kurulumu
Eviews 9 kurulumuEviews 9 kurulumu
Eviews 9 kurulumu
 
Boss-Bharat Operating System Solution Presentation
Boss-Bharat Operating System Solution PresentationBoss-Bharat Operating System Solution Presentation
Boss-Bharat Operating System Solution Presentation
 
windows system tool (1).pdf
windows system tool (1).pdfwindows system tool (1).pdf
windows system tool (1).pdf
 
Angelo Compagnucci - Upgrading buildroot based devices with swupdate
Angelo Compagnucci - Upgrading buildroot based devices with swupdateAngelo Compagnucci - Upgrading buildroot based devices with swupdate
Angelo Compagnucci - Upgrading buildroot based devices with swupdate
 
Java Test Automation for REST, Web and Mobile
Java Test Automation for REST, Web and MobileJava Test Automation for REST, Web and Mobile
Java Test Automation for REST, Web and Mobile
 
Vim+cscope+ctags+taglist
Vim+cscope+ctags+taglistVim+cscope+ctags+taglist
Vim+cscope+ctags+taglist
 
Automation Testing with Test Complete
Automation Testing with Test CompleteAutomation Testing with Test Complete
Automation Testing with Test Complete
 
Parallelizing Conqueror's Blade
Parallelizing Conqueror's BladeParallelizing Conqueror's Blade
Parallelizing Conqueror's Blade
 
An introduction to unit testing
An introduction to unit testingAn introduction to unit testing
An introduction to unit testing
 
Cypress test techniques cucumber bdd framework,tdd,api tests course
Cypress test techniques cucumber bdd framework,tdd,api tests courseCypress test techniques cucumber bdd framework,tdd,api tests course
Cypress test techniques cucumber bdd framework,tdd,api tests course
 

Similar to Sdd Testing & Evaluating

12 sdd lesson testing and evaluating
12 sdd lesson testing and evaluating12 sdd lesson testing and evaluating
12 sdd lesson testing and evaluating
Mike Cusack
 
softwaretestingppt-FINAL-PPT-1
softwaretestingppt-FINAL-PPT-1softwaretestingppt-FINAL-PPT-1
softwaretestingppt-FINAL-PPT-1FAIZALSAIYED
 
softwaretestingppt-120810095500-phpapp02 (1).pdf
softwaretestingppt-120810095500-phpapp02 (1).pdfsoftwaretestingppt-120810095500-phpapp02 (1).pdf
softwaretestingppt-120810095500-phpapp02 (1).pdf
BabaShaikh3
 
Software Testing - SDLC Model
Software Testing - SDLC ModelSoftware Testing - SDLC Model
Testing Software Solutions
Testing Software SolutionsTesting Software Solutions
Testing Software Solutionsgavhays
 
Software testing
Software testingSoftware testing
Software testing
Aman Adhikari
 
SWE-401 - 10. Software Testing Overview
SWE-401 - 10. Software Testing OverviewSWE-401 - 10. Software Testing Overview
SWE-401 - 10. Software Testing Overview
ghayour abbas
 
10. Software testing overview
10. Software testing overview10. Software testing overview
10. Software testing overview
ghayour abbas
 
Testing in Software Engineering.docx
Testing in Software Engineering.docxTesting in Software Engineering.docx
Testing in Software Engineering.docx
8759000398
 
Software testing
Software testingSoftware testing
Software testing
Eng Ibrahem
 
Software_Testing_ppt.pptx
Software_Testing_ppt.pptxSoftware_Testing_ppt.pptx
Software_Testing_ppt.pptx
BharathReddy615859
 
S.t.
S.t.S.t.
testing.pptx
testing.pptxtesting.pptx
testing.pptx
jagadeeppapisettipal
 
Software Testing PPT | Software All Testing
Software Testing PPT | Software All TestingSoftware Testing PPT | Software All Testing
Software Testing PPT | Software All Testing
sankalpkumarsahoo174
 
Software Testing
Software Testing Software Testing
Software Testing
MD SALEEM QAISAR
 
Software-Testing-ppt.pptx
Software-Testing-ppt.pptxSoftware-Testing-ppt.pptx
Software-Testing-ppt.pptx
Sushilkumar744913
 
Software testing basic
Software testing basicSoftware testing basic
Software testing basic
Rohit Singh
 
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
 
unit 4.pptx very needful and important p
unit 4.pptx very needful and important punit 4.pptx very needful and important p
unit 4.pptx very needful and important p
20EC040
 

Similar to Sdd Testing & Evaluating (20)

12 sdd lesson testing and evaluating
12 sdd lesson testing and evaluating12 sdd lesson testing and evaluating
12 sdd lesson testing and evaluating
 
softwaretestingppt-FINAL-PPT-1
softwaretestingppt-FINAL-PPT-1softwaretestingppt-FINAL-PPT-1
softwaretestingppt-FINAL-PPT-1
 
Testing strategies
Testing strategiesTesting strategies
Testing strategies
 
softwaretestingppt-120810095500-phpapp02 (1).pdf
softwaretestingppt-120810095500-phpapp02 (1).pdfsoftwaretestingppt-120810095500-phpapp02 (1).pdf
softwaretestingppt-120810095500-phpapp02 (1).pdf
 
Software Testing - SDLC Model
Software Testing - SDLC ModelSoftware Testing - SDLC Model
Software Testing - SDLC Model
 
Testing Software Solutions
Testing Software SolutionsTesting Software Solutions
Testing Software Solutions
 
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
 
Testing in Software Engineering.docx
Testing in Software Engineering.docxTesting in Software Engineering.docx
Testing in Software Engineering.docx
 
Software testing
Software testingSoftware testing
Software testing
 
Software_Testing_ppt.pptx
Software_Testing_ppt.pptxSoftware_Testing_ppt.pptx
Software_Testing_ppt.pptx
 
S.t.
S.t.S.t.
S.t.
 
testing.pptx
testing.pptxtesting.pptx
testing.pptx
 
Software Testing PPT | Software All Testing
Software Testing PPT | Software All TestingSoftware Testing PPT | Software All Testing
Software Testing PPT | Software All Testing
 
Software Testing
Software Testing Software Testing
Software Testing
 
Software-Testing-ppt.pptx
Software-Testing-ppt.pptxSoftware-Testing-ppt.pptx
Software-Testing-ppt.pptx
 
Software testing basic
Software testing basicSoftware testing basic
Software testing basic
 
Interview questions for manual testing technology.
Interview questions for manual testing technology.Interview questions for manual testing technology.
Interview questions for manual testing technology.
 
unit 4.pptx very needful and important p
unit 4.pptx very needful and important punit 4.pptx very needful and important p
unit 4.pptx very needful and important p
 

More from mary_ramsay

Circumference of a Circle
Circumference of a CircleCircumference of a Circle
Circumference of a Circlemary_ramsay
 
RWG 5 For Mac Training Guide
RWG 5 For Mac Training GuideRWG 5 For Mac Training Guide
RWG 5 For Mac Training Guidemary_ramsay
 
Sdd HSC Summary
Sdd HSC SummarySdd HSC Summary
Sdd HSC Summary
mary_ramsay
 
All meta languages
All meta languagesAll meta languages
All meta languagesmary_ramsay
 
Sdd metalanguage
Sdd metalanguageSdd metalanguage
Sdd metalanguagemary_ramsay
 
The role of the cpu in the operation
The role of the cpu in the operationThe role of the cpu in the operation
The role of the cpu in the operationmary_ramsay
 
Sorting & Extracting Data
Sorting & Extracting DataSorting & Extracting Data
Sorting & Extracting Datamary_ramsay
 
SQL Structure Query Language
SQL Structure Query LanguageSQL Structure Query Language
SQL Structure Query Languagemary_ramsay
 
URL_universal Resourse Locator
URL_universal Resourse LocatorURL_universal Resourse Locator
URL_universal Resourse Locatormary_ramsay
 
IPT Assessment Schedule 2012
IPT Assessment Schedule 2012IPT Assessment Schedule 2012
IPT Assessment Schedule 2012mary_ramsay
 
Normalisation student summary
Normalisation student summaryNormalisation student summary
Normalisation student summarymary_ramsay
 

More from mary_ramsay (12)

Circumference of a Circle
Circumference of a CircleCircumference of a Circle
Circumference of a Circle
 
RWG 5 For Mac Training Guide
RWG 5 For Mac Training GuideRWG 5 For Mac Training Guide
RWG 5 For Mac Training Guide
 
Sdd HSC Summary
Sdd HSC SummarySdd HSC Summary
Sdd HSC Summary
 
All meta languages
All meta languagesAll meta languages
All meta languages
 
Sdd metalanguage
Sdd metalanguageSdd metalanguage
Sdd metalanguage
 
The role of the cpu in the operation
The role of the cpu in the operationThe role of the cpu in the operation
The role of the cpu in the operation
 
Sorting & Extracting Data
Sorting & Extracting DataSorting & Extracting Data
Sorting & Extracting Data
 
SQL Structure Query Language
SQL Structure Query LanguageSQL Structure Query Language
SQL Structure Query Language
 
URL_universal Resourse Locator
URL_universal Resourse LocatorURL_universal Resourse Locator
URL_universal Resourse Locator
 
IPT Assessment Schedule 2012
IPT Assessment Schedule 2012IPT Assessment Schedule 2012
IPT Assessment Schedule 2012
 
IPT HSC Summary
IPT HSC SummaryIPT HSC Summary
IPT HSC Summary
 
Normalisation student summary
Normalisation student summaryNormalisation student summary
Normalisation student summary
 

Recently uploaded

Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
CatarinaPereira64715
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 

Recently uploaded (20)

Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
ODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User GroupODC, Data Fabric and Architecture User Group
ODC, Data Fabric and Architecture User Group
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 

Sdd Testing & Evaluating

  • 1. Testing and Evaluating Software Design and Development Chapter 6 summary
  • 2. Contents Testing the Software  Comparison of the Solution with the original Design Specification  Generating relevant Test Data for Complex Solutions  Levels of Testing  Live Test Data  Benchmarking  Quality Assurance Reporting on the Testing Process  Documentation  Communication
  • 3. Testing the Software Solution Testing is carried out to find errors Software developers must continually ensure that the original specifications are being met in the software product being developed Construction of appropriate test data and adequate testing prevents the occurrence of major problems in the finished program that are expensive to fix. Test data must be sufficient to ensure the program is completely operational and free of logic errors. Test data must be constructed to test every part of a program, including the mainline of the program and any modules used by the program.
  • 4. What should be tested? Test data should test  All parts of the program  Each path of execution - test data should be sufficient to test the termination and correct exit of each loop. To test each path in nested If statement / CASE structure.  Boundary conditions - the values of variables or expressions that determine the choice of available options to be taken. example At the very minimum to execution paths should always be tested rather than boundary conditions. Large programs should be tested using other testing mechanisms. Testing should include :Unit testing, program testing and system testing
  • 5. Unit or Module Testing Structured 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. In black box testing, only the inputs and outputs are checked. The processes that achieve these results are ignored. Subprograms 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. White box testing examines all the data paths in a module. A 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 any variables. A driver is a temporary section of code that is created to test an individual procedure or module by calling it up and executing it.
  • 6. Program Testing It is a minimum requirement that the test data tests each logical pathway and program branch that can be entered. All modules are called and executed at least once or when expected This way, the entire program can be completely tested. Screen elements such as menus and buttons must be tested to ensure they are functioning correctly.
  • 7. System Testing During system testing, the program is tested in a variety of operating environments. The software may function in the development system or a controlled environment however, when implemented on the users computer, problems may arise. The effect of hardware, operating systems and other software may create errors that have not been previously detected. 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 black box.
  • 8. Live Test Data Live data is real data, used to ensure that a program works under real-life conditions. 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. Live Test Data should include:  Larger File Sizes  Mix of Transaction Types  Response Times  Volume data  Interfaces between Modules  Comparison with Program Test Data
  • 9. Live 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 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. Benchmarking 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 Assurance Quality Assurance is a set of procedures used to certify that a generated product meets specified criteria with respect to quality and reliability. Correctness - Does it do what it is supposed to do? Reliability - Does it do it all of the time? Efficiency - Does it do it the best way possible? Integrity - Is it secure? Maintainability - Can it be understood? (CREIM) Quality 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. Quality assurance techniques should be implemented throughout the software development process.
  • 12. Alpha & Beta Testing Alpha Testing  Testing of the final solution by personnel within the software development company prior to the product’s release.  The client uses the system in a controlled environment and checks to see if it meets their requirements. Beta Testing(Acceptance Testing)  Testing of the final solution by a limited number of users outside the software development company using real world data and conditions.  The program is given to a number of potential clients who will also report to the developers any problems they encounter in the program.
  • 13. Reporting on the Testing Process Required Documentation  A 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.  Test requirements - What needs to be tested?  Test plan - How do we implement these tests?  Test data and expected results - What are the necessary inputs and the expected outputs?  Test results - Do the actual results match the expected results?  Recommendations - What needs to be done now
  • 14. A desk-check table is used to document the test data used and compare the expected output with the actual output of the algorithm or program. CASE Tools that aid in the testing process:  Tools to generate or acquire data to be used during testing  Tools that analyse the source code  Simulation tools to mimic the roles of hardware or other software that interacts with the program
  • 15. Communication Independent testers are less likely to approach the program with preconceptions. It is essential that the user is provided with the opportunity to evaluate the solution that has been developed. Results of the testing provides an opportunity for the users to evaluate and discuss the functionality of the new system. Alpha and Beta testing help to provide users with the opportunity to use the program. After the customer has approved a program, it can be released to the general market.
  • 17. Boundary Conditions CASEWHERE age is <=3: output “Too young for school” <=18: output “Could be at school” OTHERWISE: output “Too old for school” ENDCASE An appropriate set of data could therefore be 2 3 18 20. Back