Hello! I’m Caro 🐳
I'm a PhD Student at the Software Engineering Research Group of TU Delft. My research centers around amplifying tests for and with developers: Embedding the developer's expertise into automatic test generation tools to generate test cases that they can use to improve their test suites 😊
My PhD advisor is Andy Zaidman and I'm part of the TestShift project.
How do we use a developer's expertise in automated tools?
How do we improve software with as little developer effort as possible?
How do we effectively use visual communication in software engineering?
How do we help SE researchers do rigorous, reproducible and impactful research?
Carolin Brandt · Andy Zaidman
Automatically generating test cases for software has been an active research topic for many years. While current tools can generate powerful regression or crash-reproducing test cases, these are often kept separately from the maintained test suite. In this paper, we leverage the developer’s familiarity with test cases amplified from existing, manually written developer tests. Starting from issues reported by developers in previous studies, we investigate what aspects are important to design a developer-centric test amplification approach, that provides test cases that are taken over by developers into their test suite. We conduct 16 semi-structured interviews with software developers supported by our prototypical designs of a developer-centric test amplification approach and a corresponding test exploration tool. We extend the test amplification tool DSpot, generating test cases that are easier to understand. Our IntelliJ plugin TestCube empowers developers to explore amplified test cases from their familiar environment. From our interviews, we gather 52 observations that we summarize into 23 result categories and give two key recommendations on how future tool designers can make their tools better suited for developer-centric test amplification.
Software Testing · Test Amplification · Test Exploration · Test Generation · Developer-Centric Design
Artifact Evaluation Committee
Organization Committee, responsible for Watch Parties and Gather.Town
Student Volunteer, responsible for Streaming in the Europe Timeband
Generating tests for and with developers using test amplification and visualization. Part of the TestShift project, supervised by Andy Zaidman.
For especially talented and motivated students. Advanced education in software engineering, formal methods, database systems, distributed systems and human-computer interaction. Highly selective admission: at most 20 students per year.
Introduction to Software Engineering. Operating Systems and Embedded Programming.
Computer science with a practical focus in games. Computer graphics, game physics, artificial intelligence, social games, human-computer interaction and usability.
Transformed pandas data analysis operations to SQL. Benchmarked against python running within the database process using GraalVM.
Extended ConQAT based analyses of requirements documents. Halved the code size by safely deleting no longer used research components. Developed automated UI test using Ranorex. Managed GitLab and development workflow.