SlideShare a Scribd company logo
1 of 24
Notes on Teaching Software
          Testing

   Alpen-Adria-Universität, Klagenfurt, 28 March 2013

Ladislav Samuelis, Technical University of Košice, Slovakia
Motivation
• For years I was notoriously curious about the latest
  updates in program development.
• The main question:
   – How a program “is born”. Later changed to “what is software
     evolution”.
• Challenge: grant of the Slovak Ministry of Education:
  “Implementation of Current Software Engineering
  Courses for Computer Science Programs …”




                      Ladislav Samuelis: Notes on Teaching
                                                              2 of 23
                                 Software Testing
Dawn of software testing
• P. Naur, 1969: “If you develop programs
  systematically, you can dispense with testing
  altogether.”
• This hope to achieve the goal is still present.
• However, in practice testing cannot be avoided by
  any other means, whether it is the most careful
  design, construction, or formal analysis of the
  requirements.
• Elimination of testing from the development
  process just postpones the test with reality until
  the product is put into production.
                  Ladislav Samuelis: Notes on Teaching
                                                         3 of 23
                             Software Testing
Lehman’s law
• E-type software, software implementing real
  world computer applications, must be
  continually evolved to maintain user
  satisfaction, generally over several years and
  releases.
• It is likely that the responsible organisation
  will, sooner or later, consider its replacement
  through redevelopment or acquisition. (1974)

                 Ladislav Samuelis: Notes on Teaching
                                                        4 of 23
                            Software Testing
Specific of software testing
• Testing is a part of the development
  process, not the manufacturing process.
• This testing is different from many other
  engineering products, where the
  emphasis is on testing the correct
  reproduction.


               Ladislav Samuelis: Notes on Teaching
                                                      5 of 23
                          Software Testing
What are the questions?

• What are we teaching in
  software testing courses and
  why?
• What are the scientific
  foundations of testing?

            Ladislav Samuelis: Notes on Teaching
                                                   6 of 23
                       Software Testing
Why should we have courses on
         software testing?
• Developers spend 50% of their time testing,
  and reliability requirements are steadily
  increasing.
• All programmers spend a significant amount
  of time to trial their software.
• It gets negligible significance in most software
  development curricula.
• Accidents, ARIANE …
                 Ladislav Samuelis: Notes on Teaching
                                                        7 of 23
                            Software Testing
What are we teaching in software
           testing courses?
• Techniques, measurements, management …
  – Plenty of comprehensive books …
• ISTQB (International Software Testing
  Qualification Board)
  – Effective for undergraduate informatics study-
    programmes
  – Required by the industry



                  Ladislav Samuelis: Notes on Teaching
                                                         8 of 23
                             Software Testing
Notes on obstacles in building
      software testing course
• How to avoid the phenomenon of “bag
  of tricks”?
• It is not easy to design a specific
  curriculum with adequate labs and
  assessment procedures.
• The border between the program
  analysis and testing is fuzzy.
             Ladislav Samuelis: Notes on Teaching
                                                    9 of 23
                        Software Testing
How do we cooperate with the
             industry?
• RWE IT local company provides selected
  lectures on:
  – testing of large projects
  – testing techniques
  – test cases by examples
• Diploma theses and internships
• Experimental data published in papers
• Workshop biannually for prospective
  employees
                   Ladislav Samuelis: Notes on Teaching
                                                          10 of 23
                              Software Testing
Dijkstra’s “law”
• “Program testing can be used to show the presence
  of bugs, but never to show their absence”. (1969)
• Donald Knuth:
   – Beware of bugs in the above code; I have only
      proved it correct, not tried it.
This law is expresses the limitations of black-box
testing.
Question:
How do we explain the theory of this “law” to
students?
                  Ladislav Samuelis: Notes on Teaching
                                                         11 of 23
                             Software Testing
On the limits of formal methods
                  (D.L.Parnas)
Simplification (model) is achieved by ignoring
certain facts such as the limits in the sizes of
data elements and the errors in arithmetic
operations. Unfortunately, these are exactly the
type of details that can cause faults and lead to
failures.
No formal analysis of such a model that leaves
out critical limits can reveal faults attributable
to those limits.

                  Ladislav Samuelis: Notes on Teaching
                                                         12 of 23
                             Software Testing
The theory of program testing
• The idea of program testing is as old as
  programming.
• 1970 – new field of research called testing theory
  emerged – efficiency and effectivity
• What are the main questions?
  – How to design test cases from different sources:
    specification, source code, input and output domains
    of programs
  – How to select a subset of test cases from the set of all
    possible test cases?

                    Ladislav Samuelis: Notes on Teaching
                                                           13 of 23
                               Software Testing
A scheme of testing
(a mathematical approach)




       Ladislav Samuelis: Notes on Teaching
                                              14 of 23
                  Software Testing
The theory of Goodenough and
              Gerhart
 (very simplified explanation of the ideal test)


P “runs” and gives B number of bugs.
We create new set Tk until Bk ≥ B. Then
it is an ideal test.

    • D = input domain, T≤D, d є D
    • P= program, result is P(d)
    • d is true, if output P(d) is acceptable
                    Ladislav Samuelis: Notes on Teaching
                                                           15 of 23
                               Software Testing
Other testing theories
• Theory of Weyuker and Ostrand, Gourlay
• Dines Bjørner: On a Triptych of Software
  Development
  – Domain engineering,
  – Requirements engineering,
  – Design
• SEMAT initiative

Question:
How much testing theory do we have to teach?
                     Ladislav Samuelis: Notes on Teaching
                                                            16 of 23
                                Software Testing
Power law
The notion of power laws has been around for
more than a century.

                    P(x) ~ c.x−k

Question:
What does it mean in software testing?

                Ladislav Samuelis: Notes on Teaching
                                                       17 of 23
                           Software Testing
Power law and software testing
• Object-oriented software ~ network of
  objects.
• It is worth to test less complex classes than
  many trivial classes.

Note:
This is an empirical “law” or concept , rarely
taught in testing courses.
                 Ladislav Samuelis: Notes on Teaching
                                                        18 of 23
                            Software Testing
Gödel’s incompleteness theorem
• No computer program is capable of
  proving all programs.
• For any consistent system of axioms
  there will always be statements that
  are improvable within the system.


             Ladislav Samuelis: Notes on Teaching
                                                    19 of 23
                        Software Testing
Teaching of Gödel's incompleteness
              theorems?
• Elaine Weyuker - Evaluating Software Test
  Data Adequacy (1988)

Question:
Where are the places of Gödel’s theorems in
software engineering courses?



                 Ladislav Samuelis: Notes on Teaching
                                                        20 of 23
                            Software Testing
Note on testing and deductive
               reasoning
• Deductive reasoning;
  – Major premise – initial set of facts
  – Minor premise – goal fact
• For example, PROLOG program –
  the inference engine gives the verdict.
• Not-PROLOG program – no inference engine,
  program is executed and tester “gives a
  verdict” against requirements.
                   Ladislav Samuelis: Notes on Teaching
                                                          21 of 23
                              Software Testing
Questions on the role of observation in
           software testing

 Questions:
   Why do we select observations?
   Where do we perform the observation?
   In which phase of the product lifecycle do
   we perform observations?



                Ladislav Samuelis: Notes on Teaching
                                                       22 of 23
                           Software Testing
Notes on the history of testing
         concurrent programs
• Before object-oriented programming:
  – mechanisms for ensuring mutual exclusion
    (Dijkstra),
  – monitors (Hoare) and
  – critical regions (Brinch-Hansen)

Question:
What topics to teach in concurrent program
testing?
                 Ladislav Samuelis: Notes on Teaching
                                                        23 of 23
                            Software Testing
Notes on teaching software testing

More Related Content

What's hot

What is objectives of software testing
What is objectives of software testingWhat is objectives of software testing
What is objectives of software testingSoftware Testing Books
 
Importance of Software testing in SDLC and Agile
Importance of Software testing in SDLC and AgileImportance of Software testing in SDLC and Agile
Importance of Software testing in SDLC and AgileChandan Mishra
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing pptAjit Waje
 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1Raghu Kiran
 
Why testing is important ?
Why testing is important ?Why testing is important ?
Why testing is important ?TestCenter
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-conceptsmedsherb
 
16103271 software-testing-ppt
16103271 software-testing-ppt16103271 software-testing-ppt
16103271 software-testing-pptatish90
 
What are Software Testing Methodologies | Software Testing Techniques | Edureka
What are Software Testing Methodologies | Software Testing Techniques | EdurekaWhat are Software Testing Methodologies | Software Testing Techniques | Edureka
What are Software Testing Methodologies | Software Testing Techniques | EdurekaEdureka!
 
Testing for business benefits
Testing for business benefitsTesting for business benefits
Testing for business benefitsAsim Kazmi
 
Software Testing 101
Software Testing 101Software Testing 101
Software Testing 101QA Hannah
 
TESTING LIFE CYCLE PPT
TESTING LIFE CYCLE PPTTESTING LIFE CYCLE PPT
TESTING LIFE CYCLE PPTsuhasreddy1
 

What's hot (20)

What is objectives of software testing
What is objectives of software testingWhat is objectives of software testing
What is objectives of software testing
 
Importance of Software testing in SDLC and Agile
Importance of Software testing in SDLC and AgileImportance of Software testing in SDLC and Agile
Importance of Software testing in SDLC and Agile
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Introduction & Manual Testing
Introduction & Manual TestingIntroduction & Manual Testing
Introduction & Manual Testing
 
Manual testing concepts course 1
Manual testing concepts course 1Manual testing concepts course 1
Manual testing concepts course 1
 
Software test life cycle
Software test life cycleSoftware test life cycle
Software test life cycle
 
Why testing is important ?
Why testing is important ?Why testing is important ?
Why testing is important ?
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-concepts
 
16103271 software-testing-ppt
16103271 software-testing-ppt16103271 software-testing-ppt
16103271 software-testing-ppt
 
What are Software Testing Methodologies | Software Testing Techniques | Edureka
What are Software Testing Methodologies | Software Testing Techniques | EdurekaWhat are Software Testing Methodologies | Software Testing Techniques | Edureka
What are Software Testing Methodologies | Software Testing Techniques | Edureka
 
Types of testing
Types of testingTypes of testing
Types of testing
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
St
StSt
St
 
Testing for business benefits
Testing for business benefitsTesting for business benefits
Testing for business benefits
 
Software testing
Software testingSoftware testing
Software testing
 
Transactionflow
TransactionflowTransactionflow
Transactionflow
 
Software testing overview subbu
Software testing overview subbuSoftware testing overview subbu
Software testing overview subbu
 
Software testing
Software testingSoftware testing
Software testing
 
Software Testing 101
Software Testing 101Software Testing 101
Software Testing 101
 
TESTING LIFE CYCLE PPT
TESTING LIFE CYCLE PPTTESTING LIFE CYCLE PPT
TESTING LIFE CYCLE PPT
 

Similar to Notes on teaching software testing

Intro to Software Engineering - Software Quality Assurance
Intro to Software Engineering - Software Quality AssuranceIntro to Software Engineering - Software Quality Assurance
Intro to Software Engineering - Software Quality AssuranceRadu_Negulescu
 
Intro to Software Engineering - Software Quality Assurance
Intro to Software Engineering - Software Quality AssuranceIntro to Software Engineering - Software Quality Assurance
Intro to Software Engineering - Software Quality AssuranceRadu_Negulescu
 
Black box-software-testing-douglas-hoffman2483
Black box-software-testing-douglas-hoffman2483Black box-software-testing-douglas-hoffman2483
Black box-software-testing-douglas-hoffman2483Chaitanya Kn
 
Back to the basics principles for constructing quality software
Back to the basics   principles for constructing quality softwareBack to the basics   principles for constructing quality software
Back to the basics principles for constructing quality softwareRick Spiewak
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringRizwan411667
 
Intro to Software Engineering - Software Testing
Intro to Software Engineering - Software TestingIntro to Software Engineering - Software Testing
Intro to Software Engineering - Software TestingRadu_Negulescu
 
Software Engineering Practice - Software Quality Management
Software Engineering Practice - Software Quality ManagementSoftware Engineering Practice - Software Quality Management
Software Engineering Practice - Software Quality ManagementRadu_Negulescu
 
Software tetsing paper related to industry
Software tetsing paper related to industrySoftware tetsing paper related to industry
Software tetsing paper related to industryJavedKhan524377
 
Software Development Methodologies
Software Development MethodologiesSoftware Development Methodologies
Software Development MethodologiesNicholas Davis
 
Software Engineering Research: Leading a Double-Agent Life.
Software Engineering Research: Leading a Double-Agent Life.Software Engineering Research: Leading a Double-Agent Life.
Software Engineering Research: Leading a Double-Agent Life.Lionel Briand
 
Risk based testing a new case study
Risk based testing   a new case studyRisk based testing   a new case study
Risk based testing a new case studyBassam Al-Khatib
 
se01.ppt
se01.pptse01.ppt
se01.pptxiso
 
Introduction To Testing by enosislearning.com
Introduction To Testing by enosislearning.com Introduction To Testing by enosislearning.com
Introduction To Testing by enosislearning.com enosislearningcom
 
OOSE Unit 5 PPT.ppt
OOSE Unit 5 PPT.pptOOSE Unit 5 PPT.ppt
OOSE Unit 5 PPT.pptitadmin33
 
Software Engineering 2 lecture slide
Software Engineering 2 lecture slideSoftware Engineering 2 lecture slide
Software Engineering 2 lecture slideAdil Mehmoood
 
Software Engineering.ppt
Software Engineering.pptSoftware Engineering.ppt
Software Engineering.pptHODCOMPUTER10
 
Oose unit 5 ppt
Oose unit 5 pptOose unit 5 ppt
Oose unit 5 pptDr VISU P
 

Similar to Notes on teaching software testing (20)

Intro to Software Engineering - Software Quality Assurance
Intro to Software Engineering - Software Quality AssuranceIntro to Software Engineering - Software Quality Assurance
Intro to Software Engineering - Software Quality Assurance
 
Intro to Software Engineering - Software Quality Assurance
Intro to Software Engineering - Software Quality AssuranceIntro to Software Engineering - Software Quality Assurance
Intro to Software Engineering - Software Quality Assurance
 
Black box-software-testing-douglas-hoffman2483
Black box-software-testing-douglas-hoffman2483Black box-software-testing-douglas-hoffman2483
Black box-software-testing-douglas-hoffman2483
 
Back to the basics principles for constructing quality software
Back to the basics   principles for constructing quality softwareBack to the basics   principles for constructing quality software
Back to the basics principles for constructing quality software
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Intro to Software Engineering - Software Testing
Intro to Software Engineering - Software TestingIntro to Software Engineering - Software Testing
Intro to Software Engineering - Software Testing
 
Software Engineering Practice - Software Quality Management
Software Engineering Practice - Software Quality ManagementSoftware Engineering Practice - Software Quality Management
Software Engineering Practice - Software Quality Management
 
Software tetsing paper related to industry
Software tetsing paper related to industrySoftware tetsing paper related to industry
Software tetsing paper related to industry
 
Week1.pptx
Week1.pptxWeek1.pptx
Week1.pptx
 
Software Development Methodologies
Software Development MethodologiesSoftware Development Methodologies
Software Development Methodologies
 
Software Engineering Research: Leading a Double-Agent Life.
Software Engineering Research: Leading a Double-Agent Life.Software Engineering Research: Leading a Double-Agent Life.
Software Engineering Research: Leading a Double-Agent Life.
 
Risk based testing a new case study
Risk based testing   a new case studyRisk based testing   a new case study
Risk based testing a new case study
 
CAJ-014 Rick Spiewak
CAJ-014 Rick SpiewakCAJ-014 Rick Spiewak
CAJ-014 Rick Spiewak
 
Unit 1
Unit 1Unit 1
Unit 1
 
se01.ppt
se01.pptse01.ppt
se01.ppt
 
Introduction To Testing by enosislearning.com
Introduction To Testing by enosislearning.com Introduction To Testing by enosislearning.com
Introduction To Testing by enosislearning.com
 
OOSE Unit 5 PPT.ppt
OOSE Unit 5 PPT.pptOOSE Unit 5 PPT.ppt
OOSE Unit 5 PPT.ppt
 
Software Engineering 2 lecture slide
Software Engineering 2 lecture slideSoftware Engineering 2 lecture slide
Software Engineering 2 lecture slide
 
Software Engineering.ppt
Software Engineering.pptSoftware Engineering.ppt
Software Engineering.ppt
 
Oose unit 5 ppt
Oose unit 5 pptOose unit 5 ppt
Oose unit 5 ppt
 

More from Förderverein Technische Fakultät

The Digital Transformation of Education: A Hyper-Disruptive Era through Block...
The Digital Transformation of Education: A Hyper-Disruptive Era through Block...The Digital Transformation of Education: A Hyper-Disruptive Era through Block...
The Digital Transformation of Education: A Hyper-Disruptive Era through Block...Förderverein Technische Fakultät
 
Engineering Serverless Workflow Applications in Federated FaaS.pdf
Engineering Serverless Workflow Applications in Federated FaaS.pdfEngineering Serverless Workflow Applications in Federated FaaS.pdf
Engineering Serverless Workflow Applications in Federated FaaS.pdfFörderverein Technische Fakultät
 
The Role of Machine Learning in Fluid Network Control and Data Planes.pdf
The Role of Machine Learning in Fluid Network Control and Data Planes.pdfThe Role of Machine Learning in Fluid Network Control and Data Planes.pdf
The Role of Machine Learning in Fluid Network Control and Data Planes.pdfFörderverein Technische Fakultät
 
Nonequilibrium Network Dynamics_Inference, Fluctuation-Respones & Tipping Poi...
Nonequilibrium Network Dynamics_Inference, Fluctuation-Respones & Tipping Poi...Nonequilibrium Network Dynamics_Inference, Fluctuation-Respones & Tipping Poi...
Nonequilibrium Network Dynamics_Inference, Fluctuation-Respones & Tipping Poi...Förderverein Technische Fakultät
 
East-west oriented photovoltaic power systems: model, benefits and technical ...
East-west oriented photovoltaic power systems: model, benefits and technical ...East-west oriented photovoltaic power systems: model, benefits and technical ...
East-west oriented photovoltaic power systems: model, benefits and technical ...Förderverein Technische Fakultät
 
Advances in Visual Quality Restoration with Generative Adversarial Networks
Advances in Visual Quality Restoration with Generative Adversarial NetworksAdvances in Visual Quality Restoration with Generative Adversarial Networks
Advances in Visual Quality Restoration with Generative Adversarial NetworksFörderverein Technische Fakultät
 
Industriepraktikum_ Unterstützung bei Projekten in der Automatisierung.pdf
Industriepraktikum_ Unterstützung bei Projekten in der Automatisierung.pdfIndustriepraktikum_ Unterstützung bei Projekten in der Automatisierung.pdf
Industriepraktikum_ Unterstützung bei Projekten in der Automatisierung.pdfFörderverein Technische Fakultät
 

More from Förderverein Technische Fakultät (20)

Supervisory control of business processes
Supervisory control of business processesSupervisory control of business processes
Supervisory control of business processes
 
The Digital Transformation of Education: A Hyper-Disruptive Era through Block...
The Digital Transformation of Education: A Hyper-Disruptive Era through Block...The Digital Transformation of Education: A Hyper-Disruptive Era through Block...
The Digital Transformation of Education: A Hyper-Disruptive Era through Block...
 
A Game of Chess is Like a Swordfight.pdf
A Game of Chess is Like a Swordfight.pdfA Game of Chess is Like a Swordfight.pdf
A Game of Chess is Like a Swordfight.pdf
 
From Mind to Meta.pdf
From Mind to Meta.pdfFrom Mind to Meta.pdf
From Mind to Meta.pdf
 
Miniatures Design for Tabletop Games.pdf
Miniatures Design for Tabletop Games.pdfMiniatures Design for Tabletop Games.pdf
Miniatures Design for Tabletop Games.pdf
 
Distributed Systems in the Post-Moore Era.pptx
Distributed Systems in the Post-Moore Era.pptxDistributed Systems in the Post-Moore Era.pptx
Distributed Systems in the Post-Moore Era.pptx
 
Don't Treat the Symptom, Find the Cause!.pptx
Don't Treat the Symptom, Find the Cause!.pptxDon't Treat the Symptom, Find the Cause!.pptx
Don't Treat the Symptom, Find the Cause!.pptx
 
Engineering Serverless Workflow Applications in Federated FaaS.pdf
Engineering Serverless Workflow Applications in Federated FaaS.pdfEngineering Serverless Workflow Applications in Federated FaaS.pdf
Engineering Serverless Workflow Applications in Federated FaaS.pdf
 
The Role of Machine Learning in Fluid Network Control and Data Planes.pdf
The Role of Machine Learning in Fluid Network Control and Data Planes.pdfThe Role of Machine Learning in Fluid Network Control and Data Planes.pdf
The Role of Machine Learning in Fluid Network Control and Data Planes.pdf
 
Nonequilibrium Network Dynamics_Inference, Fluctuation-Respones & Tipping Poi...
Nonequilibrium Network Dynamics_Inference, Fluctuation-Respones & Tipping Poi...Nonequilibrium Network Dynamics_Inference, Fluctuation-Respones & Tipping Poi...
Nonequilibrium Network Dynamics_Inference, Fluctuation-Respones & Tipping Poi...
 
Towards a data driven identification of teaching patterns.pdf
Towards a data driven identification of teaching patterns.pdfTowards a data driven identification of teaching patterns.pdf
Towards a data driven identification of teaching patterns.pdf
 
Förderverein Technische Fakultät.pptx
Förderverein Technische Fakultät.pptxFörderverein Technische Fakultät.pptx
Förderverein Technische Fakultät.pptx
 
The Computing Continuum.pdf
The Computing Continuum.pdfThe Computing Continuum.pdf
The Computing Continuum.pdf
 
East-west oriented photovoltaic power systems: model, benefits and technical ...
East-west oriented photovoltaic power systems: model, benefits and technical ...East-west oriented photovoltaic power systems: model, benefits and technical ...
East-west oriented photovoltaic power systems: model, benefits and technical ...
 
Machine Learning in Finance via Randomization
Machine Learning in Finance via RandomizationMachine Learning in Finance via Randomization
Machine Learning in Finance via Randomization
 
IT does not stop
IT does not stopIT does not stop
IT does not stop
 
Advances in Visual Quality Restoration with Generative Adversarial Networks
Advances in Visual Quality Restoration with Generative Adversarial NetworksAdvances in Visual Quality Restoration with Generative Adversarial Networks
Advances in Visual Quality Restoration with Generative Adversarial Networks
 
Recent Trends in Personalization at Netflix
Recent Trends in Personalization at NetflixRecent Trends in Personalization at Netflix
Recent Trends in Personalization at Netflix
 
Industriepraktikum_ Unterstützung bei Projekten in der Automatisierung.pdf
Industriepraktikum_ Unterstützung bei Projekten in der Automatisierung.pdfIndustriepraktikum_ Unterstützung bei Projekten in der Automatisierung.pdf
Industriepraktikum_ Unterstützung bei Projekten in der Automatisierung.pdf
 
Introduction to 5G from radio perspective
Introduction to 5G from radio perspectiveIntroduction to 5G from radio perspective
Introduction to 5G from radio perspective
 

Recently uploaded

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 

Recently uploaded (20)

Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

Notes on teaching software testing

  • 1. Notes on Teaching Software Testing Alpen-Adria-Universität, Klagenfurt, 28 March 2013 Ladislav Samuelis, Technical University of Košice, Slovakia
  • 2. Motivation • For years I was notoriously curious about the latest updates in program development. • The main question: – How a program “is born”. Later changed to “what is software evolution”. • Challenge: grant of the Slovak Ministry of Education: “Implementation of Current Software Engineering Courses for Computer Science Programs …” Ladislav Samuelis: Notes on Teaching 2 of 23 Software Testing
  • 3. Dawn of software testing • P. Naur, 1969: “If you develop programs systematically, you can dispense with testing altogether.” • This hope to achieve the goal is still present. • However, in practice testing cannot be avoided by any other means, whether it is the most careful design, construction, or formal analysis of the requirements. • Elimination of testing from the development process just postpones the test with reality until the product is put into production. Ladislav Samuelis: Notes on Teaching 3 of 23 Software Testing
  • 4. Lehman’s law • E-type software, software implementing real world computer applications, must be continually evolved to maintain user satisfaction, generally over several years and releases. • It is likely that the responsible organisation will, sooner or later, consider its replacement through redevelopment or acquisition. (1974) Ladislav Samuelis: Notes on Teaching 4 of 23 Software Testing
  • 5. Specific of software testing • Testing is a part of the development process, not the manufacturing process. • This testing is different from many other engineering products, where the emphasis is on testing the correct reproduction. Ladislav Samuelis: Notes on Teaching 5 of 23 Software Testing
  • 6. What are the questions? • What are we teaching in software testing courses and why? • What are the scientific foundations of testing? Ladislav Samuelis: Notes on Teaching 6 of 23 Software Testing
  • 7. Why should we have courses on software testing? • Developers spend 50% of their time testing, and reliability requirements are steadily increasing. • All programmers spend a significant amount of time to trial their software. • It gets negligible significance in most software development curricula. • Accidents, ARIANE … Ladislav Samuelis: Notes on Teaching 7 of 23 Software Testing
  • 8. What are we teaching in software testing courses? • Techniques, measurements, management … – Plenty of comprehensive books … • ISTQB (International Software Testing Qualification Board) – Effective for undergraduate informatics study- programmes – Required by the industry Ladislav Samuelis: Notes on Teaching 8 of 23 Software Testing
  • 9. Notes on obstacles in building software testing course • How to avoid the phenomenon of “bag of tricks”? • It is not easy to design a specific curriculum with adequate labs and assessment procedures. • The border between the program analysis and testing is fuzzy. Ladislav Samuelis: Notes on Teaching 9 of 23 Software Testing
  • 10. How do we cooperate with the industry? • RWE IT local company provides selected lectures on: – testing of large projects – testing techniques – test cases by examples • Diploma theses and internships • Experimental data published in papers • Workshop biannually for prospective employees Ladislav Samuelis: Notes on Teaching 10 of 23 Software Testing
  • 11. Dijkstra’s “law” • “Program testing can be used to show the presence of bugs, but never to show their absence”. (1969) • Donald Knuth: – Beware of bugs in the above code; I have only proved it correct, not tried it. This law is expresses the limitations of black-box testing. Question: How do we explain the theory of this “law” to students? Ladislav Samuelis: Notes on Teaching 11 of 23 Software Testing
  • 12. On the limits of formal methods (D.L.Parnas) Simplification (model) is achieved by ignoring certain facts such as the limits in the sizes of data elements and the errors in arithmetic operations. Unfortunately, these are exactly the type of details that can cause faults and lead to failures. No formal analysis of such a model that leaves out critical limits can reveal faults attributable to those limits. Ladislav Samuelis: Notes on Teaching 12 of 23 Software Testing
  • 13. The theory of program testing • The idea of program testing is as old as programming. • 1970 – new field of research called testing theory emerged – efficiency and effectivity • What are the main questions? – How to design test cases from different sources: specification, source code, input and output domains of programs – How to select a subset of test cases from the set of all possible test cases? Ladislav Samuelis: Notes on Teaching 13 of 23 Software Testing
  • 14. A scheme of testing (a mathematical approach) Ladislav Samuelis: Notes on Teaching 14 of 23 Software Testing
  • 15. The theory of Goodenough and Gerhart (very simplified explanation of the ideal test) P “runs” and gives B number of bugs. We create new set Tk until Bk ≥ B. Then it is an ideal test. • D = input domain, T≤D, d є D • P= program, result is P(d) • d is true, if output P(d) is acceptable Ladislav Samuelis: Notes on Teaching 15 of 23 Software Testing
  • 16. Other testing theories • Theory of Weyuker and Ostrand, Gourlay • Dines Bjørner: On a Triptych of Software Development – Domain engineering, – Requirements engineering, – Design • SEMAT initiative Question: How much testing theory do we have to teach? Ladislav Samuelis: Notes on Teaching 16 of 23 Software Testing
  • 17. Power law The notion of power laws has been around for more than a century. P(x) ~ c.x−k Question: What does it mean in software testing? Ladislav Samuelis: Notes on Teaching 17 of 23 Software Testing
  • 18. Power law and software testing • Object-oriented software ~ network of objects. • It is worth to test less complex classes than many trivial classes. Note: This is an empirical “law” or concept , rarely taught in testing courses. Ladislav Samuelis: Notes on Teaching 18 of 23 Software Testing
  • 19. Gödel’s incompleteness theorem • No computer program is capable of proving all programs. • For any consistent system of axioms there will always be statements that are improvable within the system. Ladislav Samuelis: Notes on Teaching 19 of 23 Software Testing
  • 20. Teaching of Gödel's incompleteness theorems? • Elaine Weyuker - Evaluating Software Test Data Adequacy (1988) Question: Where are the places of Gödel’s theorems in software engineering courses? Ladislav Samuelis: Notes on Teaching 20 of 23 Software Testing
  • 21. Note on testing and deductive reasoning • Deductive reasoning; – Major premise – initial set of facts – Minor premise – goal fact • For example, PROLOG program – the inference engine gives the verdict. • Not-PROLOG program – no inference engine, program is executed and tester “gives a verdict” against requirements. Ladislav Samuelis: Notes on Teaching 21 of 23 Software Testing
  • 22. Questions on the role of observation in software testing Questions: Why do we select observations? Where do we perform the observation? In which phase of the product lifecycle do we perform observations? Ladislav Samuelis: Notes on Teaching 22 of 23 Software Testing
  • 23. Notes on the history of testing concurrent programs • Before object-oriented programming: – mechanisms for ensuring mutual exclusion (Dijkstra), – monitors (Hoare) and – critical regions (Brinch-Hansen) Question: What topics to teach in concurrent program testing? Ladislav Samuelis: Notes on Teaching 23 of 23 Software Testing