Online Course – Certified Professional Internship in Software Testing and Automation from Google and the University of Minnesota

Develop skills in software testing. Practice and refine theory, techniques, and tools to test software effectively.

Suggested by: Coursera (What is Coursera?)

Professional Certificate

Intermediate level

No prior knowledge required

Time to complete the course

7-day free trial

No unnecessary risks

Skills you will acquire in the course

  • Unit Testing
  • Testing Automation
  • Static Analysis
  • White-box Testing Techniques
  • Black-box Testing Techniques

What you will learn in the course

Courses for which the course is suitable

  • Software developer
  • Software tester
  • Automated testing developer
  • QA Engineer
  • Web and mobile testing developer
  • Test Analyst
  • Testing Project Manager

Internship – a four-part course series

This specialization is designed for beginning to intermediate developers who are interested in developing knowledge and skills in applying testing techniques and tools to the development of their projects. Over the four courses, you will cover:

  • Black box and white box testing
  • Automated tests
  • Web and mobile testing
  • Formal testing theory and techniques

Which will prepare you to plan and conduct effective testing of your software.

Hands-on Learning Project

Learners will understand:

  • Test plans
  • Test sets
  • Test analysis reports

Learners will develop attributes and declarations in code to facilitate the creation of automated tests. Learners will also create preconditions for methods to facilitate formal proofs of correctness.

Details of the courses that make up the specialization

Introduction to Software Testing

  • Course 1 • 30 hours • 4.4 (734 ratings)

Course Details

What will you learn?
  • Understand the theory of software testing.
  • Practice writing tests for various quality objectives, including code coverage, defect detection, and statistical testing.
  • Develop test plans to guide the testing phase of the software development life cycle.
  • Create defect reports to provide transparency and understanding to managers, colleagues, and users.
Skills you have acquired
  • Category: Writing defect reports
  • Writing defect reports
  • Category: Writing Tests
  • Writing tests
  • Category: Vocabulary in tests
  • Vocabulary in tests
  • Category: Writing test programs
  • Writing test programs
  • Category: Understanding Testing Theory
  • Understanding testing theory
  • Black box and white box testing

Introduction to Software Testing

  • Course 2 • 26 hours • 3.7 (100 ratings)

Course Details

What will you learn?
  • Assess the competency to review the requirements.
  • Define testable units in the program specification.
  • You will select and implement input selection methods for black box testing, including boundary value analysis, phasing, and random selection.
  • Develop automated tests and an oracle for automated accuracy for software data generation.
Skills you have acquired
  • Category: Software Testing
  • Software testing
  • Category: Performing tests
  • Performing tests
  • Category: Writing Tests
  • Writing tests
  • Category: Junit
  • Junit
  • Category: Cucumber
  • Cucumber

Introduction to automated analysis

  • Course 3 • 19 hours • 4.2 (77 ratings)

Course Details

What will you learn?
  • This course introduces advanced techniques for automated analysis. Automated analysis includes approaches to generating a very large number of tests to check whether software meets requirements, as well as ways to prove that the software conforms to requirements and is free from common defects such as division by zero, weighting/underweighting, locking, freedom from race conditions, buffer overflows/underruns, uncaught exceptions, and several other bugs that can cause software errors or security issues.
  • The learner will become familiar with the basic theory and applications of these approaches and apply automated analysis methods to example programs.
After completing the course, the learner will be able to:
  • Understand the basics of automated verification: randomization and symbolic representations
  • Distinguish between the advantages and disadvantages of random testing, symbolic analysis, static analysis, and model testing.
  • Use a variety of advanced static analysis and automated testing tools for automated verification
  • Create executable requirements as an oracle suitable for automated testing and symbolic analysis
  • Understand how Oracle selection impacts defect detection for automated analysis strategies
  • Use automated testing to achieve full mutation coverage
  • Create a test plan that utilizes both manually written and automated tests to maximize accuracy, minimize effort and time, and reduce testing costs.
This course is designed for learners who are interested in understanding the principles of automation and the application of analysis tools to software testing. This knowledge will be useful for a variety of roles, such as:
  • Software Engineer
  • Software Test Engineer
  • Test Automation Engineer
  • DevOps Engineer
  • Software developer
  • programmer
  • Computer enthusiast
Course requirements:
  • Introduction to the software development life cycle
  • Understanding of software testing fundamentals, such as those covered in Introduction to Software Testing and Black Box and White Box Testing.
  • Familiarity with an object-oriented language such as Java or the ability to quickly learn Java syntax to write and modify code, and a willingness to use preferred tools and IDEs.
Skills you have acquired
  • Category: Software Testing
  • Software testing
  • Category: Formal verification
  • Formal verification
  • Category: Test Automation
  • Test automation

Web and mobile testing with Selenium

  • Course 4 • 20 hours • 4.0 (70 ratings)

Course Details

What will you learn?
  • Modern applications we build always involve interaction with users through web-based and mobile platforms.
  • Users interact with the software through these interfaces, and the experiences these interfaces provide greatly influence the perceived quality of the software.
  • The pace at which modern applications launch new versions and features requires careful prioritization of testing efforts and rapid execution through automation.
  • The techniques and methods for testing such applications will be the focus of the course.
  • We will cover key concepts related to testing web and mobile platforms, basic techniques, and using Selenium as a framework for automating such application testing.
The learner will acquire a solid foundation in web and mobile testing principles and the ability to use a testing framework to automate test execution.