Introduction to Software Testing

2.9
Rated 2.9 out of 5

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.

WEEK 1
5 hours to complete
Introduction
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 videos (Total 66 min) 1 reading 6 quizzes

WEEK 2
2 hours to complete
Testing Foundations
In this module you will investigate a variety of testing principles models of testing and types of systematic testing strategies.
8 videos (Total 57 min)

WEEK 3
5 hours to complete
Testing in the Software Development Lifecycle
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 videos (Total 49 min)

WEEK 4
10 hours to complete
Writing Good Unit Tests
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 videos (Total 77 min)


Tham gia đánh giá khóa học

Nếu bạn đã học qua khóa học này thì mời bạn tham gia đóng góp ý kiến và đánh giá để cộng đồng bạn học có thêm thông tin tham khảo.

Cung cấp bởi: Coursera /  University of Minnesota

Thời lượng: 23 giờ
Ngôn ngữ giảng dạy: Tiếng Anh
Chi phí: Miễn phí / 0
Đối tượng: Intermediate

Thông tin về nhà cung cấp

Coursera (/ kərˈsɛrə /) là một nền tảng học tập trực tuyến toàn cầu được thành lập vào năm 2012 bởi 2 giáo sư khoa học máy tính của đại học Stanford là Andrew NgDaphne Koller, nền tảng này cung cấp các khóa học trực tuyến (MOOC) cho cộng đồng người học online.

Coursera hợp tác với các trường đại học danh tiếng tại Bắc Mỹ và trên khắp thế giới, cùng với nhiều tổ chức khác để cung cấp các khóa học trực tuyến chất lượng, theo chuyên ngành và được cấp chứng chỉ trong nhiều lĩnh vực như kỹ thuật, khoa học dữ liệu, học máy, toán học, kinh doanh, khoa học máy tính, tiếp thị kỹ thuật số, nhân văn, y học, sinh học, khoa học xã hội , và nhiều ngành khác.

Các khóa học cùng chủ đề

System Validation (3): Requirements by modal formulas

System Validation is the field that studies the fundamentals of system communication and information processing. It allows automated analysis based on behavioural models of a system to see if a...

Visual Perception for Self-Driving Cars

This course will introduce you to the main perception tasks in autonomous driving, static and dynamic object detection, and will survey common computer vision methods for robotic perception. By the...

Motion Planning for Self-Driving Cars

This course will introduce you to the main planning tasks in autonomous driving, including mission planning, behavior planning and local planning. By the end of this course, you will be...

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to Top