Software Testing and Automation Specialization

Develop Skills in Software Testing. Practice and master theory, techniques, and tools to effectively test software.

Instructors: Mike +2 more

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

  •   Verification And Validation
  •   Cucumber (Software)
  •   JUnit
  •   Acceptance Testing
  •   Software Testing
  •   Open Web Application Security Project (OWASP)
  •   Gherkin (Scripting Language)
  •   Test Automation
  •   Regression Testing
  •   Unit Testing
  •   Test Planning
  •   Security Testing
  • Specialization - 4 course series

    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.

    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.

    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.

    Black-box and White-box Testing

    Introduction to Automated Analysis

    Web and Mobile Testing with Selenium

    ©2025  ementorhub.com. All rights reserved