Save for later

Introduction to Automated Analysis

Software Testing and Automation,

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.

Get Details and Enroll Now

OpenCourser is an affiliate partner of Coursera and may earn a commission when you buy through our links.

Get a Reminder

Send to:
Rating Not enough ratings
Length 5 weeks
Starts Jul 3 (46 weeks ago)
Cost $49
From University of Minnesota via Coursera
Instructors Mike, Kevin Wendt
Download Videos On all desktop and mobile devices
Language English
Subjects Programming IT & Networking
Tags Computer Science Software Development Computer Security And Networks

Get a Reminder

Send to:

Similar Courses

Careers

An overview of related careers and their average salaries in the US. Bars indicate income percentile.

Automated Service Technician $67k

Automated Support Specialist $71k

Automated Logistic Specialist $71k

Automated QA Analyst $76k

Automated assembly $78k

Automated QA $94k

IT Analysis $95k

Automated Systems Analyst 1 $95k

Automated QA Developer $97k

Automated Testing Engineer $98k

Senior Automated QA $119k

Automated Marketing Manager $131k

Write a review

Your opinion matters. Tell us what you think.

Rating Not enough ratings
Length 5 weeks
Starts Jul 3 (46 weeks ago)
Cost $49
From University of Minnesota via Coursera
Instructors Mike, Kevin Wendt
Download Videos On all desktop and mobile devices
Language English
Subjects Programming IT & Networking
Tags Computer Science Software Development Computer Security And Networks

Similar Courses

Sorted by relevance

Like this course?

Here's what to do next:

  • Save this course for later
  • Get more details from the course provider
  • Enroll in this course
Enroll Now