Software Testing and Automation Specialization
Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.
Software Testing and Automation Specialization
Develop Skills in Software Testing.
Practice and master theory, techniques, and tools to effectively test software.
Instructors: Mike
81,775 already enrolled
Included with
Learn more
Ask Coursera
from 1,021 reviews of courses in this program
Recommended experience
from 1,021 reviews of courses in this program
Recommended experience
What you'll learn
Distinguish between verification and validation describing the key differences between them.
Write automated functional tests for both front-end and back-end code
Measure the fault-finding effectiveness of a functional test suite using mutation testing.
Defend program correctness through the use of formal methods, specifically proof obligations and model checking.
Skills you'll gain
Details to know
See how employees at top companies are mastering in-demand skills
Advance your subject-matter expertise
- Learn in-demand skills from university and industry experts
- Master a subject or tool with hands-on projects
- Develop a deep understanding of key concepts
- Earn a career certificate from University of Minnesota
Specialization - 4 course series
This Specialization is intented for beginning to intermediate software developers seeking to develop knowledge and skill in implementing testing techniques and tools in the development of their projects. Through four courses, you will cover black-box and white-box testing, automated testing, web & mobile testing, and formal testing theory and techniques, which will prepare to you to plan and perform effective testing of your software.
Applied Learning Project
Learners will build test plans, test suites, and test analysis reports. Learners will develop properties and assertions in code to facilitate automated test generation. Learners will also create pre-conditions for methods to facilitate formal proofs of correctness.
Introduction to Software Testing
What you'll 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.
Skills you'll gain
Black-box and White-box Testing
What you'll learn
You will evaluate testability of requirements
You will define testable units within a program specification
You will select and apply black-box test input selection methods, including boundary-value analysis, fuzzing, and random selection
You will develop automated tests and test oracles for automated software verification.
Skills you'll gain
Introduction to Automated Analysis
What you'll learn
This course introduces state-of-the-art techniques for automated analysis. Automated analysis encompasses both approaches to automatically generate a very large number of tests to check whether programs meet requirements, and also means by which it is possible to *prove* that software meets requirements and that it is free from certain commonly-occurring defects, such as divide-by-zero, overflow/underflow, deadlock, race-condition freedom, buffer/array overflow, uncaught exceptions, and several other commonly-occurring bugs that can lead to program failures or security problems. The learner will become familiar with the fundamental theory and applications of such approaches, and apply a variety of automated analysis techniques on example programs.
After completing this course, a learner will be able to: - Understand the foundations of automated verification: randomization and symbolic representations - Distinguish the strengths and weaknesses of random testing, symbolic analysis, static analysis, and model checking - Use a variety of state-of-the-art static analysis and automated testing tools for automated verification - Create executable requirements as an oracle suitable for automated testing and symbolic analysis - Understand how the choice of oracle affects fault-finding for automated analysis strategies. - Use automated testing to achieve full mutation coverage - Create a test plan that utilizes both manually-written tests and automated tests towards maximizing rigor, minimizing effort and time, and minimizing test costs. This course is intended for learners interested in understanding the principles of automation and the application of tools for analysis and testing of software This knowledge would benefit several typical roles: Software Engineer, Software Engineer in Test, Test Automation Engineer, DevOps Engineer, Software Developer, Programmer, Computer Enthusiast. We expect that you have some familiarity with the Software development Life-Cycle, an understanding of the fundamentals of software testing, similar to what is covered in the Introduction to Software Testing and Black-box and White-Box Testing Courses. Familiarity with an object-oriented language such as Java or ability to pick-up Java syntax quickly to write and modify code, and willingness to use tools and IDEs are assumed.
Skills you'll gain
Web and Mobile Testing with Selenium
What you'll learn
Modern applications that we build invariably have touch-points with its users through web-based and mobile platforms. Users interact with the software through these interfaces and the experiences those interfaces provide have a strong influence on the perceived quality of the software.
The pace at which modern applications deploy new versions and features call for careful prioritization of testing effort and rapid execution through automation. Techniques and methods for testing of such applications will be the focus of this course. We will cover key concepts relevant to testing of web and mobile platforms, underlying techniques and the use of Selenium as a framework for automating testing of such applications. The learner will gain a solid foundation in web and mobile testing principles and the ability to use a testing framework to automate test execution.
Skills you'll gain
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Offered by
Why people choose Coursera for their career
Frequently asked questions
This course is completely online, so thereβs no need to show up to a classroom in person. You can access your lectures, readings and assignments anytime and anywhere via the web or your mobile device.
Yes! To get started, click the course card that interests you and enroll. You can enroll and complete the course to earn a shareable certificate. When you subscribe to a course that is part of a Specialization, youβre automatically subscribed to the full Specialization. Visit your learner dashboard to track your progress.
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.
More questions
Financial aid available,
