We may earn an affiliate commission when you visit our partners.
Jason Olson

Developing software can be expensive. Surprisingly, much of this cost is found in software maintenance. Come learn about test-driven development, a practice that aims to help reduce these costs as well as enable building of higher quality software.

Read more

Developing software can be expensive. Surprisingly, much of this cost is found in software maintenance. Come learn about test-driven development, a practice that aims to help reduce these costs as well as enable building of higher quality software.

Test-driven development aims to help with runaway costs as well as enabling developers to build higher quality software in the first place. In this course, Test-driven Development: The Big Picture, you'll learn the basics of test-driven development, a development practice aimed at building high-quality software. First, you'll learn what test-driven development is and why it exists. Next, you’ll discover the different terminology and tools of the trade when doing test-driven development. Then. you’ll figure out how to practice test-driven development by working through a series of test-driven development examples. Finally, you’ll explore the gotchas you need to watch out for and other topics you should know. When you’re finished with this course, you'll have the necessary knowledge to start building up your test-driven development skills and to help yourself improve the quality of the software you build.

Enroll now

What's inside

Syllabus

Course Overview
What Is Test-driven Development?
Testing Applications 101
Common Techniques for Testing Code
Read more
Test-driven Development Gotchas
Is Test-driven Development All I Need?

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Delves into the benefits of TDD, which is useful for building up high-quality software
Taught by Jason Olson, who is an experienced professional in the field
Examines various testing techniques, giving learners a comprehensive understanding of the software testing process
Provides a solid foundation for beginners seeking to incorporate TDD into their software development practices
Covers essential concepts and methodologies of TDD in a clear and accessible manner
Features hands-on examples and practical exercises to reinforce learning

Save this course

Save Test-driven Development: The Big Picture to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Test-driven Development: The Big Picture with these activities:
Practice writing test cases for a simple function
Hands-on practice writing test cases will help you develop proficiency in this essential skill for test-driven development.
Browse courses on Test-Driven Development
Show steps
  • Select a simple function, such as one that calculates the area of a circle.
  • Write several test cases that cover different scenarios, including valid and invalid inputs.
  • Run the test cases and debug any failures.
Follow a tutorial on using a test-driven development framework
Following a guided tutorial will provide you with hands-on experience using a specific test-driven development framework.
Browse courses on Test-Driven Development
Show steps
  • Select a test-driven development framework, such as JUnit or PHPUnit.
  • Find a tutorial that covers the basics of using the framework.
  • Follow the tutorial step-by-step, implementing the concepts in your own code.
Organize and review your course notes and assignments
Organizing and reviewing your course materials will help you identify areas where you need further clarification and reinforce what you have learned.
Show steps
  • Gather all your course notes, assignments, and any other relevant materials.
  • Review your notes to identify any gaps in your understanding.
  • Complete any outstanding assignments or practice exercises.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Develop a test plan for a small software project
Creating a test plan will help you plan and organize your testing efforts, ensuring thorough and effective testing.
Browse courses on Test-Driven Development
Show steps
  • Define the scope and objectives of the software project.
  • Identify the different types of testing that need to be performed.
  • Write detailed test cases for each type of testing.
  • Specify the expected results for each test case.
  • Create a schedule for executing the test plan.
Review 'Growing Object-Oriented Software, Guided by Tests'
Gain a deeper understanding of test-driven development practices by reading a more advanced book on the topic.
Show steps
  • Purchase the book 'Growing Object-Oriented Software, Guided by Tests' by Steve Freeman and Nat Pryce.
  • Read Chapter 4-6, which focus on test-driven design and refactoring techniques.
Write a blog post explaining the basics of test-driven development
By teaching others about test-driven development, you will reinforce your understanding of the concepts and improve your communication skills.
Browse courses on Test-Driven Development
Show steps
  • Choose a specific aspect of test-driven development to focus on, such as its benefits or implementation.
  • Research the topic thoroughly to ensure accuracy and depth of knowledge.
  • Structure your blog post with a clear introduction, body, and conclusion.
  • Write in a clear and concise manner, using examples to illustrate key points.
  • Proofread your blog post carefully before publishing it.
Attend a meetup or conference on test-driven development
Networking with other professionals in the field can expose you to new ideas and best practices in test-driven development.
Browse courses on Test-Driven Development
Show steps
  • Find a local meetup or conference focused on test-driven development.
  • Attend the event and actively participate in discussions.
  • Connect with other attendees and exchange knowledge.

Career center

Learners who complete Test-driven Development: The Big Picture will develop knowledge and skills that may be useful to these careers:
Quality Assurance (QA) Analyst
A Quality Assurance (QA) Analyst is responsible for ensuring that software products meet quality standards. This course, Test-driven Development: The Big Picture, can provide QA Analysts with the knowledge and skills needed to effectively test software applications. The course covers the basics of test-driven development, including different terminology, tools, and techniques. It also provides examples of how to practice test-driven development, and discusses the gotchas that developers need to watch out for. By taking this course, QA Analysts can improve their skills and knowledge in testing software applications.
Test Engineer
A Test Engineer is responsible for planning, executing, and documenting software tests. This course, Test-driven Development: The Big Picture, can provide Test Engineers with the knowledge and skills needed to effectively test software applications. The course covers the basics of test-driven development, including different terminology, tools, and techniques. It also provides examples of how to practice test-driven development, and discusses the gotchas that developers need to watch out for. By taking this course, Test Engineers can improve their skills and knowledge in testing software applications.
Software Architect
A Software Architect is responsible for designing and overseeing the development of software systems. This course, Test-driven Development: The Big Picture, can provide Software Architects with the knowledge and skills needed to effectively test and maintain their systems. The course covers the basics of test-driven development, including different terminology, tools, and techniques. It also provides examples of how to practice test-driven development, and discusses the gotchas that developers need to watch out for. By taking this course, Software Architects can improve their skills and knowledge in testing and maintaining software systems.
Software Engineer
A Software Engineer is a professional who applies engineering principles to the design, development, and maintenance of software systems. This course, Test-driven Development: The Big Picture, can provide Software Engineers with the knowledge and skills needed to effectively test and maintain their code. The course covers the basics of test-driven development, including different terminology, tools, and techniques. It also provides examples of how to practice test-driven development, and discusses the gotchas that developers need to watch out for. By taking this course, Software Engineers can improve their skills and knowledge in testing and maintaining software systems.
Computer Scientist
A Computer Scientist is a professional who studies the theory and practice of computation. This course, Test-driven Development: The Big Picture, can provide Computer Scientists with the knowledge and skills needed to effectively test software applications. The course covers the basics of test-driven development, including different terminology, tools, and techniques. It also provides examples of how to practice test-driven development, and discusses the gotchas that developers need to watch out for. By taking this course, Computer Scientists can improve their skills and knowledge in testing software applications.
Software Developer
A Software Developer is a professional who specializes in the design, development, testing, and maintenance of software systems. This course, Test-driven Development: The Big Picture, can provide Software Developers with the knowledge and skills needed to effectively test and maintain their code. The course covers the basics of test-driven development, including different terminology, tools, and techniques. It also provides examples of how to practice test-driven development, and discusses the gotchas that developers need to watch out for. By taking this course, Software Developers can improve their skills and knowledge in testing and maintaining software systems.
DevOps Engineer
A DevOps Engineer is responsible for bridging the gap between development and operations teams. This course, Test-driven Development: The Big Picture, can provide DevOps Engineers with the knowledge and skills needed to effectively test and deploy software systems. The course covers the basics of test-driven development, including different terminology, tools, and techniques. It also provides examples of how to practice test-driven development, and discusses the gotchas that developers need to watch out for. By taking this course, DevOps Engineers can improve their skills and knowledge in testing and deploying software systems.
Product Manager
A Product Manager is responsible for managing the development and launch of new products. This course, Test-driven Development: The Big Picture, may be of interest to Product Managers as it can provide them with a better understanding of the software development process. The course covers the basics of test-driven development, including different terminology, tools, and techniques. This knowledge can be helpful for Product Managers when working with developers and QA teams.
Project Manager
A Project Manager is responsible for planning, executing, and controlling projects. This course, Test-driven Development: The Big Picture, may be of interest to Project Managers as it can provide them with a better understanding of the software development process. The course covers the basics of test-driven development, including different terminology, tools, and techniques. This knowledge can be helpful for Project Managers when working with development teams.
Technical Writer
A Technical Writer is responsible for creating documentation for software and other technical products. This course, Test-driven Development: The Big Picture, may be of interest to Technical Writers as it can provide them with a better understanding of the software development process and the importance of testing. The course covers the basics of test-driven development, including different terminology, tools, and techniques.
Data Scientist
A Data Scientist is responsible for collecting, analyzing, and interpreting data. This course, Test-driven Development: The Big Picture, may be of interest to Data Scientists as it can provide them with a better understanding of software development and testing. The course covers the basics of test-driven development, including different terminology, tools, and techniques. This knowledge can be helpful for Data Scientists when working with software developers.
Business Analyst
A Business Analyst is responsible for analyzing business needs and developing solutions. This course, Test-driven Development: The Big Picture, may be of interest to Business Analysts as it can provide them with a better understanding of software development and testing. The course covers the basics of test-driven development, including different terminology, tools, and techniques. This knowledge can be helpful for Business Analysts when working with software development teams.
Information Technology (IT) Consultant
An Information Technology (IT) Consultant is responsible for advising clients on the use of technology. This course, Test-driven Development: The Big Picture, may be of interest to IT Consultants as it can provide them with a better understanding of software development and testing. The course covers the basics of test-driven development, including different terminology, tools, and techniques. This knowledge can be helpful for IT Consultants when working with clients who are developing software.
Computer Programmer
A Computer Programmer is responsible for writing and maintaining code for software applications. This course, Test-driven Development: The Big Picture, can provide Computer Programmers with the knowledge and skills needed to effectively test their code. The course covers the basics of test-driven development, including different terminology, tools, and techniques. It also provides examples of how to practice test-driven development, and discusses the gotchas that developers need to watch out for. By taking this course, Computer Programmers can improve their skills and knowledge in testing and maintaining their code.
Software Tester
A Software Tester is responsible for testing software applications for bugs. This course, Test-driven Development: The Big Picture, can provide Software Testers with the knowledge and skills needed to effectively test software applications. The course covers the basics of test-driven development, including different terminology, tools, and techniques. It also provides examples of how to practice test-driven development, and discusses the gotchas that developers need to watch out for. By taking this course, Software Testers can improve their skills and knowledge in testing software applications.

Reading list

We've selected 21 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Test-driven Development: The Big Picture.
An industry standard for test-driven development by the creator of Extreme Programming, this book provides a detailed overview of test-driven development and how to practice it effectively.
Provides a comprehensive overview of test-driven development (TDD) for embedded C systems. It covers the basics of TDD, as well as more advanced topics such as mocking, dependency injection, and continuous integration. This book would be a valuable resource for anyone interested in learning more about TDD for embedded systems.
For test-driven development practitioners already comfortable with the basics, this book provides guidance on best practices and refactoring techniques for test code.
For those already comfortable with testing basics, this book explores how to apply testing to the design of object-oriented software.
Provides a comprehensive overview of unit testing, with a focus on best practices and patterns. It covers topics such as test design, test automation, and mocking. This book would be a valuable resource for anyone interested in learning more about unit testing.
Bridges the gap between traditional testing and agile development, offering practical guidance for those working in agile environments.
Covers general testing concepts, test planning and strategizing, and code testing, that is helpful even if you are new to test-driven development.
For learners interested in test-driven development in Java in particular, this practical and insightful guide.
For those interested in the larger context of test-driven development within software architecture, this book provides a deep dive into domain-driven design.
This practical guide to test-driven development provides many real-world examples and exercises.
This comprehensive textbook provides an in-depth look at software testing from a theoretical and practical perspective.
Provides a comprehensive overview of test-driven development (TDD) for Python. It covers the basics of TDD, as well as more advanced topics such as mocking, dependency injection, and continuous integration. This book would be a valuable resource for anyone interested in learning more about TDD for Python.
An academic text on software testing in general, this book helpful reference for those interested in going deeper into foundational theories.
Classic work on test-driven development (TDD) for Java. It covers the basics of TDD, as well as more advanced topics such as refactoring, dependency injection, and continuous integration. This book would be a valuable resource for anyone interested in learning more about TDD for Java.
Provides a comprehensive overview of the principles and practices of clean coding. This book would be a valuable resource for anyone interested in learning more about clean coding and its relationship to TDD.
Provides a comprehensive overview of design patterns, a set of reusable solutions to common software design problems. This book would be a valuable resource for anyone interested in learning more about design patterns and their relationship to TDD.
Provides a comprehensive overview of the Java programming language. This book would be a valuable resource for anyone interested in learning more about Java, which is the primary language used in the course.
Provides a comprehensive overview of the Java programming language. This book would be a valuable resource for anyone interested in learning more about Java, which is the primary language used in the course.
Provides a comprehensive overview of test-driven development (TDD) for Java. This book would be a valuable resource for anyone interested in learning more about TDD for Java.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Test-driven Development: The Big Picture.
Test and Behavior Driven Development (TDD/BDD)
Most relevant
Unit Testing and Test Driven Development in Python
Most relevant
Introduction to Test and Behavior Driven Development
Most relevant
DevOps Foundations: Test-driven Development
Most relevant
Behavior-driven Development: Fundamentals
Most relevant
Behavior-driven Development (BDD) with Behave and Python
Most relevant
Unit Testing & Other Embedded Software Catalysts
Most relevant
C# Unit Testing
Most relevant
Svelte with Test Driven Development
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser