Sie befinden Sich nicht im Netzwerk der Universität Paderborn. Der Zugriff auf elektronische Ressourcen ist gegebenenfalls nur via VPN oder Shibboleth (DFN-AAI) möglich. mehr Informationen...
Ergebnis 1 von 5
Science of computer programming, 2024-12, Vol.238, p.103157, Article 103157
2024
Volltextzugriff (PDF)

Details

Autor(en) / Beteiligte
Titel
Latch: Enabling large-scale automated testing on constrained systems
Ist Teil von
  • Science of computer programming, 2024-12, Vol.238, p.103157, Article 103157
Ort / Verlag
Elsevier B.V
Erscheinungsjahr
2024
Quelle
Access via ScienceDirect (Elsevier)
Beschreibungen/Notizen
  • Testing is an essential part of the software development cycle. Unfortunately, testing on constrained devices is currently very challenging. First, the limited memory of constrained devices severely restricts the size of test suites. Second, the limited processing power causes test suites to execute slowly, preventing a fast feedback loop. Third, when the constrained device becomes unresponsive, it is impossible to distinguish between the test failing or taking very long, forcing the developer to work with timeouts. Unfortunately, timeouts can cause tests to be flaky, i.e., have unpredictable outcomes independent of code changes. Given these problems, most IoT developers rely on laborious manual testing. In this paper, we propose the novel testing framework Latch (Large-scale Automated Testing on Constrained Hardware) to overcome the three main challenges of running large test suites on constrained hardware, as well as automate manual testing scenarios through a novel testing methodology based on debugger-like operations—we call this new testing approach managed testing. The core idea of Latch is to enable testing on constrained devices without those devices maintaining the whole test suite in memory. Therefore, programmers script and run tests on a workstation which then step-wise instructs the constrained device to execute each test, thereby overcoming the memory constraints. Our testing framework further allows developers to mark tests as depending on other tests. This way, Latch can skip tests that depend on previously failing tests resulting in a faster feedback loop. Finally, Latch addresses the issue of timeouts and flaky tests by including an analysis mode that provides feedback on timeouts and the flakiness of tests. To illustrate the expressiveness of Latch, we present testing scenarios representing unit testing, integration testing, and end-to-end testing. We evaluate the performance of Latch by testing a virtual machine against the WebAssembly specification, with a large test suite consisting of 10,213 tests running on an ESP32 microcontroller. Our experience shows that the testing framework is expressive, reliable and reasonably fast, making it suitable to run large test suites on constrained devices. Furthermore, the debugger-like operations enable to closely mimic manual testing. •A test framework, Latch, for large-scale automated testing on constrained hardware.•A test specification language utilizing debug operations.•A prototype implementation of the test specification language.•We showcase Latch's versatility with example unit, integration, and end-to-end tests.•Performance evaluation based on 10,213 tests implemented in Latch.
Sprache
Englisch
Identifikatoren
ISSN: 0167-6423
DOI: 10.1016/j.scico.2024.103157
Titel-ID: cdi_crossref_primary_10_1016_j_scico_2024_103157

Weiterführende Literatur

Empfehlungen zum selben Thema automatisch vorgeschlagen von bX