SlideShare a Scribd company logo
Object Oriented Testing
(Introduction)
Damian Gordon
Object Oriented Testing
• Testing is very important to make sure your code works.
• As programs grow bigger and bigger it becomes very important
to test the code, and to understand how changes in one part of
the code can impact other parts of the code.
• As the code grows it also becomes more and more difficult to
manually test each possible path of execution.
Object Oriented Testing
• To handle this, we can write automated tests.
• These are programs that automatically run certain input
through other parts of programs.
• We can run these in seconds and cover a significant numbers
of paths of execution (and makes retesting easier when
anything in the program is changed).
Object Oriented Testing
• The four main reasons to develop tests are:
– To ensure the code is working the way the developer intends
– To ensure the code continues to work after changes are made
– To ensure the developer(s) have understood the requirements
– To ensure the code has a maintainable interface
Test-Driven Development
Object Oriented Testing
• “write tests first” – the mantra of Test-Driven Development
• The key concept is that a developer shouldn’t write any code
until they have written tests for that code first
• Test-Driven Development is fun, it’s all about solving puzzles.
Object Oriented Testing
• Test-Driven Development has two goals:
1. To ensure that tests are actually written, and written well. Too often
developers leave the design of tests until after the development
process, and then don’t bother because the code seems to work.
2. To help the developers envisage exactly what the code will do, and
what processes and modules it will interact with, thus testing
becomes part of the design process.
etc.

More Related Content

PPTX
Python: Design Patterns
PPT
documentation-testing.ppt
PPT
Software testing
PPTX
Testing and types of Testing
PPTX
Object oriented testing
PPTX
GUI Testing
PPT
Software coding and testing
ODP
Testing & continuous delivery
Python: Design Patterns
documentation-testing.ppt
Software testing
Testing and types of Testing
Object oriented testing
GUI Testing
Software coding and testing
Testing & continuous delivery

What's hot (20)

PPT
Software coding & testing, software engineering
PPT
Testing fundamentals
PPT
PPTX
09 coding standards_n_guidelines
PPT
Software quality and testing (func. & non func.)
PPT
Software testing strategies
PPTX
Unit testing
PPT
1. The Software Development Process - Analysis
PDF
Intro to Software Engineering - Software Testing
PPTX
Software testing
PPTX
Coding and testing in Software Engineering
PPT
Testing software security
PPTX
03 analysis of_requirementsspecification
PPT
Software testing lecture 9
PPTX
Testing in multiplatform environment
PPT
White box testing
PPT
Ppt19
PDF
Types of software testing
Software coding & testing, software engineering
Testing fundamentals
09 coding standards_n_guidelines
Software quality and testing (func. & non func.)
Software testing strategies
Unit testing
1. The Software Development Process - Analysis
Intro to Software Engineering - Software Testing
Software testing
Coding and testing in Software Engineering
Testing software security
03 analysis of_requirementsspecification
Software testing lecture 9
Testing in multiplatform environment
White box testing
Ppt19
Types of software testing
Ad

Viewers also liked (20)

PPTX
Python: The Iterator Pattern
PPTX
Python: Migrating from Procedural to Object-Oriented Programming
PPTX
Python: Modules and Packages
PPT
How to Program
PPTX
Python: Basic Inheritance
PPTX
Python: Object-Oriented Testing (Unit Testing)
PPTX
Python: Multiple Inheritance
PPTX
Python: Common Design Patterns
PPTX
Operating Systems: Virtual Memory
PPTX
Operating Systems: Memory Management
PPTX
PDF
SSLC Certificate
PPTX
Factory Method Pattern
PPT
Computer Vision: Reflectance Analysis for Image Understanding
PPT
Diagrams of the 2009 Claremont Report
PPT
Concepts from Random Words
PPT
Writing a Databases Research Paper
PPTX
Operating Systems - Memory Management
PPT
Hackers and Hollywood: Deleted scene 1
PPT
Universal Design for Learning: Assistive Technology
Python: The Iterator Pattern
Python: Migrating from Procedural to Object-Oriented Programming
Python: Modules and Packages
How to Program
Python: Basic Inheritance
Python: Object-Oriented Testing (Unit Testing)
Python: Multiple Inheritance
Python: Common Design Patterns
Operating Systems: Virtual Memory
Operating Systems: Memory Management
SSLC Certificate
Factory Method Pattern
Computer Vision: Reflectance Analysis for Image Understanding
Diagrams of the 2009 Claremont Report
Concepts from Random Words
Writing a Databases Research Paper
Operating Systems - Memory Management
Hackers and Hollywood: Deleted scene 1
Universal Design for Learning: Assistive Technology
Ad

Similar to Python: Object-oriented Testing (20)

PDF
Test-Driven Development Reference Card
PPTX
Expert Code Review best practices
PPTX
Topic production code
PPTX
Test-Driven-Development.pptx
PPTX
"X" Driven-Development Methodologies
PPTX
Test driven development
PPTX
Test driven development
PPTX
Test driven development
PPTX
Test driven development
PPTX
Test driven development
PPTX
Test driven development
POT
Quality metrics and angular js applications
PPTX
{10.0} Test Driven Development.pptx
PPTX
An Introduction To Software Development - Implementation
PDF
The Essentials Of Test Driven Development
PPTX
TDD in Agile
PPT
Test Driven Development
PPTX
Software Engineering and Project Management - A Beginner's Guide - Part 4
PPTX
Coding, Testing, Black-box and White-box Testing.pptx
Test-Driven Development Reference Card
Expert Code Review best practices
Topic production code
Test-Driven-Development.pptx
"X" Driven-Development Methodologies
Test driven development
Test driven development
Test driven development
Test driven development
Test driven development
Test driven development
Quality metrics and angular js applications
{10.0} Test Driven Development.pptx
An Introduction To Software Development - Implementation
The Essentials Of Test Driven Development
TDD in Agile
Test Driven Development
Software Engineering and Project Management - A Beginner's Guide - Part 4
Coding, Testing, Black-box and White-box Testing.pptx

More from Damian T. Gordon (20)

PPTX
Introduction to Prompts and Prompt Engineering
PPTX
Introduction to Vibe Coding and Vibe Engineering
PPTX
TRIZ: Theory of Inventive Problem Solving
PPTX
Some Ethical Considerations of AI and GenAI
PPTX
Some Common Errors that Generative AI Produces
PPTX
The Use of Data and Datasets in Data Science
PPTX
A History of Different Versions of Microsoft Windows
PPTX
Writing an Abstract: A Question-based Approach
PPTX
Using GenAI for Universal Design for Learning
DOC
A CheckSheet for Inclusive Software Design
PPTX
A History of Versions of the Apple MacOS
PPTX
68 Ways that Data Science and AI can help address the UN Sustainability Goals
PPTX
Copyright and Creative Commons Considerations
PPTX
Exam Preparation: Some Ideas and Suggestions
PPTX
Studying and Notetaking: Some Suggestions
PPTX
The Growth Mindset: Explanations and Activities
PPTX
Hyperparameter Tuning in Neural Networks
PPTX
Early 20th Century Modern Art: Movements and Artists
PPTX
An Introduction to Generative Artificial Intelligence
PPTX
An Introduction to Green Computing with a fun quiz.
Introduction to Prompts and Prompt Engineering
Introduction to Vibe Coding and Vibe Engineering
TRIZ: Theory of Inventive Problem Solving
Some Ethical Considerations of AI and GenAI
Some Common Errors that Generative AI Produces
The Use of Data and Datasets in Data Science
A History of Different Versions of Microsoft Windows
Writing an Abstract: A Question-based Approach
Using GenAI for Universal Design for Learning
A CheckSheet for Inclusive Software Design
A History of Versions of the Apple MacOS
68 Ways that Data Science and AI can help address the UN Sustainability Goals
Copyright and Creative Commons Considerations
Exam Preparation: Some Ideas and Suggestions
Studying and Notetaking: Some Suggestions
The Growth Mindset: Explanations and Activities
Hyperparameter Tuning in Neural Networks
Early 20th Century Modern Art: Movements and Artists
An Introduction to Generative Artificial Intelligence
An Introduction to Green Computing with a fun quiz.

Recently uploaded (20)

PPTX
Lesson notes of climatology university.
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PPTX
Cell Types and Its function , kingdom of life
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PDF
O7-L3 Supply Chain Operations - ICLT Program
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
VCE English Exam - Section C Student Revision Booklet
PPTX
master seminar digital applications in india
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
PPTX
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
PPTX
Presentation on HIE in infants and its manifestations
PPTX
202450812 BayCHI UCSC-SV 20250812 v17.pptx
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Computing-Curriculum for Schools in Ghana
Lesson notes of climatology university.
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Cell Types and Its function , kingdom of life
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
O7-L3 Supply Chain Operations - ICLT Program
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
VCE English Exam - Section C Student Revision Booklet
master seminar digital applications in india
Final Presentation General Medicine 03-08-2024.pptx
Microbial disease of the cardiovascular and lymphatic systems
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
Presentation on HIE in infants and its manifestations
202450812 BayCHI UCSC-SV 20250812 v17.pptx
O5-L3 Freight Transport Ops (International) V1.pdf
Microbial diseases, their pathogenesis and prophylaxis
Final Presentation General Medicine 03-08-2024.pptx
Computing-Curriculum for Schools in Ghana

Python: Object-oriented Testing

  • 2. Object Oriented Testing • Testing is very important to make sure your code works. • As programs grow bigger and bigger it becomes very important to test the code, and to understand how changes in one part of the code can impact other parts of the code. • As the code grows it also becomes more and more difficult to manually test each possible path of execution.
  • 3. Object Oriented Testing • To handle this, we can write automated tests. • These are programs that automatically run certain input through other parts of programs. • We can run these in seconds and cover a significant numbers of paths of execution (and makes retesting easier when anything in the program is changed).
  • 4. Object Oriented Testing • The four main reasons to develop tests are: – To ensure the code is working the way the developer intends – To ensure the code continues to work after changes are made – To ensure the developer(s) have understood the requirements – To ensure the code has a maintainable interface
  • 6. Object Oriented Testing • “write tests first” – the mantra of Test-Driven Development • The key concept is that a developer shouldn’t write any code until they have written tests for that code first • Test-Driven Development is fun, it’s all about solving puzzles.
  • 7. Object Oriented Testing • Test-Driven Development has two goals: 1. To ensure that tests are actually written, and written well. Too often developers leave the design of tests until after the development process, and then don’t bother because the code seems to work. 2. To help the developers envisage exactly what the code will do, and what processes and modules it will interact with, thus testing becomes part of the design process.