Introduction to Software Testing (Coursera)

Introduction to Software Testing (Coursera)
Course Auditing
Categories
Effort
Certification
Languages
Experience with an object-oriented programming language (preferably Java). Ability to install and run an IDE (Eclipse recommended).
Misc

MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Introduction to Software Testing (Coursera)
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.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

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).

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.


Course 1 of 4 in the Software Testing and Automation Specialization.


What You Will Learn

- 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.


Syllabus


WEEK 1

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.


WEEK 2

Testing Foundations

In this module, you will investigate a variety of testing principles, models of testing, and types of systematic testing strategies.


WEEK 3

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.


WEEK 4

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.



0
No votes yet

MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Course Auditing
44.00 EUR/month
Experience with an object-oriented programming language (preferably Java). Ability to install and run an IDE (Eclipse recommended).

MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.