К содержимому
learnspaceYOUR NEXT CHAPTER
ПРОСТРАНСТВО ОБУЧЕНИЯ
ГлавнаяКаталог курсовМоё обучениеCoursera

Знания без границ

Учитесь у лучших университетов и компаний мира.

Открыть Coursera
Интеграция
Пространство университета
Моё пространствоСтраница курса
↵
ЯЛичный кабинетСтудент
© 2026 LearnSpaceКаждый день — возможность узнать больше.Помощь
Introduction to Software Testing · LearnSpace
Назад в каталог
courseraПрограммирование

Introduction to Software Testing

Курс от University of Minnesota
Средний≈ 30 чАнглийский
О курсеНавыкиПрограммаПреподаватели

О курсе

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.

Навыки, которые вы освоите

Unit TestingJUnitCode CoverageSoftware TestingVerification And ValidationTest ToolsTest PlanningSoftware Quality AssuranceDevelopment TestingTest Script DevelopmentFunctional TestingWhite-Box TestingTechnical CommunicationTest DataTest CaseSystems Development Life CycleTest Automation

Программа курса

4 модулей · 65 учебных материалов

01Introduction15 материалов

Lesson 0: Welcome

Welcome to the Software Testing and Automation! ВидеоWelcome to the course!Чтение

Lesson 1: Introduction to Testing

IntroductionВидеоOverviewЗадание

Учитесь у экспертов

Sanjai Rayadurgam

Director

Kevin Wendt

Director of Graduate Studies, Software Engineering

Introduction to Software Testing
В каталоге вашей программы

Инвестируйте в себя

Новые знания — в удобное для вас время.

Начать на Coursera

Обучение откроется на Coursera
в новой вкладке

Обучение на Coursera

≈ 30 ч

4 модулей

Язык: Английский

Субтитры: Арабский, Французский, Бенгальский, Узбекский, Украинский, Китайский (Китай), Греческий, Итальянский, Бразильский португальский, Вьетнамский, Нидерландский, Корейский, Немецкий, Пушту, Урду, Русский, Тайский, Индонезийский, Шведский, Турецкий, Азербайджанский, Испанский, Дари, Хинди, Японский, Казахский, Венгерский, Польский

Часть программы вашего университета

Lesson 2: Why and How We Test

Why is software testing challenging?ВидеоOn the difficulty of software testingЗаданиеOn coverage testingОбсуждениеOn Test-Driven DevelopmentОбсуждение

Lesson 3: What is a Test?

What is a Test?ВидеоWhat is a Test?Задание

Lesson 4: What is a Test Suite?

Automation: Using a test frameworkВидеоAutomation: Using a Test FrameworkЗаданиеAutomation: Writing JUnit testsВидеоAutomation: Writing JUnit TestsЗадание

Lesson 5: Building Unit Tests

Building Unit TestsПрограммирование
02Testing Foundations18 материалов

Lesson 1: Testing Principles

Dependability DefinitionsВидеоDependability QuizЗаданиеTesting PrinciplesВидеоTesting Principles: WhereВидеоTesting Principles: WhereЗаданиеTesting Principles: HowВидеоTesting Principles: HowЗаданиеTesting Principles: Why?ОбсуждениеTesting: Commonality vs. SpecificityОбсуждение

Lesson 2: Testing Principles: When (V Model)

The "V Model" of Software DevelopmentВидеоThe V-Model QuizЗаданиеValidation and Verification in the "V Model"ВидеоValidation and Verification in the "V-Model" QuizЗадание

Lesson 3: Introduction to Systematic Testing

Structural TestingВидеоStructural TestingЗаданиеMutation TestingВидеоMutation TestingЗадание

Assessing Your Knowledge (Summative Quiz)

On Basic Testing Terminology, Dependability, and Testing PrinciplesЗадание
03Testing in the Software Development Lifecycle21 материалов

Lesson 1: Fundamental Testing Processes

What is a test plan?ВидеоWhat is a Test Plan?ЗаданиеImportance of a Good Test PlanВидеоImportance of a Good Test PlanЗаданиеStages of Software Testing ProcessВидеоStages of Software Testing ProcessЗаданиеTest (Status) ReportsВидеоTest (Status) ReportsЗаданиеRisk-based Test PlanningВидеоRisk Based Test PlanningЗадание

Lesson 2: Software Defect Reports

Software Defect ReportsВидеоSoftware Defect ReportsЗаданиеSoftware Defect Reports: AnalysisВидеоSoftware Defect Reports: AnalysisЗаданиеSoftware Defect Reports: ReportingВидеоSoftware Defect Reports: ReportingЗадание

Lesson 3: Building a test plan (Peer Assessment)

Building a test planВзаимная проверка
04Writing Good Unit Tests11 материалов

Lesson 1: Test Doubles

Test Doubles: IntroductionВидеоTest Doubles: IntroductionЗаданиеTest Doubles: InputВидеоTest Doubles: InputЗаданиеTest Doubles: OutputВидеоTest Doubles: OutputЗадание

Lesson 2: Assessing Adequacy

Assessing Adequacy and Code Coverage Analysis with JaCoCoВидео

Lesson 3: Flakey Tests and How to Avoid Them

Flakey Tests and How to Avoid ThemВидео

Lesson 4: Hands on with jUnit, JaCoCo, and Mockito

Writing Unit Tests for the Coffee MakerПрограммированиеChecking Coverage with JaCoCoПрограммированиеAdding Mocks and StubsПрограммирование
Software Defect Reports: Report ContentВидео
Software Defect Reports: Report ContentЗадание
Software Defect Reports: Track, Retest, and CloseВидео
Software Defect Reports: Track, Retest, and CloseЗадание