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

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

Cours
en
Anglais
15 h
Ce contenu est noté 0 sur 5
Source
  • Sur www.edx.org
Conditions
  • À son rythme
  • Accès libre
  • Certificat payant
Plus d'informations
  • 5 séquences
  • Niveau Intermédiaire

Their employees are learning daily with Edflex

  • Safran
  • Air France
  • TotalEnergies
  • Generali
Découvrir Edflex

Détails du cours

Déroulé

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.

Prérequis

Introductory knowledge of programming, specifically with Java.

Intervenants

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

Éditeur

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)

Plateforme

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.

Ce contenu est noté 4.5 sur 5
(aucun avis)
Ce contenu est noté 4.5 sur 5
(aucun avis)
Complétez cette ressource pour donner votre avis