What Is Programming? And How To Get Started
January 28, 2025
Article
This course is part of Software Testing and Automation Specialization
Instructors: Sanjai Rayadurgam
Instructor ratings
We asked all learners to give feedback on our instructors based on the quality of their teaching style.
111,855 already enrolled
Included with
(761 reviews)
Recommended experience
Intermediate level
Experience with an object-oriented programming language (preferably Java). Ability to install and run an IDE (Eclipse recommended).
(761 reviews)
Recommended experience
Intermediate level
Experience with an object-oriented programming language (preferably Java). Ability to install and run an IDE (Eclipse recommended).
You will gain an understanding of the theory of testing.
You will practice writing tests for a variety of quality intent, including code coverage, defect finding, and statistical testing.
You will develop test plans to guide the testing stage of the software development lifecycle.
You will create defect reports to provide transparency and understanding to supervisors, colleagues, and users.
Add to your LinkedIn profile
26 assignments
Add this credential to your LinkedIn profile, resume, or CV
Share it on social media and in your performance review
After completing this course, you will have an understanding of the fundamental principles and processes of software testing. You will have actively created test cases and run them using an automated testing tool. You will being writing and recognizing good test cases, including input data and expected outcomes.
After completing this course, you will be able to… - Describe the difference between verification and validation. - Explain the goal of testing. - Use appropriate test terminology in communication; specifically: test fixture, logical test case, concrete test case, test script, test oracle, and fault. - Describe the motivations for white and black box testing. - Compare and contrast test-first and test-last development techniques. - Measure test adequacy using statement and branch coverage. - Reason about the causes and acceptability of and poor coverage - Assess the fault-finding effectiveness of a functional test suite using mutation testing. - Critique black-box and white-box testing, describing the benefits and use of each within the greater development effort. - Distinguish among the expected-value (true), heuristic, consistency (as used in A/B regression), and probability test oracles and select the one best-suited to the testing objective. - Craft unit and integration test cases to detect defects within code and automate these tests using JUnit. To achieve this, students will employ test doubles to support their tests, including stubs (for state verification) and mocks (for behavioral verification) (https://martinfowler.com/articles/mocksArentStubs.html). This course is primarily aimed at those learners interested in any of the following roles: Software Engineer, Software Engineer in Test, Test Automation Engineer, DevOps Engineer, Software Developer, Programmer, Computer Enthusiast. We expect that you should have an understanding of the Java programming language (or any similar object-oriented language and the ability to pick up Java syntax quickly) and some knowledge of the Software Development Lifecycle.
In this module, you will be introduced to the basics of testing, especially the variety of terminology to be used through the rest of the course.
6 videos1 reading5 assignments1 programming assignment2 discussion prompts
In this module, you will investigate a variety of testing principles, models of testing, and types of systematic testing strategies.
8 videos8 assignments2 discussion prompts
In this module, you will learn about the social aspects of testing. We will learn about test plans, testing status reports, and defect reporting.
10 videos10 assignments1 peer review
In this module, you will learn about writing unit tests and gain practice in writing these tests through three coding assignments, each with additional testing sophistication.
5 videos3 assignments3 programming assignments
We asked all learners to give feedback on our instructors based on the quality of their teaching style.
Instructor ratings
We asked all learners to give feedback on our instructors based on the quality of their teaching style.
The University of Minnesota is among the largest public research universities in the country, offering undergraduate, graduate, and professional students a multitude of opportunities for study and research. Located at the heart of one of the nation’s most vibrant, diverse metropolitan communities, students on the campuses in Minneapolis and St. Paul benefit from extensive partnerships with world-renowned health centers, international corporations, government agencies, and arts, nonprofit, and public service organizations.
Board Infinity
Course
Course
University of Minnesota
Course
Course
761 reviews
63.56%
22.28%
6.94%
2.75%
4.45%
Showing 3 of 761
Reviewed on Jan 2, 2021
Expected knowledge of programming and use of Eclipse is more than I expect for this course. I cannot find where I can donwload the sources mentioned in the week 4 videos.
Reviewed on Jan 19, 2022
Course itself is very good. Minus one star for assignments where without forum help you are not capable to gain 10/10, even though tests are successful on your Pc
Reviewed on Sep 12, 2020
The course is great, a lot of general information and examples to work with. The test reviews are automated so little to none feedback is received to actually improve your grade.
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
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 Specialization, 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.
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.
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.