Introduction to Software Testing
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.
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
Syllabus - What you will learn from this course
Week 1
Introduction
Week 2
Testing Foundations
Week 3
Testing in the Software Development Lifecycle
Week 4
Writing Good Unit Tests
FAQ
When will I have access to the lectures and assignments?
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:
What will I get if I subscribe to this Specialization?
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.
Is financial aid available?
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.
Reviews
The programming assignment is a bit hard. But finally done. Nice course.
Fair, well organised, good amount of material. If you are totally new to programming/testing this is not your intro course.
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.
Advanced level, I think. Requires you to be experienced in software testing