Software Testing for Complex Intelligent Systems and Autonomous Vehicles Course

Exactpro experts conducted an online course on Software Testing for Complex Intelligent Systems and Autonomous Vehicles. The course provided a deeper dive into the theoretical foundations of testing autonomous AI-based systems. The practical sessions gave participants the skills they need to create test scenarios for testing autonomous vehicles (the Apollo simulator) using the LGSVL road simulator developed by LG's research division.

Lecture 1 — Autonomous Driving and Software Testing

In this first lecture on Autonomous Driving and Software Testing, we look at the structural and qualitative properties of artificial intelligence systems and the risks associated with autonomous intelligent systems. We demonstrate that software testing is a way to reduce the risks associated with AI systems. We also talk about how the intersection of artificial intelligence and software testing is a new and very promising scientific and professional field.

Lecture 1: Q&A. Autonomous driving and software testing

This is a recording of a Q&A session based on Lecture 1.

Seminar 1 - Launching the LGSVL Simulator

This is a recording of Seminar 1.

Lecture 2 — Introduction to Self-driving Cars

The second lecture entitled Introduction to Self-driving Cars reviews the definition, design, and technology behind self-driving cars, as well as the ‘Levels of driving automation’ in the self-driving vehicles standard released by SAE International. The lecture also provides an overview of some of the major milestones related to autonomous driving technology and touches upon the industrial experience in quality assessment of autonomous vehicles.

Lecture 2: Q&A - Introduction to self-driving cars

This is a recording of a live Q&A session based on Lecture 2. 

Seminar 2 - Setting up a Python IDE

This is a recording of Seminar 2. 

Lecture 3 — Application Programming Interface

The third lecture entitled Application Programming Interface reviews the definition and main functions of the application programming interface, API types, examples, their industrial context. The lecture emphasises the importance of testing APIs as a specific level of interaction within complex multicomponent systems.

Lecture 3: Q&A - Application programming interface

This is a recording of a live Q&A session based on Lecture 3.

Seminar 3 - Unit Testing

This is a recording of Seminar 3.

Lecture 4 — Foundations of Software Testing

The fourth lecture of the course entitled Foundations of Software Testing reviews the ‘absence-of-errors fallacy’ and other principles of software testing, as well as the types and levels of software testing. The lecture also provides a fuller picture of the understanding of test objectives and methodologies by different schools of thought within the software testing domain.

Lecture 5—Build Software to Test Software

The fifth lecture of the course entitled Build Software to Test Software focuses on the general concept of automation – reviews its definition and applicability to different functional areas – and discusses test automation in particular, going over test tools and their types in relation to the basic types of software testing and requirements to their technology sophistication level. The lecture also raises the question of the human role in the automation process.

Lecture 5: Q&A - Build Software to Test Software

This is a recording of a live Q&A session based on Lecture 5.

Seminar 5 - Data and Keyword Driven Testing

This is a recording of Seminar 5.

Lecture 6 — Reliability and Safety

Lecture 6 titled Reliability and Safety reviews software quality characteristics and risks associated with software in different functional areas. It also touches upon the regulatory requirements for the reliability and safety of automated systems as well as some ethical aspects of artificial intelligence systems.

Lecture 6: Q&A—Reliability and safety

This is a recording of a live Q&A session based on Lecture 6. 

Seminar 6 - Data Analysis and Reporting

This is a recording of Seminar 6.

Lecture 7 — Software Defects and Metrics

Lecture 7 of the course entitled Software Defects and Metrics talks about  identifying software defects as the main objective of software testing. The lecture discusses the concept of software quality – reviewing the definitions of error, defect, software failure – and touches upon the quantitative indicators of software quality, such as metrics, their types, their role in the testing process and test management, their informational value, and influence on the decision-making process.

Lecture 7: Q&A Software defects and metrics

This is a recording of a live Q&A session based on Lecture 7.

Seminar 7 - Running Apollo (Part 1)

This is a recording of Seminar 7( Part 1). 

Seminar 7 - Running Apollo (Part 2)

This is a recording of Seminar 7 (Part 2).

Lecture 8 — Software Negligence and Testing Coverage

The eighths and final lecture of the course entitled Software Negligence and Testing Coverage talks about the concepts of negligence and malpractice in software development and software testing, the question of the liability for the consequences of software failures. The lecture also discusses the impossibility of exhaustive testing principle, test coverage and its many types. 

Lecture 8: Q&A - Software negligence and testing coverage

This is a recording of a live Q&A session based on Lecture 8.

Seminar 8 - Modeling Test Scenarios

This is a recording of Seminar 8.