What Does MVP Stand For? It’s Not What You Think.
October 7, 2024
Article
This course is part of multiple programs.
Instructor: John Rofrano
Top Instructor
24,235 already enrolled
Included with
(222 reviews)
Recommended experience
Intermediate level
This course is suitable for those with basic computer and IT literacy, and those looking to increase their current knowledge of software engineering.
(222 reviews)
Recommended experience
Intermediate level
This course is suitable for those with basic computer and IT literacy, and those looking to increase their current knowledge of software engineering.
Explain the importance of testing
Describe test-driven development (TDD) and explain its benefits for DevOps
Develop unit tests with test assertions and test fixtures and then run the tests
Improve unit testing through advanced TDD methods including coverage reports, factories, fakes, and mock objects
Add to your LinkedIn profile
13 assignments
Add this credential to your LinkedIn profile, resume, or CV
Share it on social media and in your performance review
Successful developers need to not only build the right software but build it right. To know your software works correctly, you need to test each unit of code. One of the best methods for this unit-level testing is test driven development.
This course provides a detailed overview of test driven development (TDD). First, you’ll learn what automated testing is and why it is essential for building robust applications resilient to failure. You’ll explore the basics of testing, including test cases, testing levels, and the traditional release cycle. You’ll learn about TDD and its complement, behavior driven development (BDD): TDD tests individual units of code while BDD tests how these units work together. Then you’ll examine TDD in detail. You’ll explore TDD’s benefits, concepts, and popular tools, and you’ll hone your new testing skills through hands-on labs. You’ll create TDD test cases by writing test assertions and building test fixtures, and you’ll run these test cases by using the Nose testing package. You’ll then practice more advanced TDD methods such as increasing code coverage, generating and using fake data, and testing mock objects.
This module provides an overview of software testing. You will learn about the importance of testing through an example: the development of the Apollo 11 Lunar Module’s guidance system. You will discover the numerous problems that occur when developers do not test their code. Then you will explore the four levels of testing and find out when each appears in the traditional release cycle. You will learn what test driven and behavior driven development are and why both are essential for effective testing. You will discover the purpose of test cases and witness their value through a demonstration.
6 videos3 readings2 assignments1 plugin
This module provides an overview of Test-Driven Development (TDD). You will learn what TDD is and discover the three basic steps in the TDD and Red/Green/Refactor workflow. You will see why TDD is essential for DevOps and all automated testing. You will also discover popular testing tools for TDD and closely examine the features of several tools for Python. This module also covers essential methods for performing TDD. You will explore ways to run TDD tests such as, Python’s built-in test runner, Unittest, and the more feature-rich module, Nose. You will learn about assertions and how to use them to test code. You will discover why you must include happy and sad paths in your test module. You will also discover the test fixtures and how to use them to establish an appropriate initial state for each test.
9 videos2 readings3 assignments3 app items1 plugin
This module covers advanced methods for TDD. You will learn about test coverage: why it’s important, how to increase it by using test coverage reports, and why you should keep testing even at full test coverage. You will discover the value of testing against fake data and how to use factories to generate this data. You will also explore mocking, a process for mimicking the behavior of real objects, and you will find out the testing situations for which mocking is useful. You will learn how to use two common methods for mocking: patching a function call and mocking entire objects.
10 videos1 reading2 assignments4 app items1 plugin
This module provides an overview of behavior driven development (BDD). You will explore BDD, including its benefits for higher-level automated testing and its typical workflow. You will discover the basics of Gherkin syntax, a standard syntax for writing BDD specifications. You will learn about popular BDD tools and how to select the best one for your project. This module also covers essential methods for performing BDD with Behave. You will examine how Behave uses the code in feature and steps files to test an application’s behavior from a user’s perspective. You will discover how to build a Behave environment and control test execution at various levels. Then you will explore in detail how to write feature and steps files. In addition, you will learn how to load test data from tables, automate web page interactions with Selenium, and write Python functions for testing application behaviors.
11 videos1 reading3 assignments3 app items1 plugin
This module provides an overview of how to use Behave to generate Python steps. Once you know how to generate the steps, you will learn the workflow for implementing them. The next lesson will explain the context variable and how to pass information between Python steps. In addition, you will discuss the benefits of variable substitution for working with Behave and its application in Python steps. Finally, you will practice behavior driven development.
4 videos1 reading2 assignments3 app items1 plugin
In this final module, you will work on a Final project. You will apply many of the technologies and concepts you've learned in the course and will create a microservice for a product catalog backend to an eCommerce application. The UI of the eCommerce application will be used by administrators to maintain the product catalog. This Final Project is divided into two parts. In the first part of this project, you will use good Test Driven Development practices to create a REST API that allows users to Create, Read, Update, Delete, and List products by various attributes. In the second part of this project, you will write Behavior Driven Development scenarios to test that the administrative user interface that has been provided for you behaves as expected. Finally, you will also attempt a final exam to test the concepts learned.
5 readings1 assignment1 peer review1 app item1 plugin
We asked all learners to give feedback on our instructors based on the quality of their teaching style.
At IBM, we know how rapidly tech evolves and recognize the crucial need for businesses and professionals to build job-ready, hands-on skills quickly. As a market-leading tech innovator, we’re committed to helping you thrive in this dynamic landscape. Through IBM Skills Network, our expertly designed training programs in AI, software development, cybersecurity, data science, business management, and more, provide the essential skills you need to secure your first job, advance your career, or drive business success. Whether you’re upskilling yourself or your team, our courses, Specializations, and Professional Certificates build the technical expertise that ensures you, and your organization, excel in a competitive world.
Scrimba
Course
Universidade de São Paulo
Course
Board Infinity
Course
222 reviews
84.88%
11.11%
1.33%
1.77%
0.88%
Showing 3 of 222
Reviewed on Aug 25, 2023
This course in amazing, educative and above all it's hands-on and easy to understand
Reviewed on Jun 19, 2023
This course was well planned and easy to follow. The demo lessons were very helpful with understanding how tests should be conducted. Great class, and great instructor.
Reviewed on Jun 16, 2023
Best tutorial with clear explanation and much practice. Thanks
Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription
Earn a degree from world-class universities - 100% online
Upskill your employees to excel in the digital economy
No. This is an introductory course that assumes no prior knowledge of DevOps.
You will need to sign up for a no-charge GitHub account and use other no-charge tools from IBM in your browser.
Access to lectures and assignments depends on your type of enrollment. If you take a course in audit mode, you will be able to see most course materials for free. To access graded assignments and to earn a Certificate, you will need to purchase the Certificate experience, during or after your audit. If you don't see the audit option:
The course may not offer an audit option. You can try a Free Trial instead, or apply for Financial Aid.
The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
When you enroll in the course, you get access to all of the courses in the Certificate, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.
If you subscribed, you get a 7-day free trial during which you can cancel at no penalty. After that, we don’t give refunds, but you can cancel your subscription at any time. See our full refund policy.
These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms. You can set your browser to block or alert you about these cookies, but some parts of the site will not then work.
These cookies may be set through our site by our advertising partners. They may be used by those companies to build a profile of your interests and show you relevant adverts on other sites. They are based on uniquely identifying your browser and internet device. If you do not allow these cookies, you will experience less targeted advertising.
These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us to know which pages are the most and least popular and see how visitors move around the site. If you do not allow these cookies we will not know when you have visited our site, and will not be able to monitor its performance.
These cookies enable the website to provide enhanced functionality and personalization. They may be set by us or by third party providers whose services we have added to our pages. If you do not allow these cookies then some or all of these services may not function properly.