Observation-based unit test generation at Meta

Fuente: arXiv
Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Alshahwan, Nadia, Harman, Mark, Marginean, Alexandru, Tal, Rotem, Wang, Eddy
Format: Preprint
Veröffentlicht: 2024
Schlagworte:
Online-Zugang:
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
_version_ 1866916118799581184
author Alshahwan, Nadia
Harman, Mark
Marginean, Alexandru
Tal, Rotem
Wang, Eddy
author_facet Alshahwan, Nadia
Harman, Mark
Marginean, Alexandru
Tal, Rotem
Wang, Eddy
contents TestGen automatically generates unit tests, carved from serialized observations of complex objects, observed during app execution. We describe the development and deployment of TestGen at Meta. In particular, we focus on the scalability challenges overcome during development in order to deploy observation-based test carving at scale in industry. So far, TestGen has landed 518 tests into production, which have been executed 9,617,349 times in continuous integration, finding 5,702 faults. Meta is currently in the process of more widespread deployment. Our evaluation reveals that, when carving its observations from 4,361 reliable end-to-end tests, TestGen was able to generate tests for at least 86\% of the classes covered by end-to-end tests. Testing on 16 Kotlin Instagram app-launch-blocking tasks demonstrated that the TestGen tests would have trapped 13 of these before they became launch blocking.
format Preprint
id arxiv_https___arxiv_org_abs_2402_06111
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Observation-based unit test generation at Meta
Alshahwan, Nadia
Harman, Mark
Marginean, Alexandru
Tal, Rotem
Wang, Eddy
Software Engineering
TestGen automatically generates unit tests, carved from serialized observations of complex objects, observed during app execution. We describe the development and deployment of TestGen at Meta. In particular, we focus on the scalability challenges overcome during development in order to deploy observation-based test carving at scale in industry. So far, TestGen has landed 518 tests into production, which have been executed 9,617,349 times in continuous integration, finding 5,702 faults. Meta is currently in the process of more widespread deployment. Our evaluation reveals that, when carving its observations from 4,361 reliable end-to-end tests, TestGen was able to generate tests for at least 86\% of the classes covered by end-to-end tests. Testing on 16 Kotlin Instagram app-launch-blocking tasks demonstrated that the TestGen tests would have trapped 13 of these before they became launch blocking.
title Observation-based unit test generation at Meta
topic Software Engineering
url https://arxiv.org/abs/2402.06111