VOOZH about

URL: https://www.coursera.org/specializations/software-testing-automation

⇱ Software Testing and Automation | Coursera


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.

81,775 already enrolled

Included with

β€’

Learn more

Ask Coursera

Get in-depth knowledge of a subject
4.2

from 1,021 reviews of courses in this program

Intermediate level

Recommended experience

2 months to complete
at 10 hours a week
Flexible schedule
Learn at your own pace

Get in-depth knowledge of a subject
4.2

from 1,021 reviews of courses in this program

Intermediate level

Recommended experience

2 months to complete
at 10 hours a week
Flexible schedule
Learn at your own pace

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.

Details to know

Shareable certificate

Add to your LinkedIn profile

Taught in English

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.

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

Category: Unit Testing
Category: Software Testing
Category: Code Coverage
Category: JUnit
Category: Verification And Validation
Category: Test Tools
Category: Test Script Development
Category: Functional Testing
Category: Development Testing
Category: Test Planning
Category: Test Case
Category: Software Quality Assurance
Category: Test Automation
Category: Systems Development Life Cycle
Category: White-Box Testing
Category: Technical Communication
Category: Test Data

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

Category: Cucumber (Software)
Category: Gherkin (Scripting Language)
Category: Code Coverage
Category: Software Testing
Category: Test Engineering
Category: Behavior-Driven Development
Category: Test Automation
Category: JUnit
Category: Testability
Category: Functional Testing
Category: White-Box Testing
Category: Requirements Analysis
Category: Test Case
Category: Java Programming

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

Category: Software Testing
Category: Test Automation
Category: Regression Testing
Category: Test Tools
Category: Computer Programming Tools
Category: Verification And Validation
Category: Test Data
Category: Code Coverage
Category: Security Testing
Category: Test Case
Category: Application Security
Category: White-Box Testing
Category: Vulnerability Scanning
Category: Continuous Monitoring
Category: Software Development Tools
Category: Automation
Category: Functional Requirement

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

Category: Selenium (Software)
Category: Security Testing
Category: Performance Testing
Category: Functional Testing
Category: Open Web Application Security Project (OWASP)
Category: Test Script Development
Category: Mobile Development Tools
Category: Software Testing
Category: Performance Stress Testing
Category: Test Planning
Category: Test Tools
Category: Application Security
Category: Test Automation
Category: Test Execution Engine

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.

Instructors

University of Minnesota
2 Coursesβ€’31,960 learners

Why people choose Coursera for their career

πŸ‘ Image

Felipe M.

Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
πŸ‘ Image

Jennifer J.

Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
πŸ‘ Image

Larry W.

Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
πŸ‘ Image

Chaitanya A.

"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

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.

No, you cannot take this course for free. 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. If you cannot afford the fee, you can apply for financial aid.

This Specialization doesn't carry university credit, but some universities may choose to accept Specialization Certificates for credit. Check with your institution to learn more.

Financial aid available,