Automated Software Testing: Unit Testing, Coverage Criteria and Design for Testability

Automated Software Testing: Unit Testing, Coverage Criteria and Design for Testability

МООК
en
Английский
15 h
This content is rated 0 out of 5
Source
  • From www.edx.org
Conditions
  • Self-paced
  • Free Access
  • Fee-based Certificate
More info
  • 5 Sequences
  • Intermediate Level

Their employees are learning daily with Edflex

  • Safran
  • Air France
  • TotalEnergies
  • Generali
Learn more

Course details

Syllabus

Topic 1: Automated software testing

  • Understand some basic principles of testing and whyit requires creativity.
  • Get familiar withsome testing vocabulary, which improves our communication.
  • Devise our first set of tests for a Java program and automatethese testsusing JUnit.
  • Understand the differences between unit, integration, and system testing, as well as the testing pyramid.

Topic 2: Functional testing

  • Learn how to read a requirement and derive the partitions, which are the actual concrete tests we will perform to make sure our system works (we call it "partitioning" and "equivalent partitioning").
  • Learn how to think about and test possible corner cases, as developersoften forget to deal with such cases (we call itboundary testing).
  • Get a few tips, based on experience, on common corner cases.

Topic 3: Structural testing and code coverage

  • Learn how to analyze the structure of your source code and derive meaningful tests.
  • Be able to use the most popular structural testing adequacy criteria, such as line coverage, branch coverage, and path coverage as well as to understand their differences.
  • Derive a minimal set of tests when your branches (e.g., ifs) are too complex.
  • Use a standard industry code coverage tool and interpret its results.

Topic 4: Testability and mock objects

  • Understand the differences between different test levels (e.g., unit, integration, and system tests)
  • Understand what makes a system more or less testable.
  • Propose refactoring opportunities for increasing testability.
  • Be able to apply mock objects in order to unit test a class.
  • Understand when not to apply mock objects and go for integration tests.

Topic 5 : Test code smells

  • Judge the internal code quality of your test suite and advice possible improvements.
  • Understand and avoid flaky tests.
  • Refactor and clean smelly test code.

Prerequisite

Introductory knowledge of programming, specifically with Java.

Instructors

Arie van Deursen
Scientific Director ICAI AI for FinTech Research
Delft University of Technology

Maurício Aniche
Assistant Professor in Software Engineering
Delft University of Technology

Editor

L’université de technologie de Delft (en néerlandais : Technische Universiteit Delft), plus connue sous le nom de TU Delft est la plus ancienne et importante université publique des Pays-Bas.

Elle est implantée à Delft, aux Pays-Bas. Elle est positionnée dans le classement mondial des universités QS en 2022 parmi les 10 premières universités en ingénierie et technologie dans le monde. En architecture et génie civil, elle était classée 2e dans le monde, après le MIT (Massachusetts Institute of Technology)

Platform

EdX est une plateforme d'apprentissage en ligne (dite FLOT ou MOOC). Elle héberge et met gratuitement à disposition des cours en ligne de niveau universitaire à travers le monde entier. Elle mène également des recherches sur l'apprentissage en ligne et la façon dont les utilisateurs utilisent celle-ci. Elle est à but non lucratif et la plateforme utilise un logiciel open source.

EdX a été fondée par le Massachusetts Institute of Technology et par l'université Harvard en mai 2012. En 2014, environ 50 écoles, associations et organisations internationales offrent ou projettent d'offrir des cours sur EdX. En juillet 2014, elle avait plus de 2,5 millions d'utilisateurs suivant plus de 200 cours en ligne.

Les deux universités américaines qui financent la plateforme ont investi 60 millions USD dans son développement. La plateforme France Université Numérique utilise la technologie openedX, supportée par Google.

This content is rated 4.5 out of 5
(no review)
This content is rated 4.5 out of 5
(no review)
Complete this resource to write a review